A minimal Model Context Protocol server starter in TypeScript. Build custom AI tools in minutes.
MCP lets AI assistants like Claude and Cursor call your code — database queries, API calls, file operations, anything you can write a function for. This starter gives you a working server with everything wired up so you can skip the boilerplate and start building.
git clone https://github.com/tysoncung/mcp-server-starter.git
cd mcp-server-starter
npm installRun in development mode (hot reload):
npm run devThat's it. Your MCP server is running.
A single example tool (echo) that demonstrates the pattern for defining MCP tools:
server.tool(
'echo', // Tool name
'Echo back the provided message', // Description for the AI
{ message: z.string().describe('Message text') }, // Input schema (Zod)
async ({ message }) => { // Handler
return { content: [{ type: 'text', text: `Echo: ${message}` }] };
},
);To add your own tools, follow the same pattern in src/server.ts. Define a name, describe what it does, declare the inputs with Zod, and write the handler.
Build the project first:
npm run buildEdit your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"starter": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-starter/dist/index.js"]
}
}
}Restart Claude Desktop and your tools will be available.
Open Cursor Settings → MCP → Add Server, or edit .cursor/mcp.json in your project:
{
"mcpServers": {
"starter": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-starter/dist/index.js"]
}
}
}| Command | Description |
|---|---|
npm run dev |
Start with hot reload (tsx watch) |
npm run build |
Compile TypeScript to dist/ |
npm start |
Run compiled output |
npm test |
Run tests |
src/
├── server.ts # Server setup & tool definitions
├── index.ts # Entry point (stdio transport)
└── __tests__/
└── server.test.ts # Tool tests
- Node.js ≥ 20
- npm
This free starter gets you up and running with one example tool and stdio transport. The Pro Starter Kit gives you everything you need to ship production MCP servers:
| Free | Pro | |
|---|---|---|
| Tools | 1 example | 5 production-ready templates |
| Tool templates | — | Database, REST API, filesystem, web scraper, code runner |
| Transport | stdio | stdio + SSE (remote clients) |
| Authentication | — | API key + JWT middleware |
| Rate limiting | — | ✅ Built-in |
| Logging | — | Structured logging middleware |
| Testing | Basic | Full test suite with Vitest |
| Docker | — | Dockerfile + docker-compose |
| Deployment | — | AWS CDK infrastructure |
| Error handling | Basic | Production-grade with retries |
| Linting | — | ESLint + Prettier configured |
- 5 tool templates you can copy and customize — not just echo, but real patterns for databases, REST APIs, file systems, web scraping, and code execution
- Dual transport — serve over stdio for local use and SSE for remote clients, both from the same codebase
- Auth middleware — API key and JWT authentication out of the box
- Rate limiting — protect your server from runaway AI requests
- Structured logging — know exactly what your server is doing in production
- Docker + AWS CDK — deploy anywhere with one command
- Full test suite — every tool tested, CI-ready
Skip the hours of setup. Start building production MCP tools today.
MIT — see LICENSE
I Built a Production MCP Server Kit — Here's What I Learned — the design decisions, architecture, and lessons from building production MCP servers.
