一个同时提供REST API和MCP(模型上下文协议)接口的Cloudflare Worker。
┌─────────────────────────────────────┐
│ Cloudflare Worker (边缘) │
│ │
│ ┌────────────────────────────────┐ │
│ │ Hono 路由器 │ │
│ │ │ │
│ │ /api/* ─── REST API │ │
│ │ │ │
│ │ /mcp ─── MCP 协议 │ │
│ │ (封装 REST) │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────┘
GET /api/products - 列出所有产品(支持过滤)GET /api/products/:id - 获取单个产品POST /api/products - 创建新商品PUT /api/products/:id - 更新商品DELETE /api/products/:id - 删除商品MCP 端点将所有 REST 操作封装为工具:
list_products - 使用过滤条件查询产品get_product - 获取产品详情create_product - 添加新产品update_product - 修改现有产品delete_product - 移除产品npm install
npm run dev
服务器将在 http://localhost:8787 启动
# 列出所有产品
curl http://localhost:8787/api/products
# 获取特定产品
curl http://localhost:8787/api/products/1
# 根据类别过滤
curl http://localhost:8787/api/products?category=电子产品
# 创建产品
curl -X POST http://localhost:8787/api/products \
-H "Content-Type: application/json" \
-d '{"name":"笔记本电脑","price":999,"description":"强大的笔记本电脑","category":"电子产品"}'
# 列出可用工具
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-d '{"method":"tools/list","params":{}}'
# 调用工具
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"list_products","arguments":{"category":"电子产品"}}}'
npm run deploy
部署后,您的API将在Cloudflare的边缘网络上全球可用!
每个 REST 端点映射到一个 MCP 工具:
cf-mcp/
├── src/
│ ├── index.ts # 主 Hono 应用 + 路由
│ ├── api.ts # REST API 端点
│ └── mcp.ts # MCP 协议处理器
├── wrangler.toml # Cloudflare 配置
├── package.json
└── tsconfig.json
“从边缘返回:将任何 REST API 转换为 MCP 服务器”
一个实践性强、代码量大的课程,展示如何将任何 REST API 封装为 Model Context Protocol,并将其部署到 Cloudflare Workers,以实现闪电般快速且全球分布的访问。 </中文翻译>