FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
by
Nayuta S.
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2025/5/23 鈴木那由太 MCP Python SDK(FastMCP)で SQLをチェックしてくれるMCPサーバーを自作して Cursorから動かしてみた
Slide 2
Slide 2 text
話したいこと 2 ● SQLも規約に沿ってフォーマットしたいことがある。(特に分析系クエリ) 特にASによるエイリアス作成などはコード生成なため、Cursorで自動でできると助かる。 ● 自然言語からのSQL生成は別の仕組みが必要となる。
Slide 3
Slide 3 text
MCPサーバーを使ったSQLの自動修正 3 ①計算したカラムにASなし ②BigQuery構文のちょっと長めのSQL ②Snowflake構文のちょっと長めのSQL
Slide 4
Slide 4 text
MCPサーバーを使ったSQLの自動修正① 4 Agentモードで実行して、エイリアス名も含めチェック結果を元に修正提案してくれた。 チャットを続けてファイルに反映させることも可能。
Slide 5
Slide 5 text
MCPサーバーを使ったSQLの自動修正② 5
Slide 6
Slide 6 text
MCPサーバーを使ったSQLの自動修正③ 6
Slide 7
Slide 7 text
SQLFluff 7 ● コードスタイルのリント機能(sqlfluff lintコマンド) ● 解析結果の異常修正機能(sqlfluff fixコマンド) ○ fixは必ずしも修正できるわけではない。SELECT文でエイリアスがついていないエラーがあった際に、 カラムのエイリアスを勝手に考えてくれたりはしない。 エイリアスに関するエラーなど Fixで直せないものもある。
Slide 8
Slide 8 text
SQL周りのLLM活用 8 ● SQLの生成(特に自然言語からSQLを作成する) ● SQLの修正(右、エラーを元にコード自体を改善するなど) https://arxiv.org/pdf/2307.07306 https://docs.sqlfluff.com/en/stable/gettingstarted.html
Slide 9
Slide 9 text
Fast MCP 9 ● MCP Python SDK (FastMCP v1) ● Fast MCP v2 ○ Fast MCP(MCP Python SDK )の拡張 https://gofastmcp.com/getting-started/quickstart https://gofastmcp.com/getting-started/welcome
Slide 10
Slide 10 text
LLMによるMCP開発 10 Claudeを使ったMCP開発方法も紹介されている。(今回は手動でもできるが)
Slide 11
Slide 11 text
実際に作ってみた 11 以下をファイル保存してコンテキストにして、CursorからMCPサーバーの実装を生成させた。 ● MCPのドキュメント全体の内容(@Files) ● Python-sdkのGitレポジトリのREADME(@Files) ● SQLFluffのPython APIのドキュメント(@Docs)
Slide 12
Slide 12 text
MCPサーバーの環境作成 12 1. uvコマンドのインストール 2. プロジェクトを作成したい場所でuv initコマンドの実行 3. プロジェクトに移動して必要なライブラリをuv addコマンドで追加 ○ mcp[cli] ○ sqlfluff
Slide 13
Slide 13 text
MCPサーバーのCursorへの設定 13 uvで作成した仮想環境のmcpコマンドを指定して、実装したツールを実行するための mcp.jsonの設定した。 ほかに良い方法があれば 教えてください!mm
Slide 14
Slide 14 text
MCPサーバーを使ったSQLの自動修正 14 Agentモードで実行して、エイリアス名も含めチェック結果を元に修正提案してくれた。 チャットを続けてファイルに反映させることも可能。 再掲
Slide 15
Slide 15 text
参照実装 15 AWS MCP Serversなど信頼できるMCPサーバーについて、挙動の勉強や実装を参考にすると 良さそう。 https://github.com/awslabs/mcp/blob/main/src/terraform-mcp- server/awslabs/terraform_mcp_server/impl/tools/run_checkov_scan.py#L340 https://awslabs.github.io/mcp/
Slide 16
Slide 16 text
No content