Ship production-ready MCP Servers in Minutes.

Build and deploy your servers in no time, and manage them all in one place. No separate CI/CD pipelines, no fragile deployments.

Quick start

From an empty folder to a deployable MCP server in three steps.

  1. Create your project

    One command scaffolds a server with a sample tool. Swapmy-express-mcp for your own project name.

    Terminal
    npm create @mcpexpress my-express-mcp
  2. Write your tools

    Each tool is one defineTool call insrc/tools/. Register it in src/tools.ts.

    import { defineTool } from "@mcpexpress/core";
    import { z } from "zod";
    
    const InputSchema = z.object({
      a: z.number().describe("The first number"),
      b: z.number().describe("The second number"),
    });
    
    const OutputSchema = z.object({ sum: z.number() });
    
    const add = ({ a, b }: z.infer<typeof InputSchema>) => ({
      sum: a + b,
    });
    
    export const addNumbers = defineTool({
      name: "add_numbers",
      title: "Add numbers",
      description: "Add two numbers together and return their sum.",
      input: InputSchema,
      output: OutputSchema,
      annotations: { readOnlyHint: true, openWorldHint: false },
      execute: (args) => add(args),
    });
  3. Package and deploy

    Bundle your project into a zip file with one command.

    Terminal
    npm run package

    Packages are deployed to an installed MCP Express server. Not installed yet? Follow the installation guide.

Try it in action

A ready-made server running our public example code. Connect a real MCP client to it and see it in action.

See the example code on GitHub
  1. Generate a token

    The demo server is protected. Your token authenticates your MCP client.

  2. Connect your MCP client

    Needs a token

    Add this URL as a custom MCP server in Claude, Cursor or any MCP client, and use your token to authenticate.

    https://sandbox.mcp-express.com/demo/mcp