mcpField
S
strut-stack-sql

strut-stack-sql

本地服务
github.com/rzlco666数据库014 周前更新

关于 strut-stack-sql

Strut Stack SQL 是面向 Agent 客户端的 Rust MCP 服务,支持 MySQL、PostgreSQL 和 SQLite。它限制结果大小,并通过 SQL AST 检查及可配置的写入控制管理数据库访问。

主要功能

  1. 01支持 MySQL、PostgreSQL 和 SQLite
  2. 02默认提供 3 个节省令牌的工具
  3. 03执行 SQL AST 与复杂度检查
  4. 04提供只读及可配置写入模式
  5. 05支持 stdio 和 Streamable HTTP

适用场景

  1. 01搜索所支持数据库中的对象
  2. 02为 Agent 执行受限 SQL 查询
  3. 03分析查询性能
  4. 04通过 stdio 或 HTTP 提供数据库工具

MCP 相关

向 MCP 客户端提供数据库搜索、SQL 执行和查询性能分析。支持 stdio 与 Streamable HTTP;使用 `--full-tools` 可启用更多工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbstrut-stack-sql-linux-x64.mcpb
mcpbstrut-stack-sql-macos-arm64.mcpb
mcpbstrut-stack-sql-macos-x64.mcpb
mcpbstrut-stack-sql-linux-arm64.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Strut Stack SQL

轻型支柱,承载极限负荷。

面向 MySQL、PostgreSQL 和 SQLite 的高效省 Token MCP 服务,以 Rust 编写。它是 StrutStack 生态系统的一部分,也可独立用于任何 Agent 客户端。

最新版本 CI 许可证:MIT

此前以 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。