Java 接入 io.modelcontextprotocol.sdk
时间: 2025-06-09 21:35:15 AIGC 浏览: 44
### Java 中接入和使用 `io.modelcontextprotocol.sdk` 的方法
#### 1. 添加依赖项
为了在 Java 项目中使用 `io.modelcontextprotocol.sdk`,需要先将其作为 Maven 或 Gradle 依赖引入。以下是基于 Maven 的配置示例:
```xml
<dependency>
<groupId>io.modelcontextprotocol</groupId>
<artifactId>mcp-sdk-java</artifactId>
<version>1.0.0</version> <!-- 版本号需根据实际版本调整 -->
</dependency>
```
如果使用的是 Gradle,则可以在 `build.gradle` 文件中添加如下内容:
```gradle
implementation 'io.modelcontextprotocol:mcp-sdk-java:1.0.0' // 版本号需根据实际情况修改
```
此操作完成后,可以通过 IDE 自动下载所需库文件[^2]。
---
#### 2. 创建 MCP 客户端实例
通过 `io.modelcontextprotocol.sdk.MCPClientBuilder` 类构建一个客户端对象,用于与远程或本地的 MCP 服务器通信。以下是一个基本的初始化代码片段:
```java
import io.modelcontextprotocol.sdk.MCPClient;
import io.modelcontextprotocol.sdk.MCPClientBuilder;
public class MCPSample {
public static void main(String[] args) {
try (MCPClient client = new MCPClientBuilder()
.setServerAddress("http://localhost:8080") // 设置目标 MCP 服务器地址
.setTimeout(5000) // 超时时间设置为 5 秒
.build()) {
System.out.println("Connected to MCP server.");
// 执行后续逻辑...
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在此代码中,`MCPClientBuilder` 提供了一个灵活的方式来指定服务器地址和其他参数。默认情况下,它支持 HTTP 和 WebSocket 协议[^1]。
---
#### 3. 发送请求并与 GitHub API 进行交互
假设我们希望利用 MCP SDK 来访问 GitHub 上的一个资源(例如获取某个仓库的信息),可以按照以下方式编写代码:
```java
import io.modelcontextprotocol.sdk.request.Request;
import io.modelcontextprotocol.sdk.response.Response;
public class GitHubSample {
public static void main(String[] args) throws Exception {
String repoUrl = "https://api.github.com/repos/octocat/Hello-World";
Request request = new Request.Builder()
.setMethod(Request.Method.GET)
.setUrl(repoUrl)
.addHeader("Authorization", "Bearer YOUR_GITHUB_TOKEN") // 替换为您的个人令牌
.build();
Response response = client.send(request); // 假设已存在有效的 MCPClient 实例
if (response.getStatusCode() == 200) { // 成功响应
System.out.println(response.getBodyAsString());
} else {
System.err.println("Error occurred: " + response.getStatusCode());
}
}
}
```
这段代码展示了如何通过 MCP SDK 构建自定义请求,并发送至外部服务(这里是 GitHub)。注意,在生产环境中应妥善管理敏感数据(如 OAuth Token)[^1]。
---
#### 4. 配置本地 MCP 服务器
对于某些场景可能需要部署自己的 MCP 服务器来测试功能或者扩展能力。下面是如何快速搭建 Spring Boot 应用程序中的简单 MCP 服务[^2]:
##### (1)克隆官方样例工程
执行命令拉取源码并导入环境:
```bash
git clone https://github.com/beilingai/simple-mcp-server.git
cd simple-mcp-server/
mvn clean install
java -jar target/mcp-server-1.0-SNAPSHOT.jar
```
##### (2)验证服务可用性
确认应用成功启动后,可通过浏览器或其他工具访问接口路径 `/health-check` 查看状态返回值是否正常。
---
#### 5. 工具链集成
当涉及到更复杂的业务需求时,还可以借助 JSON 格式的配置文件进一步细化行为模式。例如针对 Python 后端的服务描述符可参见引用[^3]:
```json
{
"mcpServers": {
"demo-python-server": {
"autoApprove": [],
"disabled": false,
"timeout": 3000,
"command": "/Users/xxxx/.venv/bin/python3",
"args": [
"/Users/xxxxx/mcp_server_demo/mcp_server.py"
],
"transportType": "stdio"
}
}
}
```
该结构允许开发者动态加载不同类型的子模块而无需频繁重启主进程[^3]。
最后记得激活对应组件以便于实时生效[^4]。
---
### 总结
本文介绍了从基础环境搭建到高级定制化选项的一系列步骤指导您完成整个流程。无论是初学者还是资深工程师都能从中受益匪浅!
阅读全文
相关推荐

















