关于 Mysql Mcp Server For Java
MCP Java SDK 是用于构建 Java MCP 服务的 SDK,并附带 MySQL、Redis 服务实现及可运行示例,面向 Java 开发者。支持通过代码或注解定义工具、资源和提示词,并提供 stdio 与 SSE 接入方式。
主要功能
- 01Java MCP 服务 SDK
- 02代码或注解定义工具
- 03定义资源与提示词
- 04提供 MySQL 和 Redis 服务
- 05包含示例与模板
- 06支持 stdio 和 SSE
适用场景
- 01从模板创建自定义 MCP 服务
- 02在 Spring Boot 项目中集成
- 03向 Agent 提供 MySQL 操作
- 04向 Agent 提供 Redis 操作
MCP 相关
SDK 用于构建 MCP 服务,支持 stdio 本地集成和 SSE HTTP 集成。附带的 MySQL 与 Redis 服务向 MCP 客户端提供数据库及缓存操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Java SDK
用于快速构建自定义 Model Context Protocol (MCP) 服务的 Java SDK,并提供可运行的 MySQL 和 Redis 服务示例。
MCP.so 收录页面:Java MySQL MCP 服务 · Java Redis MCP 服务
为什么要使用本项目
- 使用轻量级 SDK 在 Java 中构建自定义 MCP 服务。
- 使用 stdio 集成本地 Agent,使用 SSE 集成基于 HTTP 的服务。
- 通过 Java 代码或注解定义工具、资源和提示词。
- 从可复制的示例入手,无需手动配置 JSON-RPC。
- 使用 MySQL 和 Redis 服务作为可直接运行的真实数据源示例。
5 分钟上手
| 目标 | 从这里开始 | 是否需要外部服务 |
|---|---|---|
| 运行最快的 SDK 演示 | mcp-examples/quick-start | 否 |
| 复制自定义服务模板 | mcp-examples/custom-server-template | 否 |
| 在 Spring Boot 中构建 | mcp-examples/spring-boot-example | 否 |
| 将 Redis 连接到 Agent | docs/redis-server.md | Redis |
| 将 MySQL 连接到 Agent | docs/mysql-server.md | MySQL |
完整指南:5 分钟快速上手。
从 Maven Central 安装
核心 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>
最快的 SDK 演示
构建无需数据库的快速入门服务:
mvn package -pl mcp-examples/quick-start -am -DskipTests
将可运行的 jar 添加到 MCP Agent 配置中:
{
"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"
]
}
}
}
重启 Agent 并提问:
Use the quick-start MCP server to greet Alice and get the current time.
该演示提供 greet、current_time、calculate、text_transform 工具,以及 server://info 资源。
构建自己的 MCP 服务
如需使用可复制的注解式模板:
mvn package -pl mcp-examples/custom-server-template -am -DskipTests
配置生成的 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"
]
}
}
}
然后编辑 CustomMcpServer.java,并添加自己的 @McpTool、@McpResource 或 @McpPrompt 方法。
最小 SDK API 示例:
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());
注解示例:
@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 + "!";
}
}
开箱即用的服务
构建当前已发布的开箱即用服务模块:
mvn package -pl mcp-server-collection/mcp-server-mysql -am -DskipTests
mvn package -pl mcp-server-collection/mcp-server-redis -am -DskipTests
MySQL 服务配置:
{
"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 服务配置:
{
"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": ""
}
}
}
}
连接真实数据前,请阅读安全指南。仅将凭据保存在本地 Agent 配置或环境变量中。
可用的服务工具
| 服务 | 描述 | 工具 |
|---|---|---|
| MySQL | 数据库操作 | query, execute, list_databases, list_tables, describe_table, explain_query, get_table_status |
| Redis | 缓存操作 | get, set, del, keys, type, ttl, hget, hset, hgetall, lrange, llen, scard, smembers, info, dbsize |
文档
用户文档:
维护者文档:
兼容性
stdio 服务面向主流 MCP 客户端和 Agent 设计:
- Claude Code:已通过 MySQL 和 Redis stdio 服务验证。
- Codex:已通过 MySQL stdio 服务验证,包括
tools/list、tools/call和客户端_meta字段。 - 其他 MCP 客户端,例如 opencode、OpenClaw 和 Gemini 相关工具:使用相同的 stdio JSON-RPC 流程,并应采用文档中说明的配置格式。
兼容性保障包括:工具必须提供 inputSchema、能够容忍客户端扩展字段(例如 _meta)的请求解析、stdio 响应中省略 null 字段,以及将日志写入 stderr,以便 stdout 专用于 MCP JSON-RPC 消息。
项目结构
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
从源码构建
git clone https://github.com/6000fish/mcp-java.git
cd mcp-java
mvn clean install
社区
维护者
发布说明位于 docs/release.md。请勿提交 Maven Central 凭据、GPG 密码短语、私钥或 settings.xml。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。