
rdb-mcp-server

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 或更高版本。
安装教程
- 从 GitHub 发布页面下载 JAR 文件。
- 配置环境变量(可选):
DB_URL
:数据库连接 URL(默认:jdbc:sqlite:./sqlite.db
)。DB_USER
:数据库用户名。DB_PASSWORD
:数据库密码。API_PASSWORD
:非只读操作的密码(可选)。LOG_FILE
:日志文件路径(可选,默认:./rdb-mcp-server.log
)。- 运行 JAR 文件:
bash java -jar x.x.x.jar
调试方式
- 确保环境变量配置正确。
- 检查日志文件(默认路径:
./rdb-mcp-server.log
)以获取运行时的错误信息。 - 使用 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": []
}
}
}