sqlfmt-mcp について
sqlfmt-mcp は、19 種類の SQL 方言を一貫した形式に整える MCP サーバーです。レビューや差分比較で安定した SQL 出力を必要とするコーディングエージェントや後続ツール向けです。
主な機能
- 0119 種類の SQL 方言を整形
- 02キーワードの大文字小文字とインデントを指定
- 03対応方言の一覧表示
活用シーン
- 01コードレビュー時の SQL 形式統一
- 02差分生成前のクエリ整形
MCP 対応
MCP クライアントに `format_sql` と `list_dialects` ツールを提供し、SQL の整形と対応方言の確認を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| sql | string | はい | 整形する生の SQL。 |
| dialect | enum | いいえ | 汎用の `sql` は大半の ANSI のケースに対応します。特定の方言でのみ使える構文には、その方言を明示的に選択してください。sql | bigquery | db2 | db2i | duckdb | hive | mariadb | mysql | n1ql | plsql | postgresql | redshift | singlestoredb | snowflake | spark | sqlite | tidb | transactsql | trino |
| use_tabs | boolean | いいえ | |
| tab_width | integer | いいえ | |
| keyword_case | enum | いいえ | preserve | upper | lower |
詳細
@mukundakatta/sqlfmt-mcp
19 種の方言に対応した、決定的な SQL フォーマット用 MCP サーバーです。
ツール
format_sql(sql, dialect?, keyword_case?, tab_width?, use_tabs?)— 指定した方言でフォーマットします(デフォルトは ANSI 用のsqlです)。フォーマット済みテキストと行数を返します。list_dialects()— 対応している方言の一覧を返すため、LLM はフォーマット前に確認できます。
開発の背景
LLM はターンごとに SQL のフォーマットが一貫しません。同じクエリでも、インデントやキーワードの大文字・小文字が異なることがあります。SQL の差分を確認するコードレビューエージェントや後続ツールには、統一された形式が必要です。十分にテストされた sql-formatter ライブラリをここでラップすることで、それを実現できます。
対応している方言
sql、bigquery、db2、db2i、duckdb、hive、mariadb、mysql、n1ql、plsql、postgresql、redshift、singlestoredb、snowflake、spark、sqlite、tidb、transactsql、trino。
インストール — Claude Desktop
{
"mcpServers": {
"sqlfmt": { "command": "npx", "args": ["-y", "@mukundakatta/sqlfmt-mcp"] }
}
}
Cursor / Cline / Windsurf / Zed でも同様です。
ライセンス
MIT OR Apache-2.0。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。