MCP TypeScript SDK (13,080 Stars) 2026: Build Your First Model Context Protocol Server in TypeScript
The MCP TypeScript SDK (13,080 stars) is the official way to build Model Context Protocol servers and clients in TypeScript. Here is a complete minimal server example.
💡 What You Will Learn
The MCP TypeScript SDK (13,080 stars) is the official way to build Model Context Protocol servers and clients in TypeScript. Here is a complete minimal server example.
📜 Table of Contents
The short answer
modelcontextprotocol/typescript-sdk (13,080 stars, TypeScript) is the official TypeScript SDK for Model Context Protocol servers and clients. It gives you typed helpers for the JSON-RPC protocol - server registration, tool definitions, resource handling, and transport (stdio or HTTP) - so you can ship an MCP server in minutes.
Why build an MCP server
- Expose your app or data to AI assistants (Claude, Cursor) through a standard interface
- Reuse one integration across every MCP-capable client
- Keep tools typed and documented for the model
Minimal server in TypeScript
npm init -y
npm install @modelcontextprotocol/sdk zod
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "weather",
version: "1.0.0",
});
server.tool(
"get_forecast",
{ city: z.string() },
async ({ city }) => ({
content: [{ type: "text", text: `Forecast for ${city}: sunny, 24C` }],
})
);
const transport = new StdioServerTransport();
await server.connect(transport);
Build and run: npx tsc && node dist/index.js - then add it to any MCP client config.
Testing your server
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector node dist/index.js
The inspector UI lets you list tools, call them, and see raw JSON-RPC traffic.
Practical tips
- Define input schemas with zod - the model relies on them to call tools correctly.
- Prefer stdio for local clients; use the HTTP transport for remote servers.
- Handle errors by returning structured error content, not throwing.
FAQ
Do I need to know the raw protocol? No - the SDK wraps JSON-RPC; but reading the spec (8,869 stars) helps for advanced cases.
Can I build clients with it too? Yes - the SDK includes client classes for connecting to other servers.
Is it stable? It tracks the MCP spec revisions; pin your SDK version for production.
❓ FAQ
Do I need to know the raw protocol?
No - the SDK wraps JSON-RPC; but reading the spec (8,869 stars) helps for advanced cases.
Can I build clients with it too?
Yes - the SDK includes client classes for connecting to other servers.
Is it stable?
It tracks the MCP spec revisions; pin your SDK version for production.
Written by our editorial team; tools listed here are tested or verified against public sources. Links point to official sites or GitHub repos for reference only โ no paid placements.
