> ## 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.

# MCP没你想的复杂！Java开发 MCP 服务端实战

## 背景

Model Context Protocol（MCP）作为新一代 AI 服务交互协议，近期发布了 Java SDK 0.8 版本。虽然新版本带来了更强大的会话管理能力和工具集成机制，但直接使用原生 SDK 仍存在以下挑战：

1. 需要手动处理依赖注入和生命周期管理
2. 工具注册流程较为复杂
3. 缺乏与现有 Spring 生态的深度整合

为此，Spring 官方团队与 MCP 项目合作推出了 **Spring AI MCP** 扩展，通过 Spring Boot Starter 实现一键式整合，显著降低企业级 AI 服务的开发门槛。

## 效果展示

本文将指导您如何基于 Spring AI MCP 构建一个自定义业务的 Java MCP Server，实现在各种客户端中直接调用企业级 AI 服务的能力。通过这种方式，您可以将自己的业务逻辑和工具无缝集成到 AI 交互流程中，为用户提供更智能、更贴合业务场景的体验。

![集成 MCP 协议的 IDE 智能问答](https://minio.pigx.vip/oss/202503/1742788566.png)

## 开发步骤

### 1. 环境准备

```xml theme={null}
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-mcp-server-webmvc-spring-boot-starter</artifactId>
</dependency>
```

### 2. 业务实现

```java theme={null}
@Service
public class MeilisearchService {
    
    /**
     * 智能文档检索（支持语义匹配）
     * @param question 用户自然语言提问
     * @return 结构化知识内容
     */
    @Tool(description = "PIG ISSUE 知识库检索，解决用户技术问题")
    public String queryQuestion(@ToolParam(description = "用户的技术问题描述") String question) {
        Client client = new Client(new Config("https://search.pig4cloud.com", "Aii1ERRT9-e1HHUsyTgzrljQFmHgnsC1iCa9_css5e4"));
        
        SearchResult results = client.index("pigx-doc")
            .search(new SearchRequest(question)
                .setShowMatchesPosition(true)
                .setSort(new String[]{"lvl2:desc"})
                .setLimit(1));

        return results.getHits().stream()
            .map(hit -> "【"+hit.get("lvl0")+"】"+hit.get("text"))
            .collect(Collectors.joining("\n\n"));
    }
}
```

### 3. 服务注册

```java theme={null}
@Configuration
public class McpConfig {

    @Bean
    public ToolCallbackProvider documentTools(MeilisearchService searchService) {
        return MethodToolCallbackProvider.builder()
               .toolObjects(searchService)
               .build();
    }
}
```

## 客户端配置指南

### 通用配置

```json theme={null}
{
  "mcpServers": {
    "pig-issue": {
      "isActive": true,
      "command": "java",
      "args": [
        "-Dspring.ai.mcp.server.stdio=true",
        "-jar",
        "/Users/lengleng/env/repository/io/github/pig-mesh/pig-issue-query-mcp/0.0.1-SNAPSHOT/pig-issue-query-mcp-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}
```

### 图形化配置步骤

### 客户端工具配置

Cherry 客户端配置界面：\
![Cherry 客户端配置](https://minio.pigx.vip/oss/202503/1742790017.png)

PIG AI 客户端配置界面：\
![PIG AI 客户端配置](https://minio.pigx.vip/oss/202503/1742790074.png)

## 总结

## 总结

ModelContextProtocol（MCP）作为面向大模型应用的标准协议，虽然规范发布已久，但随着 [Java SDK](https://github.com/modelcontextprotocol/java-sdk) 的正式推出，Java 生态正在加速拥抱这一标准。Spring AI MCP 通过以下特性显著简化了开发流程：

**声明式编程模型**：使用 `@Tool` 注解快速暴露业务能力为 AI 工具

通过本文演示的 Meilisearch 集成案例可以看到，借助 Spring AI MCP 只需三步即可完成传统服务的 AI 能力封装：工具方法开发 → 服务注册 → 客户端配置。这种低侵入式的集成方式既保留了现有技术栈的优势，又为系统赋予了智能交互能力。随着 Java 生态对 MCP 的支持日趋完善，采用该协议构建企业级 AI 应用将成为提升开发效率、降低维护成本的最佳实践。
