Google MCP 服务器
一个全面的模型上下文协议(MCP)服务器,通过统一的API提供对包括地图、金融、航班、Gmail和日历在内的Google服务的访问。
特点/特性
🗺️ 谷歌地图与地点
- 地理编码将地址转换为坐标,反之亦然
- 地点搜索查找商家、地标和兴趣点
- 指示/方向获取两地之间的逐向导航
- 距离矩阵计算多个点之间的旅行时间和距离
- 地点详情获取特定地点的详细信息
📈 Google Finance(谷歌财经)
- 股票搜索搜索股票、指数、共同基金、货币和期货
- 市场数据获取当前价格、走势和市场信息
- 财经新闻获取与证券相关的顶级金融新闻
✈️ Google 飞行(或谷歌航班)
- 机场搜索查找航班和机场信息
- 航班定价获取航班价格和见解
- 多城市旅行支持复杂的多目的地行程
📧 Gmail(电子邮箱)
- 发送电子邮件发送包含主题、正文、抄送(CC)和密送(BCC)的电子邮件
- 阅读电子邮件使用Gmail查询语法列出和搜索电子邮件
- 电子邮件详情通过消息ID获取完整邮件内容
- 标签管理访问Gmail标签和组织结构
📅 Google 日历
- 活动管理创建、读取、更新和删除日历事件
- 多日历支持管理多个日历(个人、工作、旅行)
- 活动列表列出带有过滤器和日期范围的事件
- 日历管理列出并访问不同的日历
安装
先决条件
- Node.js 18及以上版本
- pnpm(推荐)或 npm
设置
- 克隆仓库:
git clone
cd google-mcp- 安装依赖项:
pnpm install- 构建项目:
pnpm run buildMCP客户端集成
将服务器安装到您偏好的MCP客户端上:
# Install to all MCP clients
pnpm run install-server
# Install to specific clients
pnpm run install-desktop # Claude Desktop
pnpm run install-cursor # Cursor IDE
pnpm run install-code # Claude Code
pnpm run install-mcp # Local .mcp.json only配置
环境变量
创建一个 .env.local 在项目根目录中放置您的Google 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设置
- 谷歌地图API在 Google Cloud Console 中启用地图、地点和路线方向 API
- Gmail/日历设置OAuth 2.0凭据并获取刷新令牌
- 金融/航班使用Google的公共API(无需额外设置)
使用方法
运行服务器
# Start the compiled server
pnpm start
# Or run in development mode
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 # Main MCP server implementation
├── maps.ts # Google Maps & Places functionality
├── finance.ts # Google Finance integration
├── airports.ts # Google Flights integration
├── gmail.ts # Gmail API integration
└── calendar.ts # Google Calendar integration
scripts/
└── update-config.js # MCP client configuration installer
dist/ # Compiled JavaScript output关键技术
- MCP SDK(MCP软件开发工具包):
@modelcontextprotocol/sdk用于协议实现 - 模式验证用于运行时类型检查的Zod
- Google APIs(谷歌应用程序编程接口)官方Google客户端库
- TypeScript以ES2022为目标的完全类型安全
- 交通用于MCP通信的StdioServerTransport
开发工作流程
- 在TypeScript文件中进行更改
src/ - 构建:
pnpm run build - 测试:
pnpm start - 安装到客户端:
pnpm run install-server - 重启MCP客户端以加载更改
添加新工具
- 为参数定义 Zod 模式
- 实现处理函数
- 在(某处)注册工具
src/index.ts使用server.tool() - 构建并重新安装以进行测试
建筑学
这个MCP服务器遵循以下设计模式:
- 模块化设计每个谷歌服务都位于其各自的模块中
- 模式验证所有参数均通过Zod模式验证
- 错误处理全面的错误处理,附带有意义的提示信息
- 类型安全全面支持TypeScript,启用严格模式
- 与传输技术无关使用MCP的标准传输层
许可证
\[许可证信息\]
做出贡献
\[贡献指南\]
