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
- 01Java MCP server SDK
- 02Define tools in code or annotations
- 03Define resources and prompts
- 04Ready-to-run MySQL and Redis servers
- 05Examples and templates
- 06stdio and SSE support
Use cases
- 01Create a custom MCP server from a template
- 02Integrate MCP into a Spring Boot project
- 03Expose MySQL operations to an Agent
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Java SDK
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
| Goal | Start here | Requires external service |
|---|---|---|
| Run the fastest SDK demo | mcp-examples/quick-start | No |
| Copy a custom server template | mcp-examples/custom-server-template | No |
| Build inside Spring Boot | mcp-examples/spring-boot-example | No |
| Connect Redis to an Agent | docs/redis-server.md | Redis |
| Connect MySQL to an Agent | docs/mysql-server.md | MySQL |
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
| Server | Description | Tools |
|---|---|---|
| MySQL | Database operations | query, execute, list_databases, list_tables, describe_table, explain_query, get_table_status |
| Redis | Cache operations | get, 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_metafields. - 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
Comments
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.