mcp-server-template-xmcp
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 devThis 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:
Create a new
.tsfile in thesrc/toolsdirectoryExport a
schemaobject defining the tool parameters using ZodExport a
metadataobject with tool informationExport 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 buildThis 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.jsSTDIO:
node dist/stdio.js
Alternatively, you can use the script which will automatically start the appropriate transport based on your project configuration:
npm run start
# or
yarn start
# or
pnpm startThe start script will automatically run either the HTTP or STDIO transport depending on which transport method was selected when you initialized the project.
Learn More
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sidneymiles02081983-commits/mcp-server-template-xmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server