多模式MCP服务器模板

用于构建支持stdio、HTTP和Cloudflare Workers的多模式MCP服务器的模板,提供OAuth认证、加密存储和会话管理等功能。

  • by ITF-Solutions
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ITF-Solutions/mcp-skeleton

使用说明

mcp骨架

用于构建多模式MCP服务器(stdio、HTTP、Cloudflare Workers)的模板

这是一个GitHub模板仓库。点击 “使用此模板” 创建自己的MCP服务器。

特性

  • 三种运行时模式: stdio(克劳德桌面)、HTTP(Node.js)、Worker(Cloudflare)
  • OAuth身份验证: 可选的OAuth 2.0,通过Cloudflare Access实现Worker模式
  • 加密存储: Cloudflare KV的AES-256-GCM加密
  • 会话管理: HTTP的每个客户端-服务器实例
  • 基础设施代码: 用于Cloudflare访问的Terraform,用于部署的Docker
  • CI/CD: 常规提交,请发布,自动发布
  • 类型安全: 完全支持TypeScript

快速开始

npm install
npm run build
npm run mcp:stdio

添加到Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["/path/to/your-repo/dist/cli.js"]
    }
  }
}

添加自定义工具

替换示例 echo 工具在 src/tools/index.ts:

server.tool(
  "my_tool",
  "Tool description",
  { arg1: { type: "string", description: "Argument description" } },
  async ({ arg1 }) => ({
    content: [{ type: "text", text: `Result: ${arg1}` }],
  })
);

项目结构

src/
  auth/                # OAuth handler + OIDC utilities (worker mode)
  http/app.ts          # Streamable HTTP endpoint (session management)
  entrypoints/         # Runtime-specific entrypoints
    stdio.ts           # Claude Desktop mode
    http.ts            # Node.js HTTP mode
    worker.ts          # Cloudflare Worker mode (with OAuth toggle)
  storage/             # Storage abstraction
    token-store.ts     # Key-value store (in-memory + encrypted KV)
    cache-store.ts     # Cache interface
  tools/               # MCP tools (EXTENSION POINT)
    index.ts           # Register your tools here
  config.ts            # Environment configuration (EXTENSION POINT)
docs/                  # Deployment and architecture guides
infrastructure/        # Terraform for Cloudflare Access

文档

指南 说明
运输方式 stdio、流式HTTP和SSE——比较、序列图、示例有效载荷
stdio设置 Claude桌面本地设置
Docker部署 使用Docker的HTTP模式
Cloudflare工作人员 配备KV存储的无服务器部署
OAuth身份验证 OAuth 2.0设置,包括序列图和HTTP示例
Cloudflare访问设置 基于Terraform的OIDC提供商设置

发展

npm run dev          # Dev mode (stdio) with hot reload
npm run dev:http     # Dev mode (HTTP) with hot reload
npm run build        # Build for Node.js
npm run build:worker # Build for Cloudflare Workers
npm test             # Run tests
npm run test:watch   # Tests in watch mode

扩展点

使用此模板构建MCP服务器时:

  1. src/tools/index.ts --用特定于域的工具替换echo工具
  2. src/config.ts --如果需要,添加自定义环境变量
  3. src/storage/ --如果需要,添加自定义存储方法
  4. package.json --更新名称、描述、作者、关键字
  5. README.md --替换为您的项目文档

贡献

该项目执行 约定式提交。参见 贡献.md 了解详情。

许可证

麻省理工学院


由……建立 mcp骨架 --多模式MCP服务器模板