> ## Documentation Index
> Fetch the complete documentation index at: https://blog.pig4cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 百度地图 Java MCP Server集成指南：AI驱动的地图服务

> 全面了解如何通过MCP协议接入百度地图API，支持地理编码、路线规划、地点搜索等核心功能

### 背景

MCP (Model Completion Protocol) 协议已成为AI行业标准化通信协议，支持大型语言模型(LLMs)以统一接口调用外部工具和服务。最近迎来协议生态爆发期。各大厂商的深度接入，不仅大幅提升功能可玩性，更确立了该协议作为AI服务互联的事实标准地位。

<img src="https://minio.pigx.vip/oss/202503/1743097943.png" alt="百度地图MCP服务架构" className="rounded-lg shadow-md" />

百度地图作为**国内首家兼容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密钥

<img src="https://minio.pigx.vip/oss/202503/1743096754.png" alt="百度地图开发者平台" className="rounded-lg shadow-md my-6" />

在使用百度地图MCP Server前，您需要获取API密钥(AK)：

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

### 通过NPX集成

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

#### 配置步骤

1. 打开支持MCP的应用程序配置界面(如Claude for Desktop、Cherry等AI应用)
2. 进入开发者设置(Developer)部分
3. 找到并点击"Edit Config"按钮打开配置文件
4. 将以下配置添加到文件中:

```json theme={null}
{
    "mcpServers": {
        "baidu-map": {
            "command": "npx",
            "args": [
                "-y",
                "@baidumap/mcp-server-baidu-map"
            ],
            "env": {
                "BAIDU_MAP_API_KEY": "您申请的AK"
            }
        }
    }
}
```

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

## 开发者集成

### Java应用集成示例

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

#### 添加依赖

```xml theme={null}
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-mcp</artifactId>
    <version>1.0.0-beta2</version>
</dependency>
```

#### 集成代码

```java theme={null}
// 初始化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平台中的集成演示

<img src="https://minio.pigx.vip/oss/202503/1743096940.png" alt="PIG AI平台MCP配置界面" className="rounded-lg shadow-md my-4" />

<img src="https://minio.pigx.vip/oss/202503/1743096421.png" alt="PIG AI平台路线规划示例" className="rounded-lg shadow-md my-4" />
