谷歌地图平台代码辅助MCP服务器

部署谷歌地图平台代码辅助MCP服务器到Google Cloud Run,并连接到OpenAI平台,使ChatGPT能够访问最新的谷歌地图平台文档和代码示例。

  • by PeterJBurke
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 PeterJBurke/google-maps-mcp-server

使用说明

OpenAI平台的谷歌地图MCP服务器

将Google Maps Platform Code Assist MCP服务器部署到Google Cloud Run并将其连接到OpenAI平台,使ChatGPT能够访问最新的Google Maps Platform文档和代码示例。

概述

该项目为谷歌地图平台代码辅助MCP服务器提供了一个完整的部署解决方案。MCP服务器充当中介:

  • 接收来自ChatGPT的MCP协议请求(通过OpenAI平台)
  • 通过内部RAG引擎查询谷歌地图平台文档
  • 返回相关文档片段和代码示例

建筑

OpenAI Platform (ChatGPT) 
    ↓ HTTP POST (MCP Protocol)
Your MCP Server (Cloud Run)
    ↓ Internal RAG Engine
Google Maps Platform Documentation & Code Samples

先决条件

所需工具

  • GitHub账号 (不需要本地工具!)
  • 谷歌云帐户 (用于托管服务)

谷歌云设置

  1. 创建 谷歌云帐户
  2. 启用计费(Cloud Run需要一个计费帐户)
  3. 创建项目或选择现有项目
  4. 获取您的项目ID(请参阅 部署指导)

不需要本地工具! 一切都可以通过Google Cloud Console web界面完成。

快速开始

1.部署到云端运行

通过GitHub操作自动部署(不需要本地文件)

⚠️ 重要提示:首先启用API! 在设置机密之前,您必须启用所需的API。看 步骤0:启用所需的API 详细说明。

设置一次,然后每次向存储库推送都会自动部署:

  1. 启用所需的API(请先执行此操作!):

  2. 设置GitHub机密(安全-不存储在存储库中):

    • 转到您的存储库:https://github.com/PeterJBurke/google-maps-mcp-server
    • 点击 设置 tab → 行动 (左侧边栏)→ 秘密和变量 → 行动
    • 点击 “新存储库机密” 按钮
    • 添加两个秘密(详见 部署指导):
      • 名字: GCP_PROJECT_ID → 价值:您的Google Cloud项目ID(请参阅 如何获得它)
      • 名字: GCP_SA_KEY → 价值:服务帐户密钥JSON文件的全部内容

    安全说明: GitHub Secrets由GitHub单独加密和存储。他们是:

    • ✅ 未存储在存储库代码中
    • ✅ 在日志或存储库历史记录中不可见
    • ✅ 仅可访问GitHub Actions工作流
    • ✅ 即使在公共存储库中也可以安全使用

    看 部署指导 获取带有详细说明的分步说明。

  3. 自动部署:

    • 自动:将代码推送到 main 或 master 分支→ 自动部署
    • 手动触发 (无需推送代码即可部署):
      • 转到存储库→ Click “行动” 顶部的选项卡(在主导航中,而不是设置中)
      • 在左侧边栏中,单击 “部署到云运行”
      • 点击 “运行工作流” 按钮(右上角)→ 选择分支→ Click “运行工作流”

注: 部署会自动在Google Cloud Build中构建Docker镜像。不需要本地工具!

3.获取您的MCP服务器URL

成功部署后,您需要获取服务URL:

来自GitHub操作:

  1. 转到存储库→ 行动 标签
  2. 点击成功运行的工作流
  3. 寻找 “获取服务URL” 阶跃输出
  4. 复制显示的URL(它将以结尾 /mcp)

从谷歌云控制台:

  1. 首选 云运行控制台
  2. 点击 google-maps-mcp-server
  3. 复制顶部的URL
  4. 添加 /mcp 到最后

URL格式:

  • 基本URL: https://google-maps-mcp-server-xxxxx-uc.a.run.app
  • MCP端点:添加 /mcp → https://google-maps-mcp-server-xxxxx-uc.a.run.app/mcp
  • 这 xxxxx 是Google为您的服务分配的唯一标识符

4.配置OpenAI平台

  1. 打开 OpenAI平台

  2. 点击“添加MCP服务器”或使用“连接到MCP服务器”模式

  3. 输入以下内容:

    • 统一资源定位符: https://your-service-name-xxxxx-uc.a.run.app/mcp
    • 标签: google-maps-platform-code-assist
    • 描述: Google Maps Platform Code Assist MCP Server - Provides access to official documentation and code samples
    • 认证:留空(如果使用经过身份验证的访问,则进行配置)
  4. 点击“连接”

5.测试集成

询问ChatGPT问题,例如:

  • “如何使用Places API?”
  • “显示地址的地理编码代码”
  • “用标记显示地图的最佳方式是什么?”

项目结构

google-maps-mcp-server/
├── README.md                 # This file
├── package.json              # Node.js dependencies
├── Dockerfile                # Container configuration for Cloud Run
├── server.js                 # HTTP server wrapper
├── .dockerignore            # Docker build exclusions
├── .gitignore               # Git ignore patterns
├── .gcloudignore           # Cloud Run source exclusions
├── .github/
│   └── workflows/
│       └── deploy.yml       # GitHub Actions deployment workflow
└── docs/
    ├── DEPLOYMENT.md        # Detailed deployment guide
    ├── OPENAI_SETUP.md      # OpenAI Platform setup guide
    └── TROUBLESHOOTING.md   # Common issues and solutions

配置

环境变量

  • PORT:服务器端口(默认值:8080,Cloud Run会自动设置此端口)
  • NODE_ENV:环境(生产、开发)

云运行设置

默认配置:

  • 记忆:512米
  • 中央处理器: 1
  • 最小实例数:0(缩放到零)
  • 最大实例数: 10
  • 超时:300秒
  • 端口: 8080

要自定义,请编辑 .github/workflows/deploy.yml 存储库中的文件,或通过以下方式更新设置 谷歌云控制台.

测试

部署后,测试Cloud Run端点:

  1. 获取您的服务URL:

    • 检查GitHub Actions工作流输出(显示URL)
    • 或前往 谷歌云控制台 → 云运行 → 您的服务→ 复制URL
  2. 测试运行状况端点:

    • 访问 https://your-service-url.run.app/health 在浏览器中
    • 应返回状态为“健康”的JSON
  3. 测试MCP端点:

    • 使用在线工具,如 邮递员 或 reqbin.com
    • 张贴到 https://your-service-url.run.app/mcp
    • 主体: {"jsonrpc":"2.0","method":"initialize","id":1}

可用的MCP工具

一旦连接到OpenAI平台,ChatGPT将可以访问:

  • retrieve-instructions:用于了解如何查询Google Maps Platform文档的辅助工具
  • retrieve-google-maps-platform-docs:搜索官方文档、教程和代码示例的主要工具

成本

Google Cloud Run定价:

  • 免费层:每月200万次请求,360000 GB内存秒,180000 vCPU秒
  • 免费等级之后:只为你使用的东西付费
    • 请求:每百万美元0.40美元
    • 内存:每秒0.0000025美元
    • CPU:每vCPU秒0.00002400美元

对于典型的使用,成本很低。看 云运行定价 了解详情。

安全

生产建议

  1. 启用身份验证:删除 --allow-unauthenticated 并使用IAM
  2. 使用HTTPS:Cloud Run默认提供HTTPS
  3. 设置资源限制:配置适当的内存和CPU限制
  4. 监视器使用情况:设置云监控警报
  5. 审核日志:定期检查云运行日志是否存在问题

身份验证设置

要要求身份验证,请执行以下操作:

  1. 首选 谷歌云控制台
  2. 引导到 云运行 → 您的服务
  3. 点击 编辑和部署新修订版
  4. 在...之下 安全,取消选中“允许未经身份验证的调用”
  5. 点击 部署

然后使用访问令牌配置OpenAI平台(请参阅 OpenAI设置指南).

故障排除

看 docs/TROUBLESHOOTING.md 常见问题和解决方案。

常见问题:

  • Docker构建失败
  • Cloud Run部署错误
  • OpenAI平台的连接问题
  • 性能问题

文档

GitHub操作设置

要在每次推送时启用自动部署:

所有设置都可以通过web界面完成,不需要本地工具!

请参阅中的详细分步说明 GitHub操作设置 其中包括:

  • 启用所需的API (重要提示-请先执行此操作!)
  • 通过谷歌云控制台(web UI)创建服务帐户
  • 通过web界面授予权限
  • 通过web界面创建和下载密钥
  • 在GitHub上添加秘密

快速摘要:

  1. 首先启用API: 云运行API, 云构建API, 工件注册表API
  2. 从获取您的项目ID 谷歌云控制台
  3. 创建服务帐户并下载密钥(全部通过web UI)
  4. 将机密添加到GitHub存储库
  5. 推送到存储库→ 自动部署!

许可证

Apache 2.0

贡献

欢迎投稿!请打开问题或提交拉取请求。

支持