mcpField
J
java-sdk-mcp-server

java-sdk-mcp-server

本地服务
github.com/moises-paschoalick开发工具070 周前更新

关于 java-sdk-mcp-server

java-sdk-mcp-server 是仅使用 Java SDK 实现 MCP 服务的示例,适合学习或测试基础服务实现的开发者。它通过 STDIO 和 JSON 演示计算器、问候及服务信息工具。

主要功能

  1. 01Java SDK 服务示例
  2. 02基础表达式计算器
  3. 03个性化问候
  4. 04服务信息工具
  5. 05STDIO 与 JSON 消息处理

适用场景

  1. 01学习基础 Java MCP 服务
  2. 02使用 MCP Inspector 测试工具
  3. 03尝试与 Claude Desktop 集成服务

MCP 相关

实现 MCP 服务,通过 STDIO 向 MCP 客户端提供 calculator、greeter 和 get_info 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Java SDK MCP 服务

本项目演示如何仅使用 Java SDK 创建 Model Context Protocol (MCP) 服务。MCP 是一种协议,可让 AI 工具以标准化的方式与外部系统通信。

📋 前置条件

  • Java 24 或更高版本
  • Maven 3.6+
  • Git

🚀 如何运行项目

1. 克隆仓库
git clone https://github.com/moises-paschoalick/java-sdk-mcp-server.git
cd java-sdk-mcp-server
2. 切换到 MCP 项目目录
cd java-mcp
3. 编译项目
mvn clean compile
4. 运行项目
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. calculator

可计算基本数学表达式的简单计算器。

参数:

  • expression:数学表达式(例如:"2 + 3"、"10 * 5")

使用示例:

{
  "expression": "15 + 25"
}
2. greeter

个性化问候。

参数:

  • name:要问候的人的姓名

使用示例:

{
  "name": "João"
}
3. get_info

获取有关 MCP 服务的信息。

参数: 无

🧪 使用 MCP Inspector 测试

若要使用 MCP Inspector 测试服务:

1. 安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector
2. 运行服务
cd java-mcp
mvn clean package
3. 运行 MCP Inspector
# 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_PATH
4. 在 Inspector 中:
  • 在连接面板中检查服务连接
  • 前往“工具”选项卡,查看可用工具
  • 点击各个工具并查看响应,以测试工具
  • 在通知面板中监控日志

🔌 与 Claude Desktop 集成

若要将此 MCP 服务与 Claude Desktop 配合使用:

1. 获取 JAR 的完整路径
cd java-mcp
FULL_PATH=$(pwd)/target/java-mcp-1.0-SNAPSHOT.jar
echo $FULL_PATH
2. 配置 Claude Desktop
  1. 打开 Claude Desktop 的偏好设置
  2. 前往“MCP 服务”部分
  3. 使用以下配置添加新服务:
{
  "java-mcp-example": {
    "command": "java",
    "args": [
      "-jar",
      "$FULL_PATH"
    ]
  }
}

📚 主要依赖项

  • Jackson:用于 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);
}

🎯 后续步骤

  1. 添加更多工具:实现文件操作、数据库查询等工具。
  2. 实现资源:添加对 MCP 资源(Resources)的支持
  3. 添加身份验证:实现安全机制
  4. 改进日志记录:添加结构化日志和指标
  5. 自动化测试:实现单元测试和集成测试
  6. CI/CD:配置构建和部署流水线

📖 其他资源

🤝 参与贡献

  1. Fork 项目
  2. 为你的功能创建一个分支(git checkout -b feature/AmazingFeature)
  3. 提交更改(git commit -m 'Add some AmazingFeature')
  4. 推送到分支(git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

🆘 支持

如果你遇到问题或有疑问,请在仓库中提交 issue。

📝 关于

本项目仅使用 Java SDK 实现 MCP 服务。有关基于 Spring 的实现,请参阅仓库 spring-ai-mcp-server。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。