Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
Search
Nayuta S.
June 01, 2025
Technology
1
570
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
2025/5/23にクラスメソッド社内メンバー向けに発表した資料になります。
Developers IOでのブログ公開用途も含めて作成しているので、Speaker Deckでも公開します。
Nayuta S.
June 01, 2025
Tweet
Share
More Decks by Nayuta S.
See All by Nayuta S.
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
860
Snowflakeで実践する、生成AIを活用した「自然言語によるデータとの対話」
nayuts
0
200
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
1.2k
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
550
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
1.3k
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
330
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
590
データ品質管理の第一歩
nayuts
1
1.1k
簡単に始めるSnowflakeの機械学習
nayuts
1
1.9k
Other Decks in Technology
See All in Technology
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
230
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.7k
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
160
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
140
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
510
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
120
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.1k
AI with TiDD
shiraji
1
300
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
860
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
7
4k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.4k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
GitHub's CSS Performance
jonrohan
1032
470k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
The Cult of Friendly URLs
andyhume
79
6.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
310
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Unsuck your backbone
ammeep
671
58k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
67
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Building AI with AI
inesmontani
PRO
1
570
Transcript
2025/5/23 鈴木那由太 MCP Python SDK(FastMCP)で SQLをチェックしてくれるMCPサーバーを自作して Cursorから動かしてみた
話したいこと 2 • SQLも規約に沿ってフォーマットしたいことがある。(特に分析系クエリ) 特にASによるエイリアス作成などはコード生成なため、Cursorで自動でできると助かる。 • 自然言語からのSQL生成は別の仕組みが必要となる。
MCPサーバーを使ったSQLの自動修正 3 ①計算したカラムにASなし ②BigQuery構文のちょっと長めのSQL ②Snowflake構文のちょっと長めのSQL
MCPサーバーを使ったSQLの自動修正① 4 Agentモードで実行して、エイリアス名も含めチェック結果を元に修正提案してくれた。 チャットを続けてファイルに反映させることも可能。
MCPサーバーを使ったSQLの自動修正② 5
MCPサーバーを使ったSQLの自動修正③ 6
SQLFluff 7 • コードスタイルのリント機能(sqlfluff lintコマンド) • 解析結果の異常修正機能(sqlfluff fixコマンド) ◦ fixは必ずしも修正できるわけではない。SELECT文でエイリアスがついていないエラーがあった際に、
カラムのエイリアスを勝手に考えてくれたりはしない。 エイリアスに関するエラーなど Fixで直せないものもある。
SQL周りのLLM活用 8 • SQLの生成(特に自然言語からSQLを作成する) • SQLの修正(右、エラーを元にコード自体を改善するなど) https://arxiv.org/pdf/2307.07306 https://docs.sqlfluff.com/en/stable/gettingstarted.html
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
LLMによるMCP開発 10 Claudeを使ったMCP開発方法も紹介されている。(今回は手動でもできるが)
実際に作ってみた 11 以下をファイル保存してコンテキストにして、CursorからMCPサーバーの実装を生成させた。 • MCPのドキュメント全体の内容(@Files) • Python-sdkのGitレポジトリのREADME(@Files) • SQLFluffのPython APIのドキュメント(@Docs)
MCPサーバーの環境作成 12 1. uvコマンドのインストール 2. プロジェクトを作成したい場所でuv initコマンドの実行 3. プロジェクトに移動して必要なライブラリをuv addコマンドで追加
◦ mcp[cli] ◦ sqlfluff
MCPサーバーのCursorへの設定 13 uvで作成した仮想環境のmcpコマンドを指定して、実装したツールを実行するための mcp.jsonの設定した。 ほかに良い方法があれば 教えてください!mm
MCPサーバーを使ったSQLの自動修正 14 Agentモードで実行して、エイリアス名も含めチェック結果を元に修正提案してくれた。 チャットを続けてファイルに反映させることも可能。 再掲
参照実装 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/
None