Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FastMCPでSQLをチェックしてくれるMCPサーバーを自作してCursorから動かしてみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nayuta S.
June 01, 2025
Technology
1
660
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
1.7k
Snowflakeで実践する、生成AIを活用した「自然言語によるデータとの対話」
nayuts
0
370
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
1.4k
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
640
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
1.3k
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
360
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
620
データ品質管理の第一歩
nayuts
1
1.2k
簡単に始めるSnowflakeの機械学習
nayuts
1
2.1k
Other Decks in Technology
See All in Technology
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.2k
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
200
20260321_エンベディングってなに?RAGってなに?エンベディングの説明とGemini Embedding 2 の紹介
tsho
0
160
Phase09_自動化_仕組み化
overflowinc
0
1.6k
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.2k
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
310
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
22
11k
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
160
FastMCP OAuth Proxy with Cognito
hironobuiga
3
180
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
240
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
1
260
Copilot 宇宙へ 〜生成AIで「専門データの壁」を壊す方法〜
nakasho
0
180
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
230
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
250
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Balancing Empowerment & Direction
lara
5
960
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