Mcp Sse Authenticated Cloud Run

Mcp Sse Authenticated Cloud Run

🚀 在Google Cloud Run上托管MCP SSE服务器

本项目提供了一种在Google Cloud Run上托管MCP SSE服务器的解决方案,解决了当前MCP身份验证和授权功能不完善的问题,让您能安全地通过互联网访问自定义的MCP服务器。

截至2024年3月4日,MCP仍在处理身份验证和授权问题,计划于2025年上半年完成此功能。目前,若要在Cursor等工具中使用MCP服务器,唯一直接的方法是基于网络层的解决方案(如代理),基本身份验证、API密钥等其他功能暂不可用。而本方案利用Google Cloud Run和基于用户的IAM身份验证,为客户端访问自定义MCP服务器提供了简单且安全的途径。

MCP路线图

🚀 快速开始

如果您的环境已配置好Docker和gcloud CLI,且只需少量设置,此方案应该可以开箱即用。具体步骤如下:

  1. 更新deploy.sh文件:在deploy.sh中填入您的项目ID、服务账户电子邮件等信息。
  2. 获取并添加URL:部署成功后,获取Cloud Run提供的URL,并将其添加到mcp_proxy.ts文件中,同时包含您的项目ID。
  3. 运行代理:执行命令 npx ts-node mcp_proxy.ts
  4. 访问服务器:通过http://localhost:3030访问您的MCP服务器,并在Cursor的设置中添加它(记得选择SSE而不是命令)。

✨ 主要特性

  • 安全访问:借助Google Cloud Run的IAM身份验证功能,安全地将MCP服务器连接到互联网。
  • 简单部署:只需对deploy.sh文件进行简单配置,即可完成服务器的部署。

📦 安装指南

克隆仓库

  1. 将此仓库克隆到本地环境:
git clone [仓库地址]
  1. 安装所有依赖项:
npm install
  1. 启动服务器进行本地开发:
npm run dev

部署到Google Cloud Run

  1. 确保已安装Google Cloud SDK
  2. 更新deploy.sh脚本中的项目信息:
    • PROJECT_ID:您的Google Cloud项目ID
    • REGION:您选择的GCP区域
    • SERVICE_ACCOUNT_EMAIL:具备适当权限的服务账户电子邮件
  3. 运行部署脚本:
chmod +x deploy.sh
./deploy.sh

该脚本将完成以下操作:

  • 使用Docker构建MCP服务器容器。
  • 将容器推送到Google Container Registry。
  • 配置并部署到Cloud Run,同时启用身份验证功能。

连接到已部署的MCP服务器

  1. 在本地运行代理:
npx ts-node mcp_proxy.ts
  1. 打开浏览器并访问 http://localhost:3030

使用Cursor配置MCP服务器

  1. 打开Cursor的设置界面。
  2. 添加新的MCP服务器,输入相关URL和端点信息。

🔧 技术细节

MCP服务器托管在Google Cloud Run上,利用Cloud Run的IAM身份验证功能,通过Google Cloud SDK创建代理连接,将服务器安全地连接到互联网。

📚 详细文档

安全注意事项

⚠️ 重要提示

  • 确保所有敏感信息(如API密钥)不在代码库中明文存储。
  • 使用IAM策略限制对Cloud Run服务的访问权限,确保只有经过授权的服务和用户可以调用它。

解决连接问题

如果遇到无法连接的问题,请检查以下内容:

  1. 确认代理正在运行,并且可以在本地访问 http://localhost:3030
  2. 检查网络防火墙设置,确保端口未被阻止。
  3. 查看Cloud Run服务的访问日志,确认是否有权限问题。

贡献信息

我们欢迎社区贡献!如果发现任何错误或有改进建议,请提交GitHub问题或直接 fork 仓库并创建pull request。

📄 许可证

该项目遵循MIT许可证。

⚠️ 重要提示

本文档中的图片路径和示例可能需要根据实际项目结构进行调整。

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-05 23:36

相似服务问题

相关AI产品