mcpField
M
MCP Server using Spring Boot Java

MCP Server using Spring Boot Java

Local
github.com/iyerajeshDeveloper Tools0Updated 56w ago

About MCP Server using Spring Boot Java

A Spring Boot and Java 21 example MCP server for user-management operations, intended for developers building AI assistant integrations. It offers synchronous tools over STDIO or SSE and retrieves user data through DummyJSON.

Key features

  1. 01User lookup, search, creation, updates, and deletion
  2. 02Paginated and default user listings
  3. 03Synchronous MCP communication
  4. 04STDIO and SSE transports
  5. 05DummyJSON user data integration

Use cases

  1. 01Expose user operations to an AI assistant
  2. 02Test MCP tools through Postman
  3. 03Build a Spring AI MCP server

MCP support

Exposes user-management tools to MCP clients, including lookup, search, create, update, and delete operations. Supports STDIO and Server-Sent Events transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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
  1. Build the project
mvn clean package
  1. 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:

  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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.