DummyJSON User Management

by mtwn105

4 stars
206 downloads
Not rated
GitHub

About

Java-based user management server that integrates with DummyJSON API to provide retrieval, search, creation, updating, and deletion operations for user data.

Details

Author
mtwn105
Repository
mtwn105/mcp-server-spring-java
GitHub stars
4
Downloads
206
License
Apache License 2.0
Categories
AI, Design, Developer Tools, Search, API, Frontend, Infrastructure, Other

- Implements MCP server functionality using Spring AI
- Exposes user management tools via MCP
- Synchronous communication mode
- Support for Standard I/O and Server-Sent Events transports
- Integrates with DummyJSON external API for user data

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name DummyJSON User Management
    Command (node, npx, python, etc.) java
    Arguments
    • Argument 1 -Dspring.ai.mcp.server.stdio=true
    • Argument 2 -Dspring.main.web-application-type=none
    • Argument 3 -Dlogging.pattern.console=
    • Argument 4 -jar
    • Argument 5 path/to/mcp-spring-java-0.0.1-SNAPSHOT.jar

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The MCP server is configured in application.yml:

- Server runs on port 8090
- Server name: my-dummy-users-server
- Synchronous communication mode
- Supports STDIO transport for terminal-based communication
- Exposes /mcp/message endpoint for SSE communication

You can configure this server in MCP client applications using the following configuration:

{
  "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"
      ]
    }
  }
}

getAllUsers

Get all users with pagination.

getAllUsersDefault

Get all users with default pagination.

getUserById

Get a single user by ID. Parameters: id (integer)

searchUsers

Search for users by query. Parameters: query (string)

addUser

Add a new user.

updateUser

Update a user.

deleteUser

Delete a user.

The server exposes the following user management tools:

- getAllUsers - Get all users with pagination
- getAllUsersDefault - Get all users with default pagination
- getUserById - Get a single user by ID
- searchUsers - Search for users by query
- addUser - Add a new user
- updateUser - Update a user
- deleteUser - Delete a user

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "dummyjson user management": {
            "env": {},
            "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"
            ],
            "shell": false,
            "command": "java"
        }
    }
}

Linux

{
    "env": [],
    "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"
    ],
    "shell": false,
    "command": "java"
}

Macos

{
    "env": [],
    "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"
    ],
    "shell": false,
    "command": "java"
}

Windows

{
    "env": [],
    "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"
    ],
    "shell": false,
    "command": "java"
}

MCP Server using Spring Boot Java

A Model Context Protocol (MCP) server implementation built with Spring Boot and Java 21. This project demonstrates how to create an MCP server that provides user management tools for AI assistants.

Features

- Implements MCP server functionality using Spring AI
- Exposes user management tools via MCP
- Synchronous communication mode
- Support for Standard I/O and Server-Sent Events transports
- Integrates with DummyJSON external API for user data

Technologies

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

Getting Started

Prerequisites

- Java 21 or higher
- Maven

Installation

1. Clone the repository

git clone https://github.com/yourusername/mcp-spring-java.git
cd mcp-spring-java

2. Build the project

mvn clean package

3. Run the application

java -jar target/mcp-spring-java-0.0.1-SNAPSHOT.jar

Configuration

The MCP server is configured in application.yml:

- Server runs on port 8090
- Server name: my-dummy-users-server
- Synchronous communication mode
- Supports STDIO transport for terminal-based communication
- Exposes /mcp/message endpoint for SSE communication

Available Tools

The server exposes the following user management tools:

- getAllUsers - Get all users with pagination
- getAllUsersDefault - Get all users with default pagination
- getUserById - Get a single user by ID
- searchUsers - Search for users by query
- addUser - Add a new user
- updateUser - Update a user
- deleteUser - Delete a user

Testing with Postman

You can use Postman to test the MCP server endpoints:

1. Start the MCP server
2. Open Postman and create a new request:

- Method: POST
- URL: http://localhost:8090/mcp/message
- Headers:
- Content-Type: application/json
- Accept: application/json

3. For the request body, use the following JSON format to invoke any of the available tools:

{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "[TOOL_NAME]",
        "parameters": {
          "[PARAMETER_NAME]": "[PARAMETER_VALUE]"
        }
      }
    ]
  }
}

Example Requests

Get All Users (Default Pagination)

{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "getAllUsersDefault",
        "parameters": {}
      }
    ]
  }
}

Get User by ID

{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "getUserById",
        "parameters": {
          "id": 1
        }
      }
    ]
  }
}

Search Users

{
  "message": {
    "toolCalls": [
      {
        "id": "call-123",
        "name": "searchUsers",
        "parameters": {
          "query": "John"
        }
      }
    ]
  }
}

The response will contain a JSON object with the results from the tool execution.

Usage with MCP Clients

You can configure this server in MCP client applications using the following configuration:

{
  "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

This project is licensed under the terms provided in the LICENSE file.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.