rdb-mcp-server

rdb-mcp-server

site icon
2025.03.27 0
Java数据库操作SQL 工具数据库
rdb_mcp_server 是一个基于 Spring AI 的实验性 MCP 服务器,用于通过 JDBC 进行低级别的 SQL 操作。它支持多种关系型数据库,包括 MySQL、PostgreSQL 和 SQLite。该服务通过 stdio 作为传输机制,并提供了多种 SQL 操作工具,适用于需要进行数据库操作的各种场景。
View on GitHub

Overview

基本能力

产品定位

rdb_mcp_server 是一个专注于数据库操作的 MCP 服务器,旨在通过 JDBC 提供低级别的 SQL 操作能力。

核心功能

  • 支持多种关系型数据库:MySQL、PostgreSQL、SQLite。
  • 提供多种 SQL 操作工具:
  • executeQuery:执行只读 SQL 查询,无需认证。
  • executeRawSql:执行原始 SQL 语句,非只读操作需要密码认证。
  • executePreparedSql:使用 PreparedStatement 执行参数化 SQL 操作。
  • 支持通过环境变量配置数据库连接和其他参数。

适用场景

  • 需要快速执行 SQL 查询或操作的开发环境。
  • 自动化测试中需要模拟数据库操作的场景。
  • 需要低级别数据库访问的研究或实验项目。

工具列表

  • executeQuery:执行只读 SQL 查询,无需认证。
  • executeRawSql:执行原始 SQL 语句,非只读操作需要密码认证。
  • executePreparedSql:使用 PreparedStatement 执行参数化 SQL 操作。

常见问题解答

  • SQL 注入风险executeQuery 工具存在 SQL 注入漏洞,使用时需谨慎。
  • 数据库支持:如需支持其他关系型数据库,需在 pom.xml 中添加相应的数据库驱动并重新构建。

使用教程

使用依赖

  • Java 17 或更高版本。

安装教程

  1. 从 GitHub 发布页面下载 JAR 文件。
  2. 配置环境变量(可选):
  3. DB_URL:数据库连接 URL(默认:jdbc:sqlite:./sqlite.db)。
  4. DB_USER:数据库用户名。
  5. DB_PASSWORD:数据库密码。
  6. API_PASSWORD:非只读操作的密码(可选)。
  7. LOG_FILE:日志文件路径(可选,默认:./rdb-mcp-server.log)。
  8. 运行 JAR 文件: bash java -jar x.x.x.jar

调试方式

  1. 确保环境变量配置正确。
  2. 检查日志文件(默认路径:./rdb-mcp-server.log)以获取运行时的错误信息。
  3. 使用 MCP 客户端集成测试工具功能。

MCP 客户端集成示例

{
  "mcpServers": {
    "rdb_mcp_server": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/jar"
      ],
      "env": {
        "DB_URL": "jdbc:mysql://localhost:3306/your_database",
        "DB_USER": "your_username",
        "DB_PASSWORD": "your_password",
        "API_PASSWORD": "your_password_here",
        "LOG_FILE": "./rdb-mcp-server.log"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。