Skip to main content
Glama

xmcp Application

This project was created with create-xmcp-app.

Getting Started

First, run the development server:

npm run dev # or yarn dev # or pnpm dev

This will start the MCP server with the selected transport method.

Project Structure

This project uses the structured approach where tools are automatically discovered from the src/tools directory. Each tool is defined in its own file with the following structure:

import { z } from "zod"; import { type InferSchema } from "xmcp"; // Define the schema for tool parameters export const schema = { a: z.number().describe("First number to add"), b: z.number().describe("Second number to add"), }; // Define tool metadata export const metadata = { name: "add", description: "Add two numbers together", annotations: { title: "Add Two Numbers", readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, }; // Tool implementation export default async function add({ a, b }: InferSchema<typeof schema>) { return { content: [{ type: "text", text: String(a + b) }], }; }

Adding New Tools

To add a new tool:

  1. Create a new .ts file in the src/tools directory

  2. Export a schema object defining the tool parameters using Zod

  3. Export a metadata object with tool information

  4. Export a default function that implements the tool logic

Building for Production

To build your project for production:

npm run build # or yarn build # or pnpm build

This will compile your TypeScript code and output it to the dist directory.

Running the Server

You can run the server for the transport built with:

  • HTTP: node dist/http.js

  • STDIO: node dist/stdio.js

Given the selected transport method, you will have a custom start script added to the package.json file.

For HTTP:

npm run start-http # or yarn start-http # or pnpm start-http

For STDIO:

npm run start-stdio # or yarn start-stdio # or pnpm start-stdio

Authentication

All requests to the MCP server must include an API key in the x-api-key header. You can set your API key in the .env file using the YOUTUBE_MCP_API_KEY variable.

Example:

YOUTUBE_MCP_API_KEY=your-secret-key

Requests without a valid API key will be rejected with a 401 error and a friendly message.

How to use:

curl -H "x-api-key: your-secret-key" http://localhost:3002/mcp

Learn More

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/burkeholland/youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server