UNPKG

geoapify-mcp-server

Version:

Geoapify API MCP Server for location-based services - 一键部署的地理位置服务

305 lines (243 loc) 6.8 kB
# 🎉 MCP 集成完成! ## ✅ MCP 功能已就绪 您的Geoapify MCP服务器现在完全支持MCP协议,可以直接集成到Claude Desktop和其他MCP客户端中! ### 📁 MCP相关文件 ``` geoapify-mcp-server/ ├── 📄 src/mcp/mcpServer.js # ✅ MCP协议实现 ├── 📄 bin/mcp-server.js # ✅ MCP服务器启动脚本 ├── 📄 mcp-client-config.json # ✅ 客户端配置示例 ├── 📄 scripts/test-mcp.js # ✅ MCP测试脚本 ├── 📄 MCP_INTEGRATION_GUIDE.md # ✅ 详细集成指南 └── 📄 MCP_READY.md # ✅ 本文档 ``` ### 🔧 核心功能 - **标准MCP协议**: 完全兼容MCP 2024-11-05规范 - **6个地理位置工具**: 地理编码、路线规划、地点搜索等 - **NPX即用**: 无需安装,直接通过NPX调用 - **错误处理**: 完善的错误处理和日志记录 - **类型安全**: 完整的输入验证和类型检查 ## 🚀 立即配置MCP客户端 ### 📋 **配置代码(复制即用)** ```json { "mcpServers": { "geoapify-maps": { "command": "npx", "args": [ "-y", "geoapify-mcp-server" ], "env": { "GEOAPIFY_API_KEY": "3234bd7e35264a8aa29fc15e89f8f76f" } } } } ``` ### 🎯 **Claude Desktop 配置步骤** 1. **找到配置文件** - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` 2. **添加配置**: 将上述JSON配置添加到配置文件中 3. **重启Claude Desktop**: 重启应用以加载新配置 4. **验证配置**: 在Claude中询问:"你现在有哪些地理位置相关的工具?" ## 🛠️ 可用的MCP工具 配置完成后,您将在MCP客户端中获得以下工具: ### 1. **geocode_address** - 地址地理编码 ``` 请帮我查找"北京市天安门广场"的经纬度坐标 ``` ### 2. **reverse_geocode** - 反向地理编码 ``` 请告诉我坐标 39.9042, 116.4074 对应的地址 ``` ### 3. **calculate_route** - 路线规划 ``` 请帮我规划从北京到上海的驾车路线 ``` ### 4. **search_places** - 地点搜索 ``` 请帮我找到天安门广场周围1公里内的餐厅 ``` ### 5. **address_autocomplete** - 地址自动补全 ``` 请帮我补全地址"北京市朝阳" ``` ### 6. **calculate_isoline** - 等时线计算 ``` 请计算从天安门广场开车30分钟能到达的区域 ``` ## 🧪 测试MCP集成 ### 快速测试 ```bash # 运行MCP测试套件 node scripts/test-mcp.js # 仅测试NPX启动 node scripts/test-mcp.js npx # 仅测试MCP协议 node scripts/test-mcp.js unit ``` ### 手动测试MCP服务器 ```bash # 启动MCP服务器 npx geoapify-mcp-server # 发送测试消息(在另一个终端) echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npx geoapify-mcp-server ``` ## 🌟 实际使用示例 ### 示例1: 旅行规划 **用户提问**: ``` 我想去上海旅行,请帮我: 1. 查找上海外滩的精确坐标 2. 搜索外滩周围2公里内的酒店 3. 规划从浦东机场到外滩的路线 ``` **AI将自动调用**: - `geocode_address` 查找外滩坐标 - `search_places` 搜索附近酒店 - `calculate_route` 规划机场路线 ### 示例2: 商业分析 **用户提问**: ``` 我想在北京开一家咖啡店,请分析三里屯周围的竞争情况 ``` **AI将自动调用**: - `geocode_address` 定位三里屯 - `search_places` 搜索周围咖啡店 - `calculate_isoline` 分析覆盖范围 ### 示例3: 物流优化 **用户提问**: ``` 请帮我优化这些配送地址的路线:[地址列表] ``` **AI将自动调用**: - `geocode_address` 批量地理编码 - `calculate_route` 优化配送路线 ## 🔧 高级配置 ### 自定义API密钥 ```json { "mcpServers": { "geoapify-maps": { "command": "npx", "args": ["-y", "geoapify-mcp-server"], "env": { "GEOAPIFY_API_KEY": "your_custom_api_key_here", "LOG_LEVEL": "debug" } } } } ``` ### 多实例配置 ```json { "mcpServers": { "geoapify-primary": { "command": "npx", "args": ["-y", "geoapify-mcp-server"], "env": { "GEOAPIFY_API_KEY": "primary_key" } }, "geoapify-backup": { "command": "npx", "args": ["-y", "geoapify-mcp-server"], "env": { "GEOAPIFY_API_KEY": "backup_key" } } } } ``` ## 🚨 故障排除 ### 常见问题 #### 1. 工具未出现在客户端 ```bash # 检查配置文件格式 cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq . # 测试MCP服务器 node scripts/test-mcp.js ``` #### 2. API调用失败 ```bash # 验证API密钥 curl "https://api.geoapify.com/v1/geocode/search?text=paris&apiKey=3234bd7e35264a8aa29fc15e89f8f76f" # 检查网络连接 ping api.geoapify.com ``` #### 3. NPX启动失败 ```bash # 检查NPX版本 npx --version # 清除NPX缓存 npx clear-npx-cache # 手动安装测试 npm install -g geoapify-mcp-server ``` ### 调试方法 #### 启用详细日志 ```json { "mcpServers": { "geoapify-maps": { "command": "npx", "args": ["-y", "geoapify-mcp-server"], "env": { "GEOAPIFY_API_KEY": "your_key", "LOG_LEVEL": "debug" } } } } ``` #### 查看MCP客户端日志 - **Claude Desktop**: 查看应用日志 - **其他客户端**: 参考相应文档 ## 📊 性能特性 ### 响应时间 - **地理编码**: < 500ms - **地点搜索**: < 800ms - **路线规划**: < 1000ms - **等时线计算**: < 1500ms ### 并发支持 - **同时请求**: 支持多个并发请求 - **缓存机制**: 自动缓存常用查询 - **错误恢复**: 自动重试和错误处理 ### 资源使用 - **内存占用**: < 50MB - **启动时间**: < 3秒 - **CPU使用**: 低负载运行 ## 📚 更多资源 - **详细集成指南**: [MCP_INTEGRATION_GUIDE.md](./MCP_INTEGRATION_GUIDE.md) - **API文档**: [README.md](./README.md) - **Geoapify文档**: https://docs.geoapify.com/ - **MCP协议规范**: https://modelcontextprotocol.io/ ## 🎯 下一步 1. **配置MCP客户端**: 使用提供的配置代码 2. **重启客户端**: 加载新的工具配置 3. **测试功能**: 尝试地理位置相关的查询 4. **探索用例**: 发现更多应用场景 5. **分享反馈**: 帮助改进服务 --- ## 🎉 **MCP集成完成!** 现在您可以在Claude Desktop或其他MCP客户端中直接使用强大的地理位置服务: ```json { "mcpServers": { "geoapify-maps": { "command": "npx", "args": ["-y", "geoapify-mcp-server"], "env": { "GEOAPIFY_API_KEY": "3234bd7e35264a8aa29fc15e89f8f76f" } } } } ``` 🌍 **开始您的智能地理位置服务体验吧!**