mcpField
M
MCP Server using Spring Boot Java

MCP Server using Spring Boot Java

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

关于 MCP Server using Spring Boot Java

这是一个基于 Spring Boot、Java 21 和 Spring AI 的 MCP 服务示例,面向构建 AI 用户管理能力的开发者。它通过同步通信提供用户查询与修改工具,并支持标准输入输出和 SSE 传输。

主要功能

  1. 01提供用户管理工具
  2. 02支持分页查询、搜索与 CRUD
  3. 03支持同步通信
  4. 04支持标准输入输出和 SSE
  5. 05通过 DummyJSON 获取用户数据

适用场景

  1. 01向 AI 客户端提供用户查询能力
  2. 02按 ID 查找并更新用户
  3. 03测试不同 MCP 传输方式

MCP 相关

该 MCP 服务向客户端公开用户管理工具,包括查询、搜索、新增、更新和删除用户。支持标准输入输出与 SSE 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。