MCP服务器

在Cloudflare Workers上部署的带有Bearer认证的MCP服务器,用于在无服务器架构中创建和公开MCP工具。

  • by Pedropfuenmayor
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 pedropfuenmayor/mcp-cloudflare

使用说明

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服务器:

  1. 安装并启动检查器:

    npx @modelcontextprotocol/inspector
    
  2. 配置检查器:

    • 将传输类型切换为 SSE
    • 输入您的MCP服务器的URL(本地: http://localhost:8787/sse 或部署: https://your-worker.workers.dev/sse)
    • 在授权字段中添加承载令牌
    • 点击“连接”
  3. 测试功能:

    • 点击“列出工具”查看可用工具
    • 尝试运行“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、令牌验证等)
  • 速率限制和附加安全措施
  • 正确的错误处理和监控

故障排除

如果您遇到问题:

  1. 确保您的持有者令牌在授权标头中格式正确
  2. 检查Cloudflare仪表板中的工作者日志
  3. 尝试重新启动本地开发服务器

对于持久身份验证问题,您可能需要清除任何缓存的凭据:

rm -rf ~/.mcp-auth