Modern, Flexible, Composable MCP servers SDK
TMCP is a powerful TypeScript SDK that makes building MCP servers elegant, type-safe, and effortless. Ship production-ready servers in minutes, not hours.
Write Less. Build More.
Intuitive APIs that feel natural to TypeScript developers
import { McpServer } from 'tmcp';
import { tool } from 'tmcp/utils';
import { ValibotJsonSchemaAdapter } from '@tmcp/adapter-valibot';
import { StdioTransport } from '@tmcp/transport-stdio';
import * as v from 'valibot';
export const server = new McpServer(
{
name: 'my-awesome-server',
version: '1.0.0',
},
{
adapter: new ValibotJsonSchemaAdapter(),
capabilities: {
tools: {},
},
},
);
server.tool(
{
name: 'add',
description: 'Adds two numbers',
schema: v.object({
first: v.number(),
second: v.number(),
}),
},
({ first, second }) => {
return tool.text(`${first}+${second} is ${first + second}`);
},
);
const stdio = new StdioTransport(server);
stdio.listen();
import { server } from './my-mcp-server.js';
import { HttpTransport } from '@tmcp/http-transport';
import {
RedisStreamSessionManager,
RedisInfoSessionManager,
} from '@tmcp/session-manager-redis';
const transport = new HttpTransport(server, {
// only respond on the mcp path
path: '/mcp',
// built in session management, even for serverless
sessionManager: {
streams: new RedisStreamSessionManager('redis://localhost:6379'),
info: new RedisInfoSessionManager('redis://localhost:6379'),
},
});
Bun.serve({
async fetch(request) {
return (await transport.respond(request)) ?? render_website(request);
},
});
Everything You Need
Built for developers who demand quality and speed
Type-Safe
Full TypeScript support with intelligent autocomplete and compile-time validation. Catch errors before they reach production.
Lightning Fast
Optimized for performance with minimal overhead. Built on modern async patterns that scale effortlessly.
Developer First
Intuitive APIs designed around your workflow. Less boilerplate, more functionality. Build servers in minutes.
Modern
Use it with your favorite framework without any extra work. `tmcp` is based on Web Request and Web Response, the standard way of building MCP servers nowadays.