SQL MCP Server について
SQL MCP Serverは、信頼できないAIエージェント向けのガバナンス付きSQLアクセスゲートウェイです。PostgreSQL、MySQL、OceanBaseへの接続に使え、制御されたエンティティと関係代数IRを用い、任意SQLとは別に信頼された操作者向けのSQL経路を設けます。
主な機能
- 01制御されたデータベースツール
- 02PostgreSQL、MySQL、OceanBase対応
- 03RBACとフィールド単位のアクセス制御
- 04行ポリシーとマスキング
- 05クエリコストと結果の上限
- 06監査とテレメトリーフック
活用シーン
- 01エージェントに統制されたDBアクセスを提供
- 02テナントや行単位でアクセスを制限
- 03高コストなDBクエリを制限
- 04データベース操作を監査
MCP 対応
MCPクライアントに制御されたデータベースアクセスツールを提供します。ガバナンス対象のインターフェースは任意SQLを受け付けず、別のexecute_sql経路は既定で無効で、明示的に許可されたユーザーに限定されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e DATABASE_DSN ghcr.io/nethinwei/sql-mcp-server:0.1.21DATABASE_DSNシークレットDatabase DSN referenced by ${DATABASE_DSN} in config.yamlローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/nethinwei/sql-mcp-server:0.1.21stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SQL MCP Server
信頼できない AI エージェント向けのガバナンスが適用された SQL ゲートウェイです。
信頼できない AI エージェント向けの、ガバナンスが適用された SQL データアクセスゲートウェイです。明示的な Entity、関係代数 IR、パラメーター化された codegen を通じて PostgreSQL、MySQL、OceanBase にアクセスします。ガバナンス対象のインターフェースでは任意の SQL を受け付けず、DDL も提供しません。信頼されたオペレーターには、独立した SQL の緊急用経路 execute_sql が用意されています。デフォルトでは無効で、明示的に sql:execute@<数据源> を付与されたユーザーにのみ表示され、個別に宣言された接続を使用します。厳格な上限と、書き込みに失敗した場合は拒否する監査制約が適用されます(セキュリティモデルを参照)。
主な特長
- 決定論的な実行:エージェントは、制御されたツールとホワイトリストに登録された IR のみを組み合わせられます;
- フィールドと行のガバナンス:RBAC、フィールド ACL、row policy、mask を一元的に適用します;
- コストを制御可能:EXPLAIN による事前チェック、結果の上限、タイムアウト、session/tenant の予算を設定できます;
- デフォルトで拒否:セキュリティ機能を証明できない場合は fail closed になります;
- 監査可能:設定のホットリロード、非同期監査、OpenTelemetry hook に対応しています。
ランタイムのセキュリティ動作についてはセキュリティモデルを、Provider の検証範囲と証拠レベルについては互換性マトリクスを参照してください。脅威、制御、残存リスクについては 脅威モデルを参照してください。外部に対するすべての主張の根拠は アーキテクチャ、セキュリティ境界、証拠インデックスにまとめています。このページの概要ではなく、各資料を参照してください。
5 分で試す
Docker と Docker Compose があれば始められます:
docker compose -f examples/quickstart/compose.yaml up -d --wait
curl -fsS http://127.0.0.1:8080/healthz
MCP Inspector の呼び出し、tenant の分離、mask、拒否のシナリオを含む完全な内容は 5 分間のクイックスタートを参照してください。
インストールと接続
ソースからのビルドには Go 1.26.10+ と検証済みデータベースバージョンが必要です:
git clone https://github.com/nethinwei/sql-mcp-server.git
cd sql-mcp-server
make build
- Cursor、Claude Desktop、VS Code 用の stdio テンプレート:
examples/clients/(確認結果は クライアント接続の確認を参照); - 完全な設定テンプレート:
examples/config.example.yaml; - CLI、起動、ホットリロード、コンテナーのデプロイ、アップグレード:実行と運用;
- Web 管理コンソールと Docker Compose によるデプロイ:管理コンソール;
- 魔搭での配布とデモ:ModelScope への掲載と利用。
役割別のドキュメント
初回の利用と統合
- 5 分間のクイックスタート:唯一の完全な Demo と Inspector の例;
- 設定リファレンス:公開 YAML 設定の唯一の信頼できる情報源;
- Provider の互換性と サポート対象バージョン:現在の機能と検証範囲。
デプロイとセキュリティ
- 実行と運用:CLI、コンテナーのデプロイ、ライフサイクル、監視、アップグレード;
- 管理コンソール:設定の編集、公開とロールバック、管理者権限、Docker によるデプロイ;
- セキュリティモデル:ランタイムのセキュリティ動作に関する唯一の信頼できる情報源;
- 脅威モデル:脅威、制御、テストの証拠、残存リスク;
- SECURITY.md:脆弱性の開示手順。
開発とメンテナンス
バージョンと計画
- 現在の GA:
v0.1.21(リリースノート); - 全バージョンの概要:CHANGELOG;過去の機能と移行: リリースノートのインデックス;
- 未リリースの製品計画:Roadmap;
- データベース候補:Provider Roadmap。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。