用户管理MCP服务器

一个基于Spring Boot和Java 21构建的MCP服务器,提供AI助手的用户管理工具。

  • by bytesbyankit
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 ankitjha-webdev/Stock-Management-MCP-Server

使用说明

使用Spring Boot Java的MCP服务器

一个使用Spring Boot和Java 21构建的模型上下文协议(MCP)服务器实现。该项目展示了如何创建一个MCP服务器,该服务器为AI助手提供用户管理工具。

特点/功能

  • 使用Spring AI实现MCP服务器功能
  • 通过MCP暴露用户管理工具
  • 同步通信模式
  • 支持标准I/O和服务器发送事件(Server-Sent Events)传输
  • 集成与DummyJSON外部API以获取用户数据

技术

  • Java 21
  • Spring Boot 3.4.3
  • Spring AI(模型上下文协议)
  • Project Lombok(项目: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传输
  • 揭露(或曝光) /mcp/message SSE通信的端点

可用工具

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

  • getAllUsers - 获取所有用户并进行分页
  • getAllUsersDefault - 获取所有用户,使用默认分页
  • getUserById - 通过ID获取单个用户
  • searchUsers - 通过查询搜索用户
  • addUser - 添加一个新用户
  • updateUser - 更新用户信息
  • deleteUser - 删除用户

使用Postman进行测试

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

  1. 启动MCP服务器

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

    • 方法:POST
    • URL: http://localhost:8090/mcp/message(中文可表述为:本地主机8090端口的MCP消息服务URL)
    • 标题/头部信息:
      • 内容类型:application/json
      • 接受:application/json(表示客户端接受JSON格式的响应)
  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文件中提供的条款进行授权。