用户管理MCP服务器

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

  • by hesaru
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 hesaru/erpMcpServer

使用说明

使用Spring Boot Java的MCP服务器

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

特性

  • 使用Spring AI实现MCP服务器功能
  • 通过MCP公开用户管理工具
  • 同步通信模式
  • 支持标准I/O和服务器发送事件传输
  • 与DummyJSON外部API集成,用于用户数据

技术

  • Java 21
  • 弹簧靴3.4.3
  • Spring AI(模型上下文协议)
  • 龙目岛项目
  • 梅文

入门指南

先决条件

  • Java 21或更高版本
  • 梅文

安装

  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上运行
  • 服务器名称:我的虚拟用户服务器
  • 同步通信模式
  • 支持基于终端的通信的STDIO传输
  • 暴露 /mcp/message SSE通信端点

可用工具

服务器公开了以下用户管理工具:

  • getAllUsers -获取所有具有分页功能的用户
  • getAllUsersDefault -使用默认分页获取所有用户
  • getUserById -按ID获取单个用户
  • searchUsers -按查询搜索用户
  • addUser -添加新用户
  • updateUser -更新用户
  • deleteUser -删除用户

使用Postman进行测试

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

  1. 启动MCP服务器

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

    • 方法:POST
    • 网址:http://localhost:8090/mcp/message
    • 标题:
      • 内容类型:应用程序/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"
      ]
    }
  }
}

许可证

此项目根据许可文件中提供的条款获得许可。