Java SDK MCP服务器
本项目演示如何创建一个 模型上下文协议(MCP)服务器 使用Java SDK。MCP是一种协议,允许人工智能工具以标准化的方式与外部系统进行通信。
📋 先决条件
- Java 24 你上级
- 梅文 3.6+
- Git
🚀 如何执行项目
1. 克隆仓库
git clone https://github.com/moises-paschoalick/java-sdk-mcp-server.git
cd java-sdk-mcp-server2. 导航到 MCP 项目目录
cd java-mcp3. 编写项目
mvn clean compile4. 执行项目
mvn exec:java或者创建一个可执行的 JAR 并运行:
mvn clean package
java -jar target/java-mcp-1.0-SNAPSHOT.jar🏗️ 项目结构
java-sdk-mcp-server/
├── java-mcp/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── org/example/
│ │ │ │ └── Main.java
│ │ │ └── resources/
│ │ └── test/
│ ├── pom.xml
│ └── .gitignore
├── README.md
├── test-examples.md
└── .gitignore🔧 功能实现
MCP 服务器实现了以下工具:
1. 计算器
简单的计算器,用于评估基本的数学表达式。
参数 :
expression数学表达式(例如:“2 + 3”,“10 * 5”)
使用范例:
{
"expression": "15 + 25"
}2. 迎宾员
个性化的问候。
参数 :
name问候的人的名字
使用范例:
{
"name": "João"
}3. 获取信息
获取有关 MCP 服务器的信息 。
参数 : 无
🧪 使用 MCP Inspector 进行测试
若要使用 MCP Inspector 测试服务器:
1. 安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector2. 运行服务器
cd java-mcp
mvn clean package3.执行MCP检查员
# Obtenha o caminho completo do JAR
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
# Execute o inspector
npx @modelcontextprotocol/inspector java -jar $FULL_PATH4.无检查员:
- 在连接面板中检查服务器连接
- 导航到“工具”选项卡以查看可用的工具
- 通过点击它们并查看答案来测试每个工具
- 在通知面板中监视日志
🔌 与 Claude Desktop 集成
要将此 MCP 服务器与 Claude Desktop 配合使用:
1. 获取完整的 JAR 路径
cd java-mcp
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH2.配置克劳德桌面
- 打开 Claude 桌面首选项
- 导航到“MCP服务器”部分
- 添加具有以下配置的新服务器 :
{
"java-mcp-example": {
"command": "java",
"args": [
"-jar",
"$FULL_PATH"
]
}
}📚 主要依赖关系
- 杰克逊用于 JSON 处理
- SLF4J:对位记录
🔍 实施范例
服务器采用简化的方法实现,使用STDIO和JSON模拟MCP行为:
// Configurar entrada e saída
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
// Enviar handshake inicial
sendHandshake(writer);
// Loop principal para processar mensagens
String line;
while ((line = reader.readLine()) != null) {
JsonNode request = mapper.readTree(line);
processRequest(request, writer);
}🎯 下一步
- 添加更多工具实施用于文件操作、数据库查询等的工具。
- 实现递归添加对 MCP 资源的支持
- 添加身份验证:实施安全机制
- 改进日志记录添加结构化日志和指标
- 自动化测试实施单元和集成测试
- CI/CD:配置管道构建和部署
📖 额外资源
🤝 贡献
- 创建项目分叉
- 为您的功能创建一个分支 (
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推动一个分支(
git push origin feature/AmazingFeature) - 打开 Pull Request
📄 许可证
这个项目是MIT许可的。查看文件 LICENSE 了解更多详情。
🆘 支持
如果您遇到任何问题或有疑问,请在仓库中打开一个问题。
📝 关于
本项目仅使用 Java SDK 来实现 MCP Server。对于基于 Spring 的实现,请参阅仓库 spring ai mcp服务器.
