mcpField
M
mcp-sql-rust

mcp-sql-rust

Local
github.com/rzlco666Databases1Updated 14w ago

About mcp-sql-rust

mcp-sql-rust is a Rust MCP server for querying MySQL, PostgreSQL, and SQLite, suited to agent clients that need database access. It limits default tools and returns columnar results to reduce token use, with SQL guards and stdio or HTTP transport.

Key features

  1. 01MySQL, PostgreSQL, and SQLite support
  2. 02Three default query tools
  3. 03Columnar JSON results
  4. 04AST-based SQL safeguards
  5. 05stdio and Streamable HTTP transports

Use cases

  1. 01Query a database from an agent client
  2. 02Inspect schema objects and run SQL
  3. 03Analyze query performance
  4. 04Limit risky or complex SQL operations

MCP support

Exposes database tools to MCP clients over stdio or Streamable HTTP. The default set includes object search, SQL execution, and query-performance analysis.

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
mcpbmcp-sql-rust-x86_64-unknown-linux-gnu.mcpb
mcpbmcp-sql-rust-aarch64-apple-darwin.mcpb
mcpbmcp-sql-rust-x86_64-apple-darwin.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.