一个强大的模型上下文协议(MCP)服务器,提供全面的 Google 地图 API 集成,支持流式 HTTP 传输和大型语言模型处理能力。
本项目得到了社区的贡献。
特别感谢 @junyinnnn 帮助添加了对 streamablehttp 的支持。
此 MCP 服务器已测试并验证可与以下内容正确工作:
所有工具和功能通过实际测试确认有效。
位置搜索
地理编码服务
距离与方向
高程数据
⚠️ 重要通知:此服务器使用 HTTP 传输,而非 stdio。直接在 MCP 服务器设置中使用 npx 是不被支持的。
# 全局安装
npm install -g @cablate/mcp-google-map
# 运行服务器
mcp-google-map --port 3000 --apikey "your_api_key_here"
# 使用短选项
mcp-google-map -p 3000 -k "your_api_key_here"
⚠️ 警告:不能直接在 MCP 服务器设置中使用 stdio 模式
步骤 1:在终端中启动 HTTP 服务器
# 在单独的终端运行
npx @cablate/mcp-google-map --port 3000 --apikey "YOUR_API_KEY"
# 或使用环境变量
GOOGLE_MAPS_API_KEY=YOUR_API_KEY npx @cablate/mcp-google-map
步骤 2:配置 MCP 客户端使用 HTTP
{
"mcp-google-map": {
"transport": "http",
"url": "http://localhost:3000/mcp"
}
}
// 这将**不起作用** - 不支持 stdio 模式
{
"mcp-google-map": {
"command": "npx",
"args": ["@cablate/mcp-google-map"]
}
}
http://localhost:3000/mcpAPI 密钥可以通过三种方式提供(优先级顺序):
HTTP 头部(最高优先级)
// MCP 客户端配置
{
"mcp-google-map": {
"transport": "streamableHttp",
"url": "http://localhost:3000/mcp",
// 如果您的 MCP 客户端支持 'headers'
"headers": {
"X-Google-Maps-API-Key": "YOUR_API_KEY"
}
}
}
命令行
mcp-google-map --apikey YOUR_API_KEY
环境变量(.env 文件或命令行)
GOOGLE_MAPS_API_KEY=your_api_key_here
MCP_SERVER_PORT=3000
服务器提供了以下工具:
# 克隆仓库
git clone https://github.com/cablate/mcp-google-map.git
cd mcp-google-map
# 安装依赖
npm install
# 设置环境变量
cp .env.example .env
# 编辑 .env 文件以包含您的 API 密钥
# 构建项目
npm run build
# 启动服务器
npm start
# 或者在开发模式下运行
npm run dev
src/
├── cli.ts # 主 CLI 入口点
├── config.ts # 服务器配置
├── index.ts # 包导出
├── core/
│ └── BaseMcpServer.ts # 基础 MCP 服务器,支持流式 HTTP
└── tools/
└── maps/ # Google 地图工具
├── toolclass.ts # Google 地图 API 客户端
├── searchPlaces.ts # 地图服务层
├── searchNearby.ts # 搜索附近地点
├── placeDetails.ts # 地点详情
├── geocode.ts # 地理编码
├── reverseGeocode.ts # 反向地理编码
├── distanceMatrix.ts # 距离矩阵
├── directions.ts # 方向
└── elevation.ts # 高程数据
MIT
欢迎社区参与和贡献!以下是您可以如何贡献的方法:
如果您有任何问题或建议,请随时联系我们:
X-Google-Maps-API-Key 头传递 API 密钥