使用说明
Cloudflare Workers上具有承载身份的MCP服务器
此存储库演示了在Cloudflare Workers上运行的模型上下文协议(MCP)服务器的概念验证实现,该服务器具有简单的承载令牌身份验证。
概述
本项目展示了如何:
- 在Cloudflare的边缘网络上部署MCP服务器
- 实现基本的承载令牌身份验证
- 通过无服务器架构创建和公开MCP工具
地方发展
# Install dependencies
npm install
# Run the server locally
npm run dev
启动服务器后,它将在http://localhost:8787
认证
此实现使用简单的承载令牌身份验证方案。客户端必须在其请求中提供Authorization标头。服务器将此令牌传递给MCP工具,允许工具根据经过身份验证的用户执行操作。
MCP检验员测试
您可以使用 MCP检查员 要测试您的MCP服务器:
-
安装并启动检查器:
npx @modelcontextprotocol/inspector -
配置检查器:
- 将传输类型切换为
SSE - 输入您的MCP服务器的URL(本地:
http://localhost:8787/sse或部署:https://your-worker.workers.dev/sse) - 在授权字段中添加承载令牌
- 点击“连接”
- 将传输类型切换为
-
测试功能:
- 点击“列出工具”查看可用工具
- 尝试运行“getToken”工具,它将返回您的授权标头
- 尝试使用带有两个数字的“添加”工具来测试基本功能
部署到Cloudflare
将您的MCP服务器部署到Cloudflare Workers:
npm run deploy
部署后,您的服务器将在 https://your-worker.workers.dev
项目结构
src/index.ts-使用MCP工具定义实现主服务器src/utils.ts-用于呈现web界面的辅助工具wrangler.jsonc-Cloudflare Workers配置
重要提示
这是一个概念验证实现,旨在演示MCP如何在无服务器环境中运行。在生产环境中,您需要实现:
- 更强大的身份验证(OAuth、令牌验证等)
- 速率限制和附加安全措施
- 正确的错误处理和监控
故障排除
如果您遇到问题:
- 确保您的持有者令牌在授权标头中格式正确
- 检查Cloudflare仪表板中的工作者日志
- 尝试重新启动本地开发服务器
对于持久身份验证问题,您可能需要清除任何缓存的凭据:
rm -rf ~/.mcp-auth
