mcpField
M
Mysql Mcp Server For Java

Mysql Mcp Server For Java

本地服务
github.com/6000fish数据库221 周前更新

关于 Mysql Mcp Server For Java

MCP Java SDK 是用于构建 Java MCP 服务的 SDK,并附带 MySQL、Redis 服务实现及可运行示例,面向 Java 开发者。支持通过代码或注解定义工具、资源和提示词,并提供 stdio 与 SSE 接入方式。

主要功能

  1. 01Java MCP 服务 SDK
  2. 02代码或注解定义工具
  3. 03定义资源与提示词
  4. 04提供 MySQL 和 Redis 服务
  5. 05包含示例与模板
  6. 06支持 stdio 和 SSE

适用场景

  1. 01从模板创建自定义 MCP 服务
  2. 02在 Spring Boot 项目中集成
  3. 03向 Agent 提供 MySQL 操作
  4. 04向 Agent 提供 Redis 操作

MCP 相关

SDK 用于构建 MCP 服务,支持 stdio 本地集成和 SSE HTTP 集成。附带的 MySQL 与 Redis 服务向 MCP 客户端提供数据库及缓存操作工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

English | 中文

MCP Java SDK

Maven Central Release CI Java License

用于快速构建自定义 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 连接到 Agentdocs/redis-server.mdRedis
将 MySQL 连接到 Agentdocs/mysql-server.mdMySQL

完整指南: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。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。