Supabase
Supabase APIを通じてプロジェクト管理、データベース運用、Edge Functions配備などのバックエンドサービスを管理できます。
主な機能
- プロジェクト管理とコスト見積もり
- データベーステーブルと拡張機能管理
- SQLクエリ実行とマイグレーション適用
- Edge Functions配備と管理
- データベースブランチ管理(実験的機能)
- TypeScript型生成
- ドキュメント検索とログデバッグ
基本情報
認証方式
Personal Access Tokenを使用して認証します。
入力パラメータ
- Access Token(必須):Supabaseで発行された個人アクセストークン
サポートするMCPツール
プロジェクト管理ツール
list_projects
ユーザーのすべてのSupabaseプロジェクトを一覧表示します。
get_cost
新しいプロジェクトまたはブランチ作成コストを見積もります。
入力パラメータ:
type(必須):コスト計算タイプ(“project”または”branch”)organization_id(必須):組織ID
confirm_cost
コスト確認後に作成を進めます。一意の確認IDを返し、create_projectまたはcreate_branchに渡す必要があります。
入力パラメータ:
type(必須):コスト計算タイプ(“project”または”branch”)recurrence(必須):課金周期(“hourly”または”monthly”)amount(必須):コスト金額
データベース運用ツール
list_tables
1つ以上のスキーマにあるすべてのテーブルを一覧表示します。
入力パラメータ:
project_id(任意):プロジェクトIDschemas(任意):含めるスキーマリスト(デフォルト:[“public”])
list_extensions
データベースのすべての拡張機能を一覧表示します。
入力パラメータ:
project_id(任意):プロジェクトID
execute_sql
データベースで生のSQLを実行します。DDL作業の場合はapply_migrationを代わりに使用してください。
入力パラメータ:
project_id(任意):プロジェクトIDquery(必須):実行するSQLクエリ
list_migrations
すべてのデータベースマイグレーションを一覧表示します。
入力パラメータ:
project_id(任意):プロジェクトID
apply_migration
新しいデータベースマイグレーションを適用します。DDL作業時にこのツールを使用してください。
入力パラメータ:
project_id(任意):プロジェクトIDname(必須):マイグレーション名(snake_case形式)query(必須):適用するSQLクエリ
Edge Functionsツール
list_edge_functions
プロジェクトのすべてのEdge Functionsを一覧表示します。
入力パラメータ:
project_id(任意):プロジェクトID
deploy_edge_function
SupabaseプロジェクトにEdge Functionを配備します。
入力パラメータ:
project_id(任意):プロジェクトIDname(必須):関数名entrypoint_path(任意):関数エントリーポイント(デフォルト:“index.ts”)import_map_path(任意):関数のimport mapfiles(必須):アップロードするファイル配列(エントリーポイントと依存関係を含む)- 各ファイル:
name(ファイル名)、content(ファイル内容)
- 各ファイル:
デバッグ・モニタリングツール
get_logs
デバッグ用のアプリケーションログを照会します。過去1分以内のログのみ返されます。
入力パラメータ:
project_id(任意):プロジェクトIDservice(必須):ログを取得するサービス(“api”、“branch-action”、“postgres”、“edge-function”、“auth”、“storage”、“realtime”のいずれか)endTimestamp(任意):終了タイムスタンプ
get_advisors
セキュリティとパフォーマンスの推奨事項を照会します。DDL変更後に定期的に実行することをお勧めします。
入力パラメータ:
project_id(任意):プロジェクトIDtype(必須):推奨事項タイプ(“security”または”performance”)
プロジェクト設定ツール
get_project_url
プロジェクトのAPI URLを照会します。
入力パラメータ:
project_id(任意):プロジェクトID
get_anon_key
プロジェクトの匿名APIキーを照会します。
入力パラメータ:
project_id(任意):プロジェクトID
ブランチ管理ツール(実験的)
create_branch
開発用の新しいデータベースブランチを作成します。メインプロジェクトのすべてのマイグレーションを新しいブランチデータベースに適用します。
入力パラメータ:
project_id(任意):プロジェクトIDname(任意):作成するブランチ名(デフォルト:“develop”)confirm_cost_id(必須):コスト確認ID(confirm_costを先に呼び出す必要あり)
list_branches
すべてのデータベースブランチを一覧表示します。ブランチ状態を確認してマージ/リベース/リセット作業完了を追跡できます。
入力パラメータ:
project_id(任意):プロジェクトID
delete_branch
データベースブランチを削除します。
入力パラメータ:
branch_id(必須):ブランチID
merge_branch
開発ブランチのマイグレーションとEdge Functionsをプロダクションにマージします。
入力パラメータ:
branch_id(必須):ブランチID
reset_branch
開発ブランチのマイグレーションをリセットします。追跡されていないデータやスキーマ変更は失われます。
入力パラメータ:
branch_id(必須):ブランチIDmigration_version(任意):特定のマイグレーションバージョンにリセット
rebase_branch
プロダクションを基準に開発ブランチをリベースします。プロダクションの新しいマイグレーションをブランチに適用してマイグレーションドリフトを処理するのに役立ちます。
入力パラメータ:
branch_id(必須):ブランチID
開発ツール
search_docs
Supabaseドキュメントで関連情報を検索します。GraphQLを使用して検索します。
入力パラメータ:
graphql_query(必須):GraphQLクエリ文字列
generate_typescript_types
データベーススキーマからTypeScript型を生成します。
入力パラメータ:
project_id(任意):プロジェクトID
使用例
例えば、
- プロンプトで「私のSupabaseプロジェクトリストを表示して」と入力すると、
- LLMはMCPを通じて
list_projectsツールを呼び出してユーザーのすべてのプロジェクトを照会します。 - そして、プロジェクトリストをチャットで提供します。
データベース管理:
- 「usersテーブルの構造を確認して」と入力すると、
- LLMは
list_tablesツールを呼び出してテーブル情報を照会します。
API Key設定方法
- Supabase Dashboard にログインします。
- Account Tokens ページに移動します。
- “Generate new token”ボタンをクリックします。
- トークン名を入力して生成します。
- 生成されたトークンをコピーして安全に保管します。
- QueryPie AIでSupabase統合を選択します。
- 発行されたPersonal Access Tokenを入力して接続を完了します。
注意事項
- 生成したPersonal Access Tokenは安全に保管してください。
- トークン生成後はコピーして安全な場所に保管してください。
- ブランチ機能は実験的機能のため慎重に使用してください。