mcpField
S
strut-stack-sql

strut-stack-sql

Local
github.com/rzlco666Databases0Updated 14w ago

About strut-stack-sql

Strut Stack SQL is a Rust MCP server for querying MySQL, PostgreSQL, and SQLite, intended for agent clients. It limits result size and uses SQL AST checks and configurable write controls to keep database access bounded.

Key features

  1. 01Supports MySQL, PostgreSQL, and SQLite
  2. 02Defaults to three token-efficient tools
  3. 03Applies SQL AST and complexity checks
  4. 04Provides read-only and configurable write modes
  5. 05Supports stdio and Streamable HTTP

Use cases

  1. 01Searching database objects across supported engines
  2. 02Running bounded SQL queries for an agent
  3. 03Reviewing query performance
  4. 04Serving database tools over stdio or HTTP

MCP support

Exposes database search, SQL execution, and query performance analysis to MCP clients. It supports stdio and Streamable HTTP transports, with additional tools available through `--full-tools`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
mcpbstrut-stack-sql-linux-x64.mcpb
mcpbstrut-stack-sql-macos-arm64.mcpb
mcpbstrut-stack-sql-macos-x64.mcpb
mcpbstrut-stack-sql-linux-arm64.mcpb

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Strut Stack SQL

Light strut. Extreme load.

Token-efficient MCP server for MySQL, PostgreSQL, and SQLite — written in Rust. Part of the StrutStack ecosystem; usable standalone with any agent client.

Latest release CI License: MIT

Formerly published as mcp-sql-rust (compat binary alias still ships in v1.0).

Mission

  • Token thrift — default 3 tools, columnar {cols,rows,meta}, row/byte caps
  • Best-practice Rust — AST SQL guard before pool checkout, lean release binary
  • Multi-engine — PostgreSQL + MySQL + SQLite in one binary
  • Ship-ready — one-command install, stdio + Streamable HTTP, Cursor-friendly launcher

Install (one command)

curl -fsSL https://raw.githubusercontent.com/rzlco666/strut-stack-sql/main/install.sh | bash
strut-stack-sql --version

Installs to ~/.local/bin (also creates mcp-sql-rust alias). Ensure ~/.local/bin is on your PATH.

Other channels (Homebrew, Scoop, winget, Docker, cargo): docs/INSTALL.md.

Quick start (Cursor)

{
  "mcpServers": {
    "strut-stack-sql": {
      "command": "strut-stack-sql",
      "args": ["--full-tools"],
      "cwd": "${workspaceFolder}"
    }
  }
}

Project .env:

DATABASE_URL=postgresql://user:[email protected]:5432/app

Without credentials the server still starts (ephemeral sqlite::memory:) so MCP initialize succeeds; set DATABASE_URL for real queries.

Official workspace launcher (loads nested apps/api/.env, never blocks start on dead DB):

{
  "mcpServers": {
    "strut-stack-sql": {
      "command": "node",
      "args": [
        "/absolute/path/to/strut-stack-sql/packaging/cursor-mcp-launcher.mjs",
        "${workspaceFolder}"
      ]
    }
  }
}

Why this shape

ChoiceDetail
Default toolssearch_objects, execute_sql, analyze_query_performance
Extra tools--full-tools (+ DDL aliases need --allow-ddl)
ResultsColumnar JSON only by default (token-efficient)
Guardsqlparser AST; multi-statement deny; write tiers; complexity limits
TimeoutsClient timeout + PG statement_timeout / MySQL max_execution_time
Transportsstdio · --http 127.0.0.1:8080 (/mcp, /healthz)

Measured RSS / cold-start vs Node rivals (same seed query): docs/BENCHMARKS.md. We do not invent QPS leaderboards.

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

DocPurpose
docs/QUICKSTART.mdFirst run
docs/INSTALL.mdAll install channels
docs/SECURITY.mdGuard + write tiers
docs/TOOLS.mdTool schemas
docs/CONFIGURATION.md.env / TOML / CLI
docs/ARCHITECTURE.mdModules
docs/BENCHMARKS.mdReproducible harness

Agent clients

See AGENTS.md for Cursor / OMNI / CodeGraph conventions.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.