Google Mcp

Google Mcp

🚀 Google MCP 服务器

Google MCP 服务器是一个全面的模型上下文协议(MCP)服务器,它通过统一的 API 提供对谷歌多项服务的访问,这些服务涵盖地图、金融、航班、Gmail 以及日历。

✨ 主要特性

🗺️ 谷歌地图与地点服务

  • 地理编码:实现地址与坐标之间的相互转换。
  • 地点搜索:查找企业、地标以及名胜古迹。
  • 路线规划:获取两地之间的逐向导航路线。
  • 距离矩阵:计算多个地点之间的旅行时间和距离。
  • 地点详情:获取特定地点的详细信息。

📈 谷歌金融服务

  • 股票搜索:搜索股票、指数、共同基金、货币以及期货。
  • 市场数据:获取当前价格、走势以及市场信息。
  • 财经新闻:访问与证券相关的顶级财经新闻。

✈️ 谷歌航班服务

  • 机场搜索:查找航班和机场信息。
  • 航班定价:获取航班价格和相关见解。
  • 多城市行程:支持复杂的多目的地旅行。

📧 Gmail 服务

  • 发送邮件:发送包含主题、正文、抄送和密送的邮件。
  • 读取邮件:使用 Gmail 查询语法列出和搜索邮件。
  • 邮件详情:通过邮件 ID 获取完整的邮件内容。
  • 标签管理:访问 Gmail 标签和组织架构。

📅 谷歌日历服务

  • 事件管理:创建、读取、更新和删除日历事件。
  • 多日历支持:支持多个日历(个人、工作、旅行)。
  • 事件列表:根据过滤器和日期范围列出事件。
  • 日历管理:列出和访问不同的日历。

📦 安装指南

前提条件

  • Node.js 18+
  • pnpm(推荐)或 npm

安装步骤

  1. 克隆仓库:

    git clone 
    cd google-mcp
    
  2. 安装依赖:

    pnpm install
    
  3. 构建项目:

    pnpm run build
    

MCP 客户端集成

将服务器安装到你首选的 MCP 客户端:

# 安装到所有 MCP 客户端
pnpm run install-server

# 安装到特定客户端
pnpm run install-desktop    # Claude Desktop
pnpm run install-cursor     # Cursor IDE
pnpm run install-code       # Claude Code
pnpm run install-mcp        # 仅本地 .mcp.json

📚 详细文档

配置

环境变量

在项目根目录下创建一个 .env.local 文件,并填入你的谷歌 API 凭证:

GOOGLE_MAPS_API_KEY=your_google_maps_api_key
GOOGLE_CLIENT_ID=your_oauth_client_id
GOOGLE_CLIENT_SECRET=your_oauth_client_secret
GOOGLE_REFRESH_TOKEN=your_refresh_token

谷歌 API 设置

  1. 谷歌地图 API:在谷歌云控制台中启用地图、地点和路线规划 API。
  2. Gmail/日历:设置 OAuth 2.0 凭证并获取刷新令牌。
  3. 金融/航班:使用谷歌的公共 API(无需额外设置)。

使用方法

运行服务器

# 启动编译后的服务器
pnpm start

# 或者在开发模式下运行
node dist/index.js

可用工具

地图与地点服务
  • geocode - 将地址转换为坐标
  • reverse-geocode - 将坐标转换为地址
  • places-search - 通过文本查询搜索地点
  • get-directions - 获取两地之间的路线
  • distance-matrix - 计算多个地点之间的距离
  • place-details - 获取特定地点的详细信息
金融服务
  • finance-search - 搜索股票、货币和金融工具
航班服务
  • airports-search - 搜索航班和机场信息
Gmail 服务
  • gmail-send-email - 发送邮件
  • gmail-read-emails - 列出/搜索邮件
  • gmail-get-email - 通过 ID 获取特定邮件
  • gmail-get-labels - 列出 Gmail 标签
日历服务
  • calendar-create-event - 创建新事件
  • calendar-list-events - 根据过滤器列出事件
  • calendar-get-event - 获取特定事件的详细信息
  • calendar-update-event - 更新现有事件
  • calendar-delete-event - 删除事件
  • calendar-list-calendars - 列出可用的日历

🔧 技术细节

项目结构

src/
├── index.ts       # 主 MCP 服务器实现
├── maps.ts        # 谷歌地图与地点功能
├── finance.ts     # 谷歌金融集成
├── airports.ts    # 谷歌航班集成
├── gmail.ts       # Gmail API 集成
└── calendar.ts    # 谷歌日历集成

scripts/
└── update-config.js   # MCP 客户端配置安装程序

dist/             # 编译后的 JavaScript 输出

关键技术

  • MCP SDK:使用 @modelcontextprotocol/sdk 实现协议。
  • 模式验证:使用 Zod 进行运行时类型检查。
  • 谷歌 API:使用官方谷歌客户端库。
  • TypeScript:以 ES2022 为目标,实现完全的类型安全。
  • 传输层:使用 StdioServerTransport 进行 MCP 通信。

开发工作流

  1. src/ 目录下的 TypeScript 文件中进行修改。
  2. 构建项目:pnpm run build
  3. 测试:pnpm start
  4. 安装到客户端:pnpm run install-server
  5. 重启 MCP 客户端以加载更改。

添加新工具

  1. 为参数定义 Zod 模式。
  2. 实现处理函数。
  3. 使用 server.tool()src/index.ts 中注册工具。
  4. 构建并重新安装以进行测试。

架构设计

此 MCP 服务器遵循以下设计模式:

  • 模块化设计:每个谷歌服务都位于其自己的模块中。
  • 模式验证:所有参数都使用 Zod 模式进行验证。
  • 错误处理:全面的错误处理,提供有意义的错误消息。
  • 类型安全:完全使用 TypeScript 覆盖,并启用严格模式。
  • 传输无关性:使用 MCP 的标准传输层。

📄 许可证

[License information]

贡献说明

[Contribution guidelines]

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-09-26 17:18

相似服务问题

相关AI产品