mcpField
M
MCP Server using Spring Boot Java

MCP Server using Spring Boot Java

本地服务
github.com/iyerajesh开发工具056 周前更新

关于 MCP Server using Spring Boot Java

这是面向构建 AI 助手集成的 Spring Boot 与 Java 21 示例 MCP 服务,提供同步用户管理工具,并通过 DummyJSON 获取用户数据。

主要功能

  1. 01查询、搜索、新增、更新和删除用户
  2. 02分页及默认分页的用户列表
  3. 03同步 MCP 通信
  4. 04STDIO 和 SSE 传输
  5. 05集成 DummyJSON 用户数据

适用场景

  1. 01向 AI 助手提供用户操作工具
  2. 02通过 Postman 测试 MCP 工具
  3. 03构建基于 Spring AI 的 MCP 服务

MCP 相关

向 MCP 客户端提供用户管理工具,包括查询、搜索、新增、更新和删除操作。支持 STDIO 和 Server-Sent Events 传输。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

使用 Spring Boot Java 构建 MCP 服务

此 Model Context Protocol(MCP)服务使用 Spring Boot 和 Java 21 构建。本项目演示了如何创建一个为 AI 助手提供用户管理工具的 MCP 服务。

功能

  • 使用 Spring AI 实现 MCP 服务功能
  • 通过 MCP 提供用户管理工具
  • 同步通信模式
  • 支持标准输入/输出和服务器发送事件传输
  • 集成 DummyJSON 外部 API 获取用户数据

技术

  • Java 21
  • Spring Boot 3.4.3
  • Spring AI(Model Context Protocol)
  • Project Lombok
  • Maven

快速开始

前置条件
  • Java 21 或更高版本
  • Maven
安装
  1. 克隆代码仓库
git clone https://github.com/yourusername/mcp-spring-java.git
cd mcp-spring-java
  1. 构建项目
mvn clean package
  1. 运行应用程序
java -jar target/mcp-spring-java-0.0.1-SNAPSHOT.jar

配置

MCP 服务在 application.yml 中配置:

  • 服务运行在端口 8090
  • 服务名称:my-dummy-users-server
  • 同步通信模式
  • 支持基于终端通信的 STDIO 传输
  • 提供用于 SSE 通信的 /mcp/message 端点

可用工具

此服务提供以下用户管理工具:

  • getAllUsers - 获取所有用户并支持分页
  • getAllUsersDefault - 使用默认分页获取所有用户
  • getUserById - 根据 ID 获取单个用户
  • searchUsers - 根据查询内容搜索用户
  • addUser - 添加新用户
  • updateUser - 更新用户
  • deleteUser - 删除用户

使用 Postman 测试

你可以使用 Postman 测试 MCP 服务端点:

  1. 启动 MCP 服务

  2. 打开 Postman 并创建新请求:

  3. 对于请求正文,使用以下 JSON 格式调用任意可用工具:

{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "[TOOL_NAME]",
        "parameters": {
          "[PARAMETER_NAME]": "[PARAMETER_VALUE]"
        }
      }
    ]
  }
}
请求示例
获取所有用户(默认分页)
{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "getAllUsersDefault",
        "parameters": {}
      }
    ]
  }
}
根据 ID 获取用户
{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "getUserById",
        "parameters": {
          "id": 1
        }
      }
    ]
  }
}
搜索用户
{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "searchUsers",
        "parameters": {
          "query": "John"
        }
      }
    ]
  }
}

响应将包含一个 JSON 对象,其中包含工具执行结果。

与 MCP 客户端搭配使用

你可以使用以下配置,在 MCP 客户端应用程序中配置此服务:

{
  "mcpServers": {
    "dummy-user-server": {
      "command": "java",
      "args": [
        "-Dspring.ai.mcp.server.stdio=true",
        "-Dspring.main.web-application-type=none",
        "-Dlogging.pattern.console=",
        "-jar",
        "path/to/mcp-spring-java-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}

许可证

本项目遵循 LICENSE 文件中规定的条款授权。

评论

支持 Markdown

第一次接触 MCP?

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

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