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
Nayuta S.
June 01, 2025
Technology
1
360
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.
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
360
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
980
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
250
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
460
データ品質管理の第一歩
nayuts
1
980
簡単に始めるSnowflakeの機械学習
nayuts
1
1.4k
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
1
1.2k
Vertex AIとBigQueryでつくる簡単ベクトル検索&テキスト分析システム
nayuts
0
1.2k
AIが強力にサポート!データ分析・ML系サービスアップデート
nayuts
0
760
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
Autify Company Deck
autifyhq
2
44k
AWS CDKの仕組み / how-aws-cdk-works
gotok365
10
1k
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.2k
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
280
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
340
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
180
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
shake-upを科学する
rsakata
7
970
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
230
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
980
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
Producing Creativity
orderedlist
PRO
346
40k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Statistics for Hackers
jakevdp
799
220k
Agile that works and the tools we love
rasmusluckow
329
21k
KATA
mclloyd
30
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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