strut-stack-sql について
Strut Stack SQLは、MySQL、PostgreSQL、SQLiteを扱うRust製MCPサーバーで、エージェントクライアント向けです。結果サイズを制限し、SQL AST検査と設定可能な書き込み制御でデータベースアクセスを管理します。
主な機能
- 01MySQL、PostgreSQL、SQLiteに対応
- 02トークン効率を考慮した3ツールが標準
- 03SQL ASTと複雑度の検査
- 04読み取り専用と設定可能な書き込みモード
- 05stdioとStreamable HTTPに対応
活用シーン
- 01対応DBのオブジェクト検索
- 02エージェント向けに制限付きSQLを実行
- 03クエリのパフォーマンス分析
- 04stdioまたはHTTPでDBツールを提供
MCP 対応
データベース検索、SQL実行、クエリパフォーマンス分析をMCPクライアントに提供します。stdioとStreamable HTTPに対応し、`--full-tools`で追加ツールを有効にできます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Strut Stack SQL
軽量なストラット。極限の負荷。
MySQL、PostgreSQL、SQLite 向けのトークン効率に優れた MCP サーバーです。Rust で書かれています。StrutStack エコシステムの一部であり、あらゆるエージェントクライアントで単体利用できます。
以前は mcp-sql-rust として公開されていました(互換性のためのバイナリエイリアスは v1.0 にも含まれています)。
ミッション
- トークン節約 — デフォルトで 3 つのツール、列指向の
{cols,rows,meta}、行数/バイト数の上限 - Rust のベストプラクティス — プールの取得前に AST で SQL をガードし、リリースバイナリを軽量化
- マルチエンジン — PostgreSQL、MySQL、SQLite を 1 つのバイナリで利用可能
- すぐに出荷可能 — 1 コマンドでインストール、stdio と Streamable HTTP に対応、Cursor 対応のランチャー
インストール(1 コマンド)
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 を読み込み、DB に接続できなくても起動を妨げません):
{
"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 のみ(トークン効率に優れています) |
| ガード | 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 | 再現可能なハーネス |
エージェントクライアント
Cursor / OMNI / CodeGraph の規約については、AGENTS.md を参照してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。