SQL操作服务器

基于Spring AI的实验性MCP服务器,用于通过JDBC执行底层SQL操作,支持MySQL、PostgreSQL和SQLite等多种数据库。

  • by 31San
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 31san/rdb_mcp_server

使用说明

rdb-mcp服务器

基于Spring AI的实验性MCP服务器,使用JDBC进行低级SQL操作。

使用stdio作为传输机制。

项目原型是人工智能生成的。

支持的数据库

  • MySQL
  • PostgreSQL
  • 数据库

需求

  • Java 17或更高版本

如何使用

安装

从GitHub发布页面下载JAR。

配置

可用环境变量:

  • DB_URL:数据库连接URL(默认值: jdbc:sqlite:./sqlite.db)
  • DB_USER:数据库用户名
  • DB_PASSWORD:数据库密码
  • API_PASSWORD:非只读操作密码(可选)
  • LOG_FILE:日志文件路径(可选,默认: ./rdb-mcp-server.log)

独立运行

java -jar x.x.x.jar

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": []
    }
  }
}

光标

{
  "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"
      }
    }
  }
}

可用工具

执行查询

执行只读SQL查询。无需身份验证。

易受SQL注入攻击

执行RawSQL

执行原始SQL语句。非只读操作需要密码。

executePreparedSql

使用PreparedStatement执行参数化SQL操作。

添加其他关系数据库

将适当的数据库驱动程序添加到pom.xml文件中并重新生成。