Skip to content
basementstudioPublic

About

The TypeScript MCP framework

Topics

Resources

Contributing

Security policy

Stars

1.3k stars

Watchers

3 watching

Forks

Latest commit

 

History

2,117 Commits

Folders and files

Repository files navigation

XMCP logo

xmcp

xmcp logo NPM version License

The TypeScript MCP framework

Build and ship MCP servers with the code you already know. Give AI applications access to your tools, data, and workflows. Write TypeScript functions; xmcp handles the protocol, validation, and transport.

Getting started

Create a new xmcp app:

npx create-xmcp-app@latest

Or add xmcp to an existing project:

npx init-xmcp@latest

A tool is a file. Export a schema, metadata, and a function, and xmcp registers it:

// src/tools/greet.ts
import { z } from "zod";
import { type InferSchema } from "xmcp";

export const schema = {
  name: z.string().describe("The name of the user to greet"),
};

export const metadata = {
  name: "greet",
  description: "Greet the user",
};

export default async function greet({ name }: InferSchema<typeof schema>) {
  return `Hello, ${name}!`;
}

Features

⊹ File system routing - Tools, prompts, and resources register automatically from their directories, with zero configuration
⊹ Middlewares - Add authentication, logging, rate limits, or custom logic to every request
⊹ Transports - Serve over HTTP or STDIO from the same code
⊹ Integrations - Authentication with Better Auth, Clerk, Auth0, WorkOS, Descope, Scalekit and Supabase; monetization with Polar, Commet and x402
⊹ Adapters - Run inside Next.js, Express, NestJS, Fastify, Hono, TanStack Start, Nuxt, SvelteKit, React Router or Astro
⊹ MCP Apps - Ship interactive React widgets alongside your tools
⊹ Deploy anywhere - Vercel, Cloudflare, Alpic, Replit, Railway, Render, or any Node.js host
⊹ Hot reloading - Instant feedback while you develop

Learn more

⊹ Visit xmcp.dev to learn more about the project.
⊹ Read the documentation for guides and API reference.
⊹ Start from a template.

Security

If you believe you have found a security vulnerability, we encourage you to let us know right away.

We will investigate all legitimate reports and do our best to quickly fix the problem.

Please report any vulnerabilities in our open source repositories to security@xmcp.dev.

About

The TypeScript MCP framework

Topics

Resources

Contributing

Security policy

Stars

1.3k stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages