MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

tutorial for CBC meeting 3/16

Created 3/17/2026
Updated about 3 hours ago
Repository documentation and setup instructions

MCP Server (createMcpHandler)

The simplest way to run a stateless MCP server on Cloudflare Workers. Uses createMcpHandler from the Agents SDK to handle all MCP protocol details in one line.

What it demonstrates

  • createMcpHandler — the Agents SDK helper that wraps an McpServer into a Worker-compatible fetch handler
  • Minimal setup — define tools on an McpServer, pass it to createMcpHandler, done
  • Stateless — no Durable Objects, no persistent state, each request is independent

Running

npm install
npm run dev

Open the browser to see the built-in tool tester, or connect with the MCP Inspector at http://localhost:5173/mcp.

How it works

import { createMcpHandler } from "agents/mcp";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

function createServer() {
  const server = new McpServer({ name: "Hello MCP Server", version: "1.0.0" });
  server.registerTool(
    "hello",
    {
      description: "Returns a greeting",
      inputSchema: { name: z.string().optional() }
    },
    async ({ name }) => ({
      content: [{ type: "text", text: `Hello, ${name ?? "World"}!` }]
    })
  );
  return server;
}

export default {
  fetch: async (request, env, ctx) => {
    const server = createServer();
    return createMcpHandler(server)(request, env, ctx);
  }
};

Related examples

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-mcp-worker

Cursor configuration (mcp.json)

{ "mcpServers": { "aryankeluskar-mcp-worker": { "command": "npx", "args": [ "aryankeluskar-mcp-worker" ] } } }