MCP TypeScript Simple Template

by ChenReuven

4 stars
317 downloads
Not rated
GitHub

About

A lightweight, ready-to-use TypeScript template for building Model Context Protocol (MCP) servers. This template provides the essential scaffolding to create custom AI tools that can be seamlessly integrated with large language models.

Details

Author
ChenReuven
GitHub stars
4
Downloads
317
Categories
Developer Tools

- Simple TypeScript template for MCP servers
- Sample BMI calculator tool included
- Uses Zod for input validation
- Connects via standard I/O
- Demonstrates tool definition pattern

Clone the repository, install dependencies with npm install, then build and start the server using npm start. For development, modify index.ts to add your own tools and run npm run build to compile.

MCP TypeScript Simple Template

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.

Overview

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

Prerequisites

- Node.js (v20 or higher recommended)
- npm or yarn

Installation

1. Clone this repository
2. Install dependencies:

npm install

Project Structure

- index.ts - Main server implementation with sample tool
- package.json - Project dependencies and scripts
- tsconfig.json - TypeScript configuration

Usage

Building and Running

Build and start the server:

npm start

This will compile the TypeScript code and start the MCP server.

Development

For development, you can:

1. Modify index.ts to add your own tools
2. Run the build command to compile:

npm run build

Creating Custom Tools

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"
    }]
  })
);

Dependencies

- @modelcontextprotocol/sdk - Core MCP SDK
- zod - Schema validation
- dotenv - Environment variable management
- typescript - TypeScript compiler

License

ISC

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.