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
LINE, Supabase MCP でバイブスを上げる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
4geru
May 24, 2025
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINE, Supabase MCP でバイブスを上げる
「最初から学ぶMCPとFunction Calling」で LT した内容です
https://awsbasics.connpass.com/event/351591/
4geru
May 24, 2025
More Decks by 4geru
See All by 4geru
Rails で Remote MCP サーバーを作った話
4geru
0
390
Rails で Remote MCP サーバーを作った話
4geru
0
11
1ヶ月Vizを眺めた話
4geru
0
26
年齢で見るチームの特徴
4geru
0
27
Boom!ヒーロー!! - ポーズを決めろ!その瞬間、キミは主役のヒーローだ -
4geru
0
70
AIと考える MCP tools の実装
4geru
0
37
AI様、あとは"よしなに"やっといて! 〜MCPサーバ開発「裏」入門〜
4geru
0
69
その物件でホントにいいの君?_第3回_Dify_Studio_ハッカソン
4geru
0
74
How OpenAPI Is Transforming API Client Development
4geru
0
93
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Thoughts on Productivity
jonyablonski
76
5.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Transcript
LINE, Supabase MCP でバイブスを上げる 2025/05/24 最初から学ぶMCPとFunction Calling
自己紹介 名前:しげる 所属:マネーフォワード 趣味:LINE API で遊ぶこと X: @_4geru 🐼 LINE
API Expert 歴:7年目 昨日 CloudNative Days Summer 登壇し、沖縄観光中
AIに手伝ってもらいながら開発するって、 実際どうなの?便利なの?
利用技術 - Supabase - Supabase • オープンソースのバックエンドサービス(BaaS)プラットフォーム • PostgreSQLデータベース、認証、ストレージなどの開発環境を提供 •
MCPサーバーを公式リリースし、AIツールとの連携を強化 Supabase Edge Function • サーバーレスの機能(AWS Lambdaのようなもの)
利用技術 - LINE Messasging API(Bot) - LINE Messaging API •
テキスト、画像、動画、Flex Messageなど のメッセージをサポート • Reply, Push APIなどがある Flex Message • 広告でよく流れてくるメッセージ • 柔軟な UI を表現 • 複数を横並びも可能 • アクション(リンク)も埋め込める
MCPとの二人三脚開発ドキュメンタリー
- 図書管理システム -
LINE x Supabase MCP のお品書き 第1章: Supabase環境構築 - プロジェクトの土台作り 第2章:
データベース設計 - ER図からマイグレーションまで 第3章: LINE連携 - Flex Message送信の挑戦と学び 第4章: Suapabse Edge Function - 知見をアウトプット 第5章: MCPは「相棒」となり得るか? - 試行錯誤の先に得た答え
第1章: Supabase環境構築 - プロジェクトの土台作り -
プロジェクト作成① プロジェクト概要を README.md へ Cursor が読んで解釈
プロジェクト作成② ✅ 組織の検索
プロジェクト作成③ ✅ コストの確認
コストの確認 + 作成 ✅ プロジェクト名も提案 ✅ コストの最終確認
プロジェクトが作成された! 👏👏👏
第2章: データベース設計 - ER図からマイグレーションまで -
テーブル設計 ✅ 丁寧でわかりやすい
テーブルの作成 3 つのテーブルが作成されました 1. books テーブル: 本自体の情報を管理します。 2. users テーブル:
ユーザー情報を管理します。Supabaseの認証機能 (Auth) と連 携することを前提とします。 3. reservations テーブル: 本の予約情報を管理します。 テーブル間のリレーションシップ: • reservationsテーブルのuser_idはusersテーブルのidを参照します。 • reservationsテーブルのbook_idはbooksテーブルのidを参照します。 テーブル設計
テーブル再設計
テーブルの追加変更 1. users テーブル (変更なし) 2. genres テーブル (新規): 本のジャンルを管理します。
3. books テーブル (変更なし) 4. book_genres テーブル (新規): 本とジャンルの関連を管理する中間テーブル(多 対多)。 5. reservations テーブル (変更・拡張 ): 本の予約情報を管理します。 6. borrowings テーブル (新規): 実際の貸出情報を管理します(貸出履歴)。 テーブル再設計
[3] books [1] users [6] borrowings [5] reservations [4] book_genres
[2] genres
テーブル作成 ✅ テーブルの作成
テーブル確認 ✅ 先ほどの6テーブルが生成されている!
ダミーデータ生成 ✅ ダミーデータの生成
✅ ダミーデータができている! ダミーデータ確認
第3章: LINE連携 - Flex Message送信の挑戦と学び -
テスト用データ取得① ✅ プロジェクトを取得してくれる → ③ 番目が正しい 💬 user を 1
件取得したい
🤔 プロジェクト選択めんどくさくない?
✅ プロジェクト指定可能 Supabase MCP 設定
テスト用データ取得② ✅ users からの検索
Flex Message 作成① 💬 プロンプトはわかりやすく箇条書き
Flex Message 作成②
履歴と予約も表示させたい!
対象データ検索① ✅ テーブルの一覧を確認
✅ 取得用のクエリ - 貸出履歴 対象データ検索② ✅ 取得用のクエリ - 予約情報
横並びで表示 - メッセージ
縦並びにしたい!
メッセージ改良① ✅ 1つにまとめて表示
メッセージ改良②
Flex Message って...
複雑な Flex Message Flex Message は JSON 形式 複雑な入れ子構造(めんどくさい) →
LLM が自動で修正(らくちん!)
第4章: Suapabse Edge Function - 知見をアウトプット -
今までの手順を関数化 → 1つの関数まとまっている / 400行 over
関数の分割①
関数の分割②
👏 やった!できた!!
おや、表示されてる
関数の分割③
関数の分割④
👏 すごすぎる
① ② ③ ④ 関数の分割 分解して、リファクタ
次はデプロイをしたい!
Supabase へデプロイ
環境変数の設定
UIからの確認 ✅ 環境変数が登録されている
Curl から実行 ✅ curl から実行
👏 無事送信ができました!
第5章: MCPは「相棒」となり得るか? - 試行錯誤の先に得た答え -
MCPは「相棒」となり得るか? 1. 複数 MCP を繋ぐと生まれる価値 ◦ 開発のテンポが良くなり、楽しくなる 2. MCP を使うだけでなく、MCP
開発も必要 ◦ OSS MCP にも Contribute を! 3. MCPは「相棒」となっていく ◦ こういうことをしたい!を伝える ◦ ドキュメント、作図も作れる
👏 MCP を使った開発楽しい!