Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Starter Server

A TypeScript starter template for building Model Context Protocol (MCP) servers.

Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

npm install

Build

npm run build

Run

npm run dev

Architecture

  • src/index.ts - Main server file with tool definitions
  • tsconfig.json - TypeScript configuration
  • package.json - Dependencies and scripts

Adding Tools

Edit src/index.ts to add new tools:

  1. Define a Zod schema for input validation
  2. Add the tool to the tools array with name, description, and inputSchema
  3. Handle the tool in the CallToolRequestSchema handler

Example:

const MyToolSchema = z.object({
  param1: z.string().describe("Description"),
});

const tools: Tool[] = [
  {
    name: "my_tool",
    description: "What this tool does",
    inputSchema: {
      type: "object",
      properties: {
        param1: {
          type: "string",
          description: "Description",
        },
      },
      required: ["param1"],
    },
  },
];

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  const { name, arguments: args } = request;
  
  if (name === "my_tool") {
    const parsed = MyToolSchema.parse(args);
    return {
      content: [
        {
          type: "text",
          text: `Result: ${parsed.param1}`,
        },
      ],
    };
  }
});

Testing

Use the MCP Inspector to test your server:

npx @modelcontextprotocol/inspector node build/index.js

Next Steps

  1. Add your first custom tool
  2. Connect to an external API
  3. Test with MCP Inspector
  4. Deploy to production

Resources

About

TypeScript MCP Server Starter - A production-ready template for building Model Context Protocol servers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages