背景

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):

  1. 访问百度地图开放平台官网
  2. 创建开发者账号并登录
  3. 在控制台中创建一个服务端AK
  4. 保存生成的API密钥,后续配置中将会使用

通过NPX集成

最简单的使用方式是通过NPX命令行工具快速部署MCP Server:

配置步骤

  1. 打开支持MCP的应用程序配置界面(如Claude for Desktop、Cherry等AI应用)
  2. 进入开发者设置(Developer)部分
  3. 找到并点击”Edit Config”按钮打开配置文件
  4. 将以下配置添加到文件中:
{
    "mcpServers": {
        "baidu-map": {
            "command": "npx",
            "args": [
                "-y",
                "@baidumap/mcp-server-baidu-map"
            ],
            "env": {
                "BAIDU_MAP_API_KEY": "您申请的AK"
            }
        }
    }
}

配置完成后,AI应用将能够直接调用百度地图的各项功能,如路线规划、地点搜索等。

开发者集成

Java应用集成示例

以下是在Java应用中集成百度地图MCP Server的完整示例:

添加依赖

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-mcp</artifactId>
    <version>1.0.0-beta2</version>
</dependency>

集成代码

// 初始化AI模型
ChatLanguageModel model = OpenAiChatModel.builder()
    .apiKey("您的AI模型API密钥")
    .modelName("qwen-max-latest")
    .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
    .logRequests(true)
    .logResponses(true)
    .build();

// 配置MCP传输层
McpTransport transport = new StdioMcpTransport.Builder()
    .command(List.of("npx", "-y", "@baidumap/mcp-server-baidu-map"))
    .environment(Map.of("BAIDU_MAP_API_KEY", "您的百度地图AK"))
    .build();

// 初始化MCP客户端
McpClient mcpClient = new DefaultMcpClient.Builder()
    .transport(transport)
    .logHandler(new DefaultMcpLogMessageHandler())
    .build();

// 配置工具提供者
ToolProvider toolProvider = McpToolProvider.builder()
    .mcpClients(List.of(mcpClient))
    .build();

// 创建AI服务接口
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平台中的集成演示