mcp-amap
Provides map services such as geocoding, POI search, and route planning through the Amap API, enabling AI applications to interact with map data via natural language.
README
高德地图 MCP Server
一个基于 Model Context Protocol (MCP) 的高德地图服务器,为 AI 应用提供地理编码、搜索、路径规划等地图服务功能。
功能特性
🗺️ 地理编码服务
- 地理编码:将地址转换为经纬度坐标
- 逆地理编码:将经纬度坐标转换为详细地址信息
🔍 搜索服务
- 关键字搜索:根据关键字搜索 POI 信息
- 周边搜索:在指定位置周围搜索 POI
- 多边形搜索:在多边形区域内搜索 POI
- ID 查询:根据 POI ID 获取详细信息
🛣️ 路径规划
- 驾车路径规划:计算最优驾车路线
- 步行路径规划:计算步行路线
- 公交路径规划:查询公交换乘方案
- 距离计算:计算两点间的直线距离和行驶距离
💡 输入提示
- 智能提示:根据用户输入提供地点建议
🌍 坐标转换
- 坐标系转换:支持 GPS、百度、MapBar 等坐标系转换为高德坐标
快速开始
1. 获取高德地图 API Key
- 访问 高德开放平台
- 注册并登录账号
- 创建应用并申请 "Web 服务 API" Key
2. 安装依赖
npm install
3. 配置环境变量
cp .env.example .env
编辑 .env 文件,填入你的高德地图 API Key:
AMAP_API_KEY=your_amap_api_key_here
4. 构建项目
npm run build
5. 启动服务器
npm start
或者开发模式:
npm run dev
MCP 工具说明
地理编码工具
geocode
将地址转换为经纬度坐标
参数:
address(string): 要转换的地址city(string, 可选): 指定城市,提高准确性
reverse_geocode
将经纬度坐标转换为地址信息
参数:
location(string): 经纬度坐标,格式:"经度,纬度"radius(number, 可选): 搜索半径,默认 1000 米
搜索工具
search_poi
根据关键字搜索 POI
参数:
keywords(string): 搜索关键字city(string, 可选): 指定城市types(string, 可选): POI 类型代码page_size(number, 可选): 每页结果数,默认 20page_num(number, 可选): 页码,默认 1
search_around
周边搜索
参数:
location(string): 中心点坐标,格式:"经度,纬度"keywords(string, 可选): 搜索关键字types(string, 可选): POI 类型代码radius(number, 可选): 搜索半径,默认 3000 米page_size(number, 可选): 每页结果数,默认 20
路径规划工具
driving_route
驾车路径规划
参数:
origin(string): 起点坐标,格式:"经度,纬度"destination(string): 终点坐标,格式:"经度,纬度"waypoints(string, 可选): 途经点,多个点用 ";" 分隔strategy(number, 可选): 路径策略,默认 0(速度优先)
walking_route
步行路径规划
参数:
origin(string): 起点坐标destination(string): 终点坐标
transit_route
公交路径规划
参数:
origin(string): 起点坐标destination(string): 终点坐标city(string): 城市名称strategy(number, 可选): 公交策略,默认 0(最快捷)
其他工具
input_tips
输入提示
参数:
keywords(string): 输入关键字city(string, 可选): 指定城市datatype(string, 可选): 返回数据类型,默认 "all"
coordinate_convert
坐标转换
参数:
locations(string): 要转换的坐标,多个坐标用 ";" 分隔coordsys(string): 原坐标系类型(gps, mapbar, baidu)
distance_calculate
距离计算
参数:
origins(string): 起点坐标,多个点用 ";" 分隔destination(string): 终点坐标type(number, 可选): 距离类型,1=直线距离,3=驾车距离
在 Claude Desktop 中使用
- 确保 MCP 服务器正在运行
- 在 Claude Desktop 的配置文件中添加服务器配置:
{
"mcpServers": {
"amap": {
"command": "node",
"args": ["/path/to/mcp-amap/dist/index.js"],
"env": {
"AMAP_API_KEY": "your_amap_api_key_here"
}
}
}
}
- 重启 Claude Desktop
- 现在你可以在对话中使用高德地图功能了!
示例用法
用户:帮我查找北京市朝阳区附近的咖啡厅
AI:我来帮你搜索北京市朝阳区附近的咖啡厅...
用户:计算从天安门到故宫的步行路线
AI:我来为你规划从天安门到故宫的步行路线...
用户:这个坐标 116.397499,39.908722 是什么地方?
AI:我来查询这个坐标对应的地址信息...
开发
项目结构
mcp-amap/
├── src/
│ ├── index.ts # 主入口文件
│ ├── server.ts # MCP 服务器实现
│ ├── tools/ # 工具实现
│ │ ├── geocoding.ts # 地理编码工具
│ │ ├── search.ts # 搜索工具
│ │ ├── routing.ts # 路径规划工具
│ │ └── utils.ts # 通用工具
│ ├── types/ # 类型定义
│ │ └── amap.ts # 高德地图 API 类型
│ └── utils/ # 工具函数
│ ├── api.ts # API 客户端
│ └── logger.ts # 日志工具
├── dist/ # 编译输出
├── package.json
├── tsconfig.json
└── README.md
添加新功能
- 在
src/tools/目录下创建新的工具文件 - 在
src/server.ts中注册新工具 - 更新类型定义和文档
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
相关链接
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。