NOTE: This project has been graduated and moved to the

NOTE: This project has been graduated and moved to the

为Model Context Protocol (MCP)提供的Java SDK,使得Java和Spring应用程序能够与符合MCP标准的AI模型和工具无缝集成。

注意: 此项目已毕业并迁移至 MCP Java SDKSpring AI MCP。请移步新仓库!

简介

Model Context Protocol (MCP) Java SDK 使 Java 应用程序能够通过标准化接口与 AI 模型和工具进行交互,支持同步和异步通信模式。

快速安装

Maven 依赖

<!-- 核心 MCP -->
<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>mcp</artifactId>
</dependency>

<!-- 可选:Spring AI 集成 -->
<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>spring-ai-mcp</artifactId>
</dependency>

添加仓库

<repositories>
    <repository>
        <id>spring-milestones</id>
        <url>https://repo.spring.io/milestone</url>
        <snapshots><enabled>false</enabled></snapshots>
    </repository>
</repositories>

主要功能

  • MCP Java SDK: 提供同步和异步客户端/服务器实现
  • 传输选项: 支持 Stdio 和 HTTP SSE 传输
  • Spring 集成: 与 Spring AI 功能调用系统无缝集成

基本用法示例

客户端示例

McpClient mcpClient = McpClient.builder()
    .transport(new HttpClientSseClientTransport("http://localhost:8080/mcp"))
    .build();

// 工具发现
ResourceDto[] tools = mcpClient.discover().join();

// 提示请求
PromptResponseDto response = mcpClient.prompt(
    PromptRequestDto.builder()
        .prompt("使用employee_db工具查询所有员工")
        .build()
).join();

服务器示例

McpServer mcpServer = McpServer.builder()
    .transport(new HttpServletSseServerTransport("/mcp"))
    .resource(new DatabaseTool("employee_db"))  // 自定义工具
    .build();

mcpServer.start();

了解更多

许可证

该项目根据 Apache License 2.0 许可。