背景
MCP (Model Completion Protocol) 协议已成为AI行业标准化通信协议,支持大型语言模型(LLMs)以统一接口调用外部工具和服务。最近迎来协议生态爆发期。各大厂商的深度接入,不仅大幅提升功能可玩性,更确立了该协议作为AI服务互联的事实标准地位。
百度地图作为国内首家兼容MCP协议的地图服务商,现已全面支持通过MCP协议接入其核心API。此集成方案为开发者提供了在AI应用中轻松调用地图服务的能力,无需复杂的底层开发。
百度地图MCP优势
- 一键接入:通过简单配置即可在AI应用中使用地图能力
- 功能全面:提供8个核心地图API,满足大多数地理信息需求
- 轻量级集成:支持NPX快速部署,无需复杂开发
功能列表
百度地图MCP Server目前提供以下核心API:
| 功能 |
API接口 |
应用场景 |
| 地理编码 |
geocoder_v2 |
将地址文本转换为经纬度坐标 |
| 逆地理编码 |
reverse_geocoding_v3 |
将经纬度坐标转换为结构化地址 |
| 地点检索 |
place_v2_search |
搜索周边或特定区域的POI信息 |
| 地点详情 |
place_v2_detail |
获取特定POI的详细信息 |
| 批量算路 |
routematrix_v2_driving |
计算多个起终点对之间的行车距离和时间 |
| 路线规划 |
directionlite_v1 |
提供驾车、步行、骑行和公交路线规划 |
| 天气查询 |
weather_v1 |
查询指定城市的实时天气和预报 |
| IP定位 |
location_ip |
根据IP地址获取大致位置信息 |
快速入门
申请百度地图API密钥
在使用百度地图MCP Server前,您需要获取API密钥(AK):
- 访问百度地图开放平台官网
- 创建开发者账号并登录
- 在控制台中创建一个服务端AK
- 保存生成的API密钥,后续配置中将会使用
通过NPX集成
最简单的使用方式是通过NPX命令行工具快速部署MCP Server:
配置步骤
- 打开支持MCP的应用程序配置界面(如Claude for Desktop、Cherry等AI应用)
- 进入开发者设置(Developer)部分
- 找到并点击”Edit Config”按钮打开配置文件
- 将以下配置添加到文件中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| { "mcpServers": { "baidu-map": { "command": "npx", "args": [ "-y", "@baidumap/mcp-server-baidu-map" ], "env": { "BAIDU_MAP_API_KEY": "您申请的AK" } } } }
|
配置完成后,AI应用将能够直接调用百度地图的各项功能,如路线规划、地点搜索等。
开发者集成
Java应用集成示例
以下是在Java应用中集成百度地图MCP Server的完整示例:
添加依赖
1 2 3 4 5
| <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-mcp</artifactId> <version>1.0.0-beta2</version> </dependency>
|
集成代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| ChatLanguageModel model = OpenAiChatModel.builder() .apiKey("您的AI模型API密钥") .modelName("qwen-max-latest") .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1") .logRequests(true) .logResponses(true) .build();
McpTransport transport = new StdioMcpTransport.Builder() .command(List.of("npx", "-y", "@baidumap/mcp-server-baidu-map")) .environment(Map.of("BAIDU_MAP_API_KEY", "您的百度地图AK")) .build();
McpClient mcpClient = new DefaultMcpClient.Builder() .transport(transport) .logHandler(new DefaultMcpLogMessageHandler()) .build();
ToolProvider toolProvider = McpToolProvider.builder() .mcpClients(List.of(mcpClient)) .build();
Bot bot = AiServices.builder(Bot.class) .chatLanguageModel(model) .toolProvider(toolProvider) .build();
try { Result<String> chat = bot.chat("从大兴机场到北邮南门怎么走?大概需要多久"); System.out.println(chat.getValue()); } finally { mcpClient.close(); }
|
实际应用示例
PIG AI平台中的集成演示