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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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