关于 mcp-sql-rust
mcp-sql-rust 是以 Rust 编写的 MCP 服务,可查询 MySQL、PostgreSQL 和 SQLite,适用于需要数据库访问的 Agent 客户端。它通过精简默认工具和列式结果减少令牌用量,并提供 SQL 防护及 stdio、HTTP 传输。
主要功能
- 01支持 MySQL、PostgreSQL 和 SQLite
- 02提供三种默认查询工具
- 03返回列式 JSON 结果
- 04基于 AST 的 SQL 防护
- 05支持 stdio 和 Streamable HTTP
适用场景
- 01通过 Agent 客户端查询数据库
- 02搜索数据库对象并执行 SQL
- 03分析查询性能
- 04限制高风险或复杂 SQL 操作
MCP 相关
通过 stdio 或 Streamable HTTP 向 MCP 客户端提供数据库工具。默认工具包括对象搜索、SQL 执行和查询性能分析。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Strut Stack SQL
轻型支柱,承载极限负荷。
面向 MySQL、PostgreSQL 和 SQLite 的高效省 Token MCP 服务,以 Rust 编写。它是 StrutStack 生态系统的一部分,也可独立用于任何 Agent 客户端。
此前以 mcp-sql-rust 名称发布(v1.0 仍附带兼容二进制别名)。
使命
- 节省 Token — 默认 3 个工具,列式
{cols,rows,meta},限制行数和字节数 - 遵循 Rust 最佳实践 — 在检出连接池之前进行 AST SQL 防护,精简发布版二进制文件
- 支持多种数据库引擎 — PostgreSQL、MySQL 和 SQLite 集成于一个二进制文件
- 随时可部署 — 一条命令即可安装,支持 stdio 和 Streamable HTTP,并提供适配 Cursor 的启动器
安装(一条命令)
curl -fsSL https://raw.githubusercontent.com/rzlco666/strut-stack-sql/main/install.sh | bash
strut-stack-sql --version
安装到 ~/.local/bin(也会创建 mcp-sql-rust 别名)。确保 ~/.local/bin 位于 PATH 中。
其他安装渠道(Homebrew、Scoop、winget、Docker、cargo):docs/INSTALL.md。
快速开始(Cursor)
{
"mcpServers": {
"strut-stack-sql": {
"command": "strut-stack-sql",
"args": ["--full-tools"],
"cwd": "${workspaceFolder}"
}
}
}
项目 .env:
DATABASE_URL=postgresql://user:[email protected]:5432/app
即使没有凭据,服务仍会启动(使用临时的 sqlite::memory:),因此 MCP 初始化可以成功;设置 DATABASE_URL 即可执行实际查询。
官方工作区启动器(加载嵌套的 apps/api/.env,即使数据库不可用也不会阻止启动):
{
"mcpServers": {
"strut-stack-sql": {
"command": "node",
"args": [
"/absolute/path/to/strut-stack-sql/packaging/cursor-mcp-launcher.mjs",
"${workspaceFolder}"
]
}
}
}
这种设计的原因
| 选项 | 详情 |
|---|---|
| 默认工具 | search_objects、execute_sql、analyze_query_performance |
| 额外工具 | --full-tools(DDL 别名还需要 --allow-ddl) |
| 结果 | 默认仅返回列式 JSON(节省 Token) |
| 防护 | sqlparser AST;拒绝多语句;写入分级;复杂度限制 |
| 超时 | 客户端超时 + PG statement_timeout / MySQL max_execution_time |
| 传输方式 | stdio · --http 127.0.0.1:8080(/mcp、/healthz) |
与 Node 同类方案相比的实测 RSS / 冷启动数据(使用相同的种子查询):docs/BENCHMARKS.md。我们不会编造 QPS 排行榜。
CLI
strut-stack-sql --version
strut-stack-sql # stdio, read-only
strut-stack-sql --allow-writes
strut-stack-sql --full-tools
strut-stack-sql --http 127.0.0.1:8080
文档
| 文档 | 用途 |
|---|---|
| docs/QUICKSTART.md | 首次运行 |
| docs/INSTALL.md | 所有安装渠道 |
| docs/SECURITY.md | 防护与写入分级 |
| docs/TOOLS.md | 工具架构 |
| docs/CONFIGURATION.md | .env / TOML / CLI |
| docs/ARCHITECTURE.md | 模块 |
| docs/BENCHMARKS.md | 可复现的测试框架 |
Agent 客户端
Cursor / OMNI / CodeGraph 的使用约定请参阅 AGENTS.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。