A simple TypeScript template for building Model Context Protocol (MCP) servers. This project provides a foundation for creating custom MCP tools that can be integrated with AI systems.
This template implements a basic MCP server with a sample BMI calculator tool. It demonstrates how to:
- Set up an MCP server in TypeScript
- Define and implement MCP tools with input validation using Zod
- Connect the server to standard I/O for communication
- Node.js (v20 or higher recommended)
- npm or yarn
- Clone this repository
- Install dependencies:
npm install
index.ts
- Main server implementation with sample toolpackage.json
- Project dependencies and scriptstsconfig.json
- TypeScript configuration
Build and start the server:
npm start
This will compile the TypeScript code and start the MCP server.
For development, you can:
- Modify
index.ts
to add your own tools - Run the build command to compile:
npm run build
To create a new tool, follow this pattern in index.ts
:
server.tool(
"your-tool-name",
{
// Define input schema using Zod
paramName: z.string(),
// Add more parameters as needed
},
async ({ paramName }) => ({
content: [{
type: "text",
text: "Your tool's response"
}]
})
);
@modelcontextprotocol/sdk
- Core MCP SDKzod
- Schema validationdotenv
- Environment variable managementtypescript
- TypeScript compiler
ISC
Contributions are welcome! Please feel free to submit a Pull Request.