MCP认证云运行

@the-freetech-company/mcp-sse-authenticated-cloud-run
0 Stars 362 次浏览 the-freetech-company 更新于 2026-08-23

一个安全的MCP(模型上下文协议)服务器托管在Google Cloud Run上,通过Google Cloud IAM提供身份验证访问,从而实现团队协作。这使得团队可以在正式的MCP身份验证实施之前,通过互联网共享自定义的MCP服务器。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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

目前(2024年03月04日),MCP 仍在处理身份验证和授权问题。他们计划在2025年上半年完成这项工作。问题是,我现在就想与我的团队共享我的MCP服务器。因此,我们现在在这里讨论。目前使用SSE MCP服务器(例如在Cursor中)的唯一即时解决方案是基于网络层的解决方案(例如代理)。基本认证、API密钥等暂时无法使用。

通过利用GCP Cloud Run和基于用户的IAM认证,我创建了一种简单且安全的方法,允许客户端通过互联网访问自定义的MCP服务器。

MCP Roadmap

MCP Not Supported

工作原理

MCP 服务器托管在 Google Cloud Run 上。利用 Cloud Run IAM 认证,我们可以通过使用 Google Cloud SDK 创建代理连接来安全地从互联网连接到服务器。

TLDR README

如果您已经本地安装了 Docker 和 gcloud CLI,那么这应该几乎可以开箱即用,并且只需少量配置即可。

步骤1: 使用您的项目 ID、服务账号电子邮件等更新 deploy.sh

步骤2: 部署成功后,获取提供的 Cloud Run URL,并将其与您的项目 ID 一起添加到 mcp_proxy.ts 中。

步骤3: 运行代理 npx ts-node mcp_proxy.ts
运行代理提问

步骤4: 通过 http://localhost:3030 访问您的 MCP 服务器 - 在 Cursor 的设置 > 功能 > MCP 服务器下添加它(确保选择 SSE 而不是命令)

详细的README

部署步骤

  1. 克隆仓库
  2. 运行 npm install 安装依赖项
  3. 运行 npm run dev 以在本地启动服务器

部署到 Google Cloud Run

要将您的 MCP 服务器部署到 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
    

部署脚本将会:

  • 构建一个用于您的 MCP 服务器的 Docker 容器
  • 将其推送到 Google Container Registry
  • 启用认证并将其部署到 Cloud Run

连接到已部署的 MCP 服务器

要连接到已部署的 MCP 服务器:

  1. 本地运行 MCP 代理:

    npx ts-node mcp_proxy.ts
    
  2. 代理将:

    • 检查您是否已通过 Google Cloud 进行身份验证
    • 自动获取身份验证令牌
    • 创建一个本地代理服务器(默认:http://localhost:3030)
    • 将经过身份验证的请求转发到您的 Cloud Run 服务
  3. 配置您的 MCP 客户端以连接到本地代理 URL

在 Cursor 中使用 MCP 服务器

  1. 首先,让我们运行我们的代理,以在本地机器和托管在 Google Cloud Run 上的 MCP 服务器之间建立连接。
npx ts-node mcp_proxy.ts
  1. 现在让我们在 MCP 服务器部分的设置 > 功能标签页中将本地代理服务器添加到光标中。

Adding proxy to cursor

Adding proxy to cursor

  1. 现在,一切准备就绪!启动一个新的 composer(确保您处于 agent 模式),并询问某个地点的天气。您的终端中代理连接的输出 + composer 的输出应如下所示:

Running proxy asking question

安全

此设置提供了几个安全优势:

  • 您的 MCP 服务器未经身份验证无法公开访问
  • 所有连接都通过 Google Cloud IAM 进行保护
  • 团队成员需要 Google Cloud SDK 访问权限才能连接

连接问题

  • 确认 mcp_proxy.ts 中的 Cloud Run URL 与已部署的服务匹配
  • 检查 Cloud Run 日志中的任何服务器端错误

贡献

欢迎贡献!请随时提交问题或拉取请求。

许可证

MIT

相关 MCP 服务