云运行MCP代理
访问GCP Cloud Run上运行的远程MCP服务器的代理。
该项目提供了一种安全访问部署在Google Cloud Run上的模型上下文协议(MCP)服务器的方法。它处理身份验证并将请求代理到相应的Cloud Run服务。
使用此MCP服务器
您可以在MCP服务器定义中使用以下条目
{
"mcpServers": {
"mcp-contract-registry": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLOUD_RUN_MCP_SERVER_URL",
"-e",
"GOOGLE_APPLICATION_CREDENTIALS",
"--mount",
"type=bind,source=/home/vscode/.config/gcloud,target=/app/.config/gcloud,ro",
"jhginn/cloud-run-mcp-proxy:latest" // Or use a date tag from https://hub.docker.com/repository/docker/jhginn/cloud-run-mcp-proxy/general
],
"env": {
"CLOUD_RUN_MCP_SERVER_URL": "https://www.my.app.url.com",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/.config/gcloud/application_default_credentials.json"
}
}
}
}确保:
- 在主机设备上登录gcloud
- 使用正确的GOOGLE_APPLICATION_CREDENTIALS路径。通常,这是您的主目录。
这仅适用于使用 Streamable HTTP transport,并使用IAM进行保护。
开发人员入门指南
本指南将帮助您为当地发展建立项目。
先决条件
设置
- 克隆存储库:
git clone
cd cloud_run_mcp_proxy- 安装依赖关系和预提交钩子:
此项目使用 uv 用于包管理和 just 作为一名命令执行者。
just setup此命令是的别名 just install (运行 uv sync --all-groups)以及 just pre_commit_setup (运行 uv run pre-commit install).
通用开发命令
这 justfile 在项目的根目录中定义了几个有用的命令:
just install:安装/更新Python依赖项。just pre_commit_setup:安装预提交挂钩。just setup(或just s):一个方便的别名来运行这两个install和pre_commit_setup.just pre_commit(或just p):对所有文件运行预提交检查。just test(或just t):使用运行测试pytest.just build:为代理构建Docker容器。
运行代理
可以使用中定义的入口点脚本运行代理 pyproject.toml:
cloud_run_mcp_proxy(随着项目的发展,将在此处添加有关配置和部署的更多详细信息。)
项目结构
src/cloud_run_mcp_proxy/:包含代理的主要源代码。
- proxy.py:核心代理逻辑。 - auth.py:处理与Google Cloud的身份验证。
tests/:包含单元和集成测试。Dockerfile:定义用于部署代理的Docker镜像。justfile:包含常用的开发命令。pyproject.toml:定义项目元数据、依赖关系和生成系统配置。
