mcpField
M
Mysql Mcp Server For Java

Mysql Mcp Server For Java

Local
github.com/6000fishDatabases2Updated 21w ago

About Mysql Mcp Server For Java

MCP Java SDK helps Java developers build MCP servers, with runnable MySQL and Redis implementations and examples. It supports defining tools, resources, and prompts in code or annotations, over stdio or SSE.

Key features

  1. 01Java MCP server SDK
  2. 02Define tools in code or annotations
  3. 03Define resources and prompts
  4. 04Ready-to-run MySQL and Redis servers
  5. 05Examples and templates
  6. 06stdio and SSE support

Use cases

  1. 01Create a custom MCP server from a template
  2. 02Integrate MCP into a Spring Boot project
  3. 03Expose MySQL operations to an Agent
  4. 04Expose Redis operations to an Agent

MCP support

The SDK builds MCP servers for local stdio and HTTP-based SSE integrations. Its MySQL and Redis servers expose database and cache operation tools to MCP clients.

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

English | 中文

MCP Java SDK

Maven Central Release CI Java License

Java SDK for building custom Model Context Protocol (MCP) servers quickly, with runnable MySQL and Redis server examples.

MCP.so listings: MySQL MCP Server for Java · Redis MCP Server for Java

Why this project

  • Build custom MCP servers in Java with a small SDK.
  • Use stdio for local Agent integration and SSE for HTTP-based integrations.
  • Define tools, resources, and prompts with either Java code or annotations.
  • Start from copyable examples instead of wiring JSON-RPC by hand.
  • Use MySQL and Redis servers as ready-to-run examples for real data sources.

5-minute paths

GoalStart hereRequires external service
Run the fastest SDK demomcp-examples/quick-startNo
Copy a custom server templatemcp-examples/custom-server-templateNo
Build inside Spring Bootmcp-examples/spring-boot-exampleNo
Connect Redis to an Agentdocs/redis-server.mdRedis
Connect MySQL to an Agentdocs/mysql-server.mdMySQL

Full walkthrough: 5-Minute Quick Start.

Install from Maven Central

Core SDK:

<dependency>
    <groupId>io.github.6000fish</groupId>
    <artifactId>mcp-sdk</artifactId>
    <version>0.1.1</version>
</dependency>

Spring Boot starter:

<dependency>
    <groupId>io.github.6000fish</groupId>
    <artifactId>mcp-spring-boot-starter</artifactId>
    <version>0.1.1</version>
</dependency>

Fastest SDK demo

Build the no-database quick-start server:

mvn package -pl mcp-examples/quick-start -am -DskipTests

Add the runnable jar to your MCP Agent configuration:

{
  "mcpServers": {
    "quick-start": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-examples/quick-start/target/quick-start-0.1.1.jar"
      ]
    }
  }
}

Restart the Agent and ask:

Use the quick-start MCP server to greet Alice and get the current time.

The demo exposes greet, current_time, calculate, text_transform, and resource server://info.

Build your own MCP server

For a copyable annotation-based template:

mvn package -pl mcp-examples/custom-server-template -am -DskipTests

Configure the generated jar:

{
  "mcpServers": {
    "custom-template": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-examples/custom-server-template/target/custom-server-template-0.1.1.jar"
      ]
    }
  }
}

Then edit CustomMcpServer.java and add your own @McpTool, @McpResource, or @McpPrompt methods.

Minimal SDK API example:

McpServer server = DefaultMcpServer.builder()
        .name("my-server")
        .version("1.0.0")
        .build();

server.tool("greet", "Greet someone", arguments -> {
    String name = (String) arguments.getOrDefault("name", "World");
    return ToolCallResult.success("Hello, " + name + "!");
});

server.start(new StdioTransport());

Annotation example:

@McpServer(name = "my-server", version = "1.0.0")
public class MyServer {

    @McpTool(name = "hello", description = "Say hello")
    public String hello(@Param(name = "name") String name) {
        return "Hello, " + name + "!";
    }
}

Ready-to-use servers

Build the currently published ready-to-use server modules:

mvn package -pl mcp-server-collection/mcp-server-mysql -am -DskipTests
mvn package -pl mcp-server-collection/mcp-server-redis -am -DskipTests

MySQL server config:

{
  "mcpServers": {
    "mysql": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-mysql/target/mcp-server-mysql-0.1.1.jar"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_DATABASE": "mcp_demo",
        "MYSQL_USERNAME": "my_user",
        "MYSQL_PASSWORD": "your_password"
      }
    }
  }
}

Redis server config:

{
  "mcpServers": {
    "redis": {
      "type": "stdio",
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-redis/target/mcp-server-redis-0.1.1.jar"
      ],
      "env": {
        "REDIS_HOST": "localhost",
        "REDIS_PORT": "6379",
        "REDIS_PASSWORD": ""
      }
    }
  }
}

Before connecting real data, read the Security Guide. Keep credentials in local Agent configuration or environment variables only.

Available server tools

ServerDescriptionTools
MySQLDatabase operationsquery, execute, list_databases, list_tables, describe_table, explain_query, get_table_status
RedisCache operationsget, set, del, keys, type, ttl, hget, hset, hgetall, lrange, llen, scard, smembers, info, dbsize

Documentation

User documentation:

Maintainer documentation:

Compatibility

The stdio servers are designed for mainstream MCP clients and Agents:

  • Claude Code: verified with MySQL and Redis stdio servers.
  • Codex: verified with MySQL stdio server, including tools/list, tools/call, and client _meta fields.
  • Other MCP clients such as opencode, OpenClaw, Gemini-related tooling: use the same stdio JSON-RPC flow and should use the documented config shape.

Compatibility safeguards include required inputSchema on tools, tolerant request parsing for client extension fields such as _meta, omitted null fields in stdio responses, and logging to stderr so stdout stays reserved for MCP JSON-RPC messages.

Project structure

mcp-java/
├── mcp-sdk/                      # Core SDK
├── mcp-spring-boot-starter/      # Spring Boot integration
├── mcp-server-collection/        # Ready-to-use server implementations
└── mcp-examples/                 # SDK examples and templates

Build from source

git clone https://github.com/6000fish/mcp-java.git
cd mcp-java
mvn clean install

Community

Maintainers

Release instructions are in docs/release.md. Do not commit Maven Central credentials, GPG passphrases, private keys, or settings.xml.

License

MIT

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.