Authenticated MCP SSE Server
一个安全的 MCP(模型上下文协议)服务器,托管在 Google Cloud Run 上,通过 Google Cloud IAM 提供身份验证访问,从而实现团队协作。这使得团队能够在官方 MCP 身份验证实施之前,通过互联网共享自定义 MCP 服务器。 **更详细的翻译 (根据上下文可能更合适):** 一个安全可靠的 MCP (模型上下文协议) 服务器,部署在 Google Cloud Run 上。它利用 Google Cloud IAM 进行身份验证,为团队协作提供支持。通过这种方式,团队可以在官方 MCP 身份验证机制正式上线之前,安全地通过互联网共享和使用自定义的 MCP 服务器。
README
在 Google Cloud Run 上托管 MCP SSE 服务器
目前 (2024 年 4 月 3 日) MCP 仍在处理身份验证和授权问题。他们计划在 2025 年上半年完成这项工作。问题是,我想立即与我的团队分享我的 MCP 服务器。所以我们来了。目前在 Cursor 等中使用 SSE MCP 服务器的唯一直接答案是基于网络层的解决方案(例如,代理)。基本身份验证、API 密钥,想都别想。
利用 GCP Cloud Run 和基于用户的 IAM 身份验证,我创建了一种简单、安全的方式,允许客户端通过互联网访问自定义 MCP 服务器。
工作原理
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
步骤 3: 使用 http://localhost:3030 访问您的 MCP 服务器 - 在 Cursor 的 Settings > Features > MCP Servers 下添加它(确保您选择 SSE 而不是 command)
LONG BORING README
部署步骤
- 克隆存储库
- 运行
npm install
安装依赖项 - 运行
npm run dev
在本地启动服务器
部署到 Google Cloud Run
要将您的 MCP 服务器部署到 Google Cloud Run:
- 确保您已安装 Google Cloud SDK
- 使用您的项目详细信息更新
deploy.sh
脚本:PROJECT_ID
: 您的 Google Cloud 项目 IDREGION
: 您首选的 GCP 区域SERVICE_ACCOUNT_EMAIL
: 具有适当权限的服务帐户电子邮件
- 运行部署脚本:
chmod +x deploy.sh ./deploy.sh
部署脚本将:
- 为您的 MCP 服务器构建 Docker 容器
- 将其推送到 Google Container Registry
- 启用身份验证后将其部署到 Cloud Run
连接到您部署的 MCP 服务器
要连接到您部署的 MCP 服务器:
-
在本地运行 MCP 代理:
npx ts-node mcp_proxy.ts
-
代理将:
- 检查您是否已通过 Google Cloud 身份验证
- 自动获取身份验证令牌
- 创建本地代理服务器(默认:http://localhost:3030)
- 将经过身份验证的请求转发到您的 Cloud Run 服务
-
配置您的 MCP 客户端以连接到本地代理 URL
在 Cursor 中使用 MCP 服务器
- 首先,让我们运行我们的代理,以建立本地机器和托管在 Google Cloud Run 上的 MCP 服务器之间的连接。
npx ts-node mcp_proxy.ts
- 现在,让我们在 Setting > Features 选项卡中的 MCP 服务器部分将本地代理服务器添加到 cursor 中。
- 现在,我们准备好了!启动一个新的 composer(确保您处于代理模式),并询问某个位置的天气。您的终端(代理连接的位置)的输出 + 您的 composer 的输出应如下所示:
安全
此设置提供多种安全优势:
- 您的 MCP 服务器在未经身份验证的情况下无法公开访问
- 所有连接均通过 Google Cloud IAM 保护
- 团队成员需要 Google Cloud SDK 访问权限才能连接
连接问题
- 验证
mcp_proxy.ts
中的 Cloud Run URL 是否与您部署的服务匹配 - 检查 Cloud Run 日志中是否有任何服务器端错误
贡献
欢迎贡献!请随时提交问题或拉取请求。
许可证
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Playwright MCP Server
提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
Apple MCP Server
通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。