Rdb_mcp_server

Rdb_mcp_server

🚀 rdb-mcp-server

rdb-mcp-server 是一个基于Spring AI的实验性MCP服务器,主要用于进行低级SQL操作。它借助JDBC,通过stdio作为传输机制来实现功能。值得一提的是,该项目的原型由AI生成。

🚀 快速开始

本项目使用前需确保系统满足相应的依赖条件,然后按照安装、配置等步骤进行操作,即可开启使用。

✨ 主要特性

  • 多数据库支持:支持MySQL、PostgreSQL和SQLite等多种数据库。
  • 灵活配置:可通过环境变量对数据库连接、日志文件路径等进行灵活配置。
  • 多种使用模式:支持独立模式运行,也可与MCP客户端集成。
  • 丰富工具:提供 executeQueryexecuteRawSqlexecutePreparedSql 等工具,满足不同SQL操作需求。

📦 安装指南

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

📚 详细文档

可用工具

executeQuery

  • 功能:执行只读SQL查询。
  • 特点:无需身份验证,但易受SQL注入攻击。

executeRawSql

  • 功能:执行原始SQL语句。
  • 特点:需要密码进行非只读操作。

executePreparedSql

  • 功能:使用PreparedStatement执行参数化SQL操作。

添加其他关系型数据库

pom.xml 文件中添加适当的数据库驱动程序并重新构建。

🔧 技术细节

本项目依赖Java 17或更高版本。它基于Spring AI构建,通过JDBC实现与数据库的交互,使用stdio作为传输机制。在使用不同的工具时,根据工具的特点和需求,合理配置环境变量和进行身份验证,以确保操作的安全性和正确性。例如,executeQuery 虽然无需身份验证,但要注意防范SQL注入风险;executeRawSql 对于非只读操作需要提供密码进行身份验证。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 17:24

相似服务问题