Supabase MCP自体は無料で利用できます。ただし、Supabaseのプラン(Free / Pro / Team / Enterprise)に応じた利用制限があり、特にデータベースブランチ機能は
Supabase MCP自体は無料で利用できます。ただし、Supabaseのプラン(Free / Pro / Team / Enterprise)に応じた利用制限があり、特にデータベースブランチ機能は
ブログ目次
HubSpot導入、AI活用、CRM整備、業務効率化までをまとめて支援しています。記事で気になったテーマを、そのまま相談ベースで整理できます。
—— 「テーブルを作って、RLSポリシーを設定して、Edge Functionをデプロイして」——こんな一言で、バックエンドのセットアップが完了する時代が来ています。AI活用完全ガイドで、AI活用の全体像を把握できます。
Supabaseが公式に提供するMCP(Model Context Protocol)サーバーは、AIアシスタントとSupabaseプラットフォームを直接接続し、自然言語によるデータベース操作・インフラ管理を実現します。従来、数時間かかっていたバックエンド構築作業が、対話形式で数分に短縮される——これは単なる効率化ではなく、開発パラダイムそのものの転換です。詳しくは「MCPサーバーの構築ガイド」で解説しています。
この記事では、Supabase MCPの仕組みから実践的な活用方法、そして企業での導入における注意点まで、網羅的に解説します。詳しくは「MCPのエンタープライズ導入ガイド」で解説しています。
MCP(Model Context Protocol)は、Anthropicが提唱するオープンプロトコルで、AIモデルと外部ツール・データソースを標準化された方法で接続します。Supabase MCPは、このプロトコルを活用してSupabaseの全機能——データベース、認証、ストレージ、Edge Functions——をAIアシスタントから直接操作可能にするサーバーです。
従来のバックエンド開発では、開発者がSQLを書き、CLIコマンドを実行し、管理画面を操作する必要がありました。Supabase MCPを導入すると、これらの操作を自然言語で指示するだけで実行できるようになります。
Supabaseは、PostgreSQLをベースにしたオープンソースのBaaS(Backend as a Service)プラットフォームです。Supabase公式サイトで提供されている主要機能は以下の通りです。
| 機能 | 説明 | 競合サービス |
|---|---|---|
| Database | マネージドPostgreSQL | Firebase Realtime DB、PlanetScale |
| Auth | ユーザー認証・認可 | Firebase Auth、Auth0 |
| Storage | ファイルストレージ | Firebase Storage、S3 |
| Edge Functions | サーバーレス関数(Deno) | Firebase Functions、Vercel Functions |
| Realtime | リアルタイムデータ同期 | Firebase Realtime |
| Vector | ベクトルデータベース(pgvector) | Pinecone、Weaviate |
MCPサーバーは、これらの機能すべてをAIアシスタントから操作可能にします。
| 項目 | 従来の開発フロー | Supabase MCP活用 |
|---|---|---|
| テーブル作成 | SQLを手書き → psqlで実行 | 「usersテーブルを作って」と指示 |
| マイグレーション | ファイル作成 → レビュー → 適用 | 自然言語で変更内容を指示 → 自動生成・適用 |
| RLSポリシー設定 | SQL定義 → テスト → デプロイ | 要件を説明 → ポリシー自動生成 |
| Edge Functions | TypeScript記述 → CLIデプロイ | 機能要件を説明 → コード生成・デプロイ |
| デバッグ | ログ確認 → 原因特定 → 修正 | ログ取得 → AI分析 → 修正案提示 |
| 型定義生成 | CLI実行 → ファイル配置 | 「型定義を生成して」で完了 |
ここが結構ミソなのですが、Supabase MCPは単なるSQL実行の自動化ではありません。プロジェクト作成からブランチ管理、Edge Functionsのデプロイ、ログの分析まで、Supabaseプラットフォーム全体をカバーする包括的な操作が可能です。
Supabase MCPが提供するツール群は、大きく以下のカテゴリに分類されます。
プロジェクトの作成・一覧取得・設定変更など、Supabaseのプロジェクトレベルの操作を担います。
list_projects: 全プロジェクトの一覧を取得get_project: 特定プロジェクトの詳細情報を取得create_project: 新規プロジェクトを作成(リージョン・プラン指定可)pause_project / restore_project: プロジェクトの一時停止・復元get_project_url: API URLやキー情報の取得SQLの実行、マイグレーション管理、テーブル情報の取得など、データベースの中核操作を行います。
execute_sql: 任意のSQLクエリを実行(読み取り専用モード対応)apply_migration: マイグレーションファイルの適用list_migrations: 適用済みマイグレーション一覧list_tables: テーブル・ビュー・マテリアライズドビューの一覧list_extensions: PostgreSQL拡張機能の一覧get_advisors: パフォーマンスアドバイザーの結果取得Supabaseのデータベースブランチ機能と連携し、開発・ステージング・本番の環境分離を実現します。
create_branch: 開発用ブランチの作成list_branches: ブランチ一覧の取得merge_branch: ブランチのマージ(本番適用)reset_branch / rebase_branch: ブランチのリセット・リベースdelete_branch: 不要ブランチの削除サーバーレス関数のデプロイ・管理・コード取得を行います。
deploy_edge_function: Edge Functionのデプロイlist_edge_functions: デプロイ済み関数の一覧get_edge_function: 関数の詳細・コード取得ログの取得やコスト分析、TypeScript型定義の生成など、運用フェーズで必要な操作を提供します。
get_logs: サービス別ログの取得(API Gateway、PostgreSQL、Edge Functions等)get_cost: プロジェクトのコスト情報generate_typescript_types: データベーススキーマからTypeScript型定義を自動生成Supabase MCPを利用するには、以下の準備が必要です。
Claude Desktopの設定ファイル(claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--access-token",
"sbp_xxxxxxxxxxxxxxxxxxxxxxxx"
]
}
}
}
sbp_で始まるアクセストークンは、必ず環境変数や安全な方法で管理してください。設定ファイルに直接記述する場合は、そのファイルのアクセス権限を適切に制限することが重要です。
セットアップ完了後、以下のような自然言語での操作が可能になります。
プロジェクト確認
「現在のSupabaseプロジェクトの一覧を見せて」と指示すると、list_projectsツールが実行され、プロジェクト名・リージョン・ステータスの一覧が返されます。
テーブル作成
「顧客管理用のcustomersテーブルを作成して。name、email、company、created_atカラムが必要」と指示すると、適切なSQLが生成・実行されます。RLS(Row Level Security)の設定も同時に依頼できます。
マイグレーション適用
「ordersテーブルにstatus列を追加するマイグレーションを実行して。デフォルト値はpending」と指示すると、apply_migrationツールでマイグレーションが作成・適用されます。
Supabase MCPのexecute_sqlツールを使うと、SQLの文法を知らなくても自然言語でデータベースを操作できます。
AIは自然言語の指示を解釈し、適切なSQLクエリを生成・実行し、結果をわかりやすく整形して返します。
ここが結構ミソなのですが、データベースへのAIアクセスは便利さと引き換えにリスクも伴います。以下の設計パターンで安全性を確保します。
パターン1: 読み取り専用アクセス
最も安全な構成です。MCPサーバーに渡すデータベース接続情報を読み取り専用のロールに限定します。
-- 読み取り専用ロールの作成
CREATE ROLE mcp_readonly WITH LOGIN PASSWORD 'secure_password';
GRANT USAGE ON SCHEMA public TO mcp_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO mcp_readonly;
パターン2: Row Level Security(RLS)の活用
SupabaseのRLS機能を使って、MCPサーバー経由のアクセスに対して行レベルのセキュリティポリシーを適用します。
-- 特定テーブルのRLSを有効化
ALTER TABLE customers ENABLE ROW LEVEL SECURITY;
-- MCPロール用のポリシー(機密情報を含むカラムを除外)
CREATE POLICY "mcp_read_customers" ON customers
FOR SELECT TO mcp_readonly
USING (true);
パターン3: ブランチ環境での実行
本番データベースではなく、Supabaseのブランチ機能を使って検証環境でSQLを実行します。
| 環境 | 用途 | MCPアクセス権限 |
|---|---|---|
| Production | 本番データ | 読み取り専用 |
| Staging | ステージング検証 | 読み書き可能 |
| Branch | 一時的な検証 | フル権限 |
「データベースをAIに開放するということは、SQL Injection対策以上に"意図しない操作"への備えが必要です。AIは指示に忠実すぎるため、あいまいな指示が予期せぬDELETEやUPDATEにつながるリスクがあります。読み取り専用アクセスから始めることを強く推奨します」——今枝(StartLink代表)
apply_migrationツールを使うと、AIにスキーマ変更を自然言語で指示してマイグレーションを自動生成・適用できます。
指示例:
| プラクティス | 説明 | 重要度 |
|---|---|---|
| ブランチでの事前検証 | 本番適用前にブランチで動作確認 | 最高 |
| ロールバック計画 | 各マイグレーションに対応するロールバックSQLを用意 | 高 |
| 段階的適用 | 大規模な変更は複数の小さなマイグレーションに分割 | 高 |
| 型定義の自動更新 | generate_typescript_typesでスキーマ変更をコードに反映 |
中 |
generate_typescript_typesツールを使うと、データベーススキーマからTypeScriptの型定義を自動生成できます。スキーマ変更がフロントエンドのコードに即座に反映されるため、型の不整合によるバグを防止できます。
// Supabase MCPで自動生成される型定義の例
export interface Database {
public: {
Tables: {
customers: {
Row: {
id: string;
name: string;
email: string;
created_at: string;
};
Insert: {
name: string;
email: string;
};
Update: {
name?: string;
email?: string;
};
};
};
};
}
Supabase Edge Functionsは、Denoランタイムで動作するサーバーレス関数です。MCPのdeploy_edge_functionツールを使うと、AIがEdge Functionのコードを生成し、そのままデプロイまで実行できます。
シナリオ1: Webhook受信とデータ処理
HubSpotのWebhookを受信し、CRMのイベントをSupabaseのデータベースに保存するEdge Functionを自動生成・デプロイできます。
シナリオ2: 定期データ集計
日次の売上集計やユーザーアクティビティレポートを生成するEdge Functionを、自然言語の指示だけで構築できます。なお、こうしたAI活用については経営データの可視化サービスでも具体的な取り組みをご紹介しています。
シナリオ3: 外部API連携
Supabaseのデータを外部APIに連携するEdge Functionを自動生成します。たとえば、新規顧客データをSlackに通知する関数など。
スタートアップがSaaSプロダクトのMVPを構築する場合、Supabase MCPは圧倒的な速度で環境を整備します。
従来のアプローチ(所要時間:2〜3日)
Supabase MCP活用(所要時間:数時間)
本番環境でパフォーマンス問題が発生した場合、Supabase MCPを使ったデバッグフローは以下のようになります。
従来は複数のダッシュボード画面を行き来し、ログを目視で分析する必要がありましたが、AIが一連の流れを対話形式でガイドします。詳しくは「HubSpot MCP Serverの活用ガイド」で解説しています。こうしたClaude Codeの活用に関心のある方は、経営データの可視化やコンテンツマーケティングの効率化もぜひご覧ください。
Supabaseのブランチ機能とMCPを組み合わせることで、本番環境に影響を与えない安全な開発が可能です。
開発者: 「新機能用のブランチを作成して」
AI: create_branchを実行 → ブランチURL・接続情報を返却
開発者: 「このブランチにnotificationsテーブルを追加して」
AI: ブランチ上でマイグレーション実行
開発者: 「テストデータを10件入れて」
AI: INSERT文を生成・実行
開発者: 「問題なければ本番にマージして」
AI: merge_branchを実行 → 本番適用完了
Supabase MCPの真価は、他のMCPサーバーとの組み合わせで発揮されます。
| 連携先 | 活用シナリオ | 具体的な指示例 |
|---|---|---|
| HubSpot MCP | CRMデータとSupabaseの同期 | 「HubSpotの新規コンタクトをSupabaseに同期するEdge Functionを作って」 |
| Slack MCP | 運用通知の自動化 | 「DBエラーログを検知したらSlackに通知するロジックを組んで」 |
| GitHub MCP | CI/CD連携 | 「PRマージ時にマイグレーションを自動適用する設定をして」 |
| freee MCP | 会計データ連携 | 「freeeの取引データをSupabaseに格納するバッチ処理を作って」 |
MCP連携の基本的な考え方については、MCPで実現するCRM・会計データ統合で詳しく解説しています。
CRMのデータとアプリケーションデータベースを連携させるのは、多くの企業が直面する課題です。MCPを使うことで、この連携をシンプルに設計できます。
[HubSpot MCP] ← CRMデータの読み書き
↕
[AIエージェント] ← 自然言語での指示
↕
[Supabase MCP] ← アプリケーションデータの管理
| パターン | フロー | ユースケース |
|---|---|---|
| CRM → DB同期 | HubSpotコンタクト → Supabaseユーザーテーブル | 顧客データの統合分析 |
| DB → CRM更新 | Supabaseの行動ログ → HubSpotコンタクトプロパティ | 行動データに基づくセグメンテーション |
| 双方向同期 | 両方のMCPを使ったリアルタイム同期 | 統合ダッシュボード構築 |
Supabase MCPは読み取り専用モードをサポートしており、本番環境への誤った書き込みを防止できます。分析目的でのSQL実行や、ログの確認といった読み取り操作のみを許可する設定が可能です。
パーソナルアクセストークンはアカウントレベルの権限を持つため、取り扱いには細心の注意が必要です。
| ルール | 詳細 |
|---|---|
| マイグレーションの事前レビュー | AIが生成したSQLは必ず人間がレビューしてから適用 |
| ブランチの活用 | 本番への直接変更は禁止。ブランチで検証後にマージ |
| ログの監査 | 全MCP操作のログを保持し、定期的に監査 |
| ロールバック計画 | マイグレーション適用前にロールバック手順を確認 |
| 権限の最小化 | 必要最小限の権限のみを付与 |
Supabase MCPは強力なツールですが、万能ではありません。以下の限界を理解した上で導入を検討してください。
複雑なクエリの精度
自然言語からの変換精度は、クエリの複雑さに依存します。複数テーブルのJOINや複雑なサブクエリ、ウィンドウ関数を含むクエリでは、AIが意図と異なるSQLを生成する可能性があります。生成されたSQLは必ずレビューしてください。
パフォーマンスへの影響
AIが生成するSQLクエリは必ずしも最適化されていません。大規模テーブルに対するフルスキャンクエリが実行されるリスクがあります。クエリタイムアウトの設定は必須です。数百万行を超える大規模なデータ操作では、バッチ処理の設計が必要な場合もあります。
トランザクションの制約
execute_sqlツールは単一のSQLステートメントを実行する設計であり、複数のSQLを1つのトランザクションとして実行するのは困難です。複雑なトランザクション管理が必要な場合は、従来のGUIツールや手動スクリプトが適しています。
機密データの露出リスク
AIにSQLの実行結果が返されるため、個人情報や機密データがAIのコンテキストに含まれる可能性があります。カラムレベルのアクセス制御やデータマスキングを検討してください。
マイグレーションの不可逆性
apply_migrationで適用したスキーマ変更は、自動ではロールバックされません。ブランチ環境での事前検証を必ず行い、ロールバック用のSQLも事前に用意してください。
本番環境の安全性
AIが生成するDDL(データ定義言語)をそのまま本番に適用するのはリスクがあります。必ず開発ブランチでの検証を経てから本番にマージしてください。
Edge Functionsのデバッグ
AIが生成・デプロイしたEdge Functionのデバッグは、ログ確認が主な手段となります。複雑なビジネスロジックの場合、手動でのコードレビューが必要です。
Supabaseプラン制限とコスト管理
無料プラン(Free Plan)ではデータベースブランチ機能が利用できません。ブランチ機能を活用した安全な開発フローを構築するには、Proプラン以上が必要です。また、Edge Functionsの実行回数やデータベースの接続数に制限があり、MCP経由のアクセスもこの制限にカウントされます。料金やプランの詳細は、Supabase公式の料金ページをご確認ください。
Supabase MCPの登場は、開発者の役割を根本から変えつつあります。
今枝(StartLink代表)は、この変化を次のように見ています。「AIがバックエンドのオペレーションを担うようになると、開発者の価値は"手を動かす速さ"から"正しい判断をする力"に移ります。Supabase MCPのようなツールを使いこなせるかどうかは、その判断力をどれだけ磨いてきたかにかかっています」
AIコード生成ツールの全体像については、主要AIコード生成ツール比較も併せてご確認ください。また、AI開発環境の中核であるCursorについては、Cursor AI IDE 完全ガイドで詳しく解説しています。
Supabase MCP自体は無料で利用できます。ただし、Supabaseのプラン(Free / Pro / Team / Enterprise)に応じた利用制限があり、特にデータベースブランチ機能はProプラン以上で利用可能です。
執筆時点では、Claude Desktop、Cursor、VS Code(GitHub Copilot)など、複数のMCPクライアントが対応しています。Claude DesktopはAnthropicが提供する公式クライアントで、Supabase MCPとの相性が良く、セットアップも簡単です。
読み取り専用モードでの利用は比較的安全です。書き込み操作を伴う場合は、必ずブランチ機能を活用し、レビュー後にマージする運用を推奨します。AIが生成したSQLをそのまま本番に適用することは避けてください。
はい、既存プロジェクトにも導入可能です。アクセストークンを発行し、MCPクライアントの設定に追加するだけで、既存のテーブルやEdge Functionsをそのまま操作できます。
Supabase CLIは開発者がコマンドラインから直接操作するツールで、Supabase MCPはAIアシスタントがプログラム的に操作するためのインターフェースです。MCPを使うと、自然言語での指示がCLI相当の操作に変換されて実行されます。
あります。AIは指示に忠実すぎるため、あいまいな指示が予期せぬDELETEやUPDATEにつながるリスクがあります。対策として、読み取り専用ロールの使用、DDL操作の禁止(GRANT/REVOKEで制御)、クエリタイムアウトの設定、実行前のSQL確認ステップの導入が有効です。
Supabase MCPサーバーはSupabase(PostgreSQL)専用です。MySQL、MongoDB等の他のデータベースにはそれぞれ専用のMCPサーバーが存在します。MCPエコシステム全体ではPostgreSQL、MySQL、MongoDB、SQLite、BigQuery等の主要データベースに対応するサーバーが公開されています。
最大の違いは自然言語でデータベースを操作できる点です。SQLの文法を知らなくても「先月の売上合計を教えて」と指示するだけで適切なクエリが実行されます。一方、複雑なトランザクション管理やパフォーマンスチューニングには従来のGUIツールの方が適しています。探索的なデータ分析やアドホックなクエリにはMCP、日常的な運用管理には従来ツールという使い分けが実務的です。
株式会社StartLinkでは、Supabase MCPをはじめとするAIツールを活用した開発支援・コンサルティングを提供しています。
AIを活用した開発体制の構築にご興味がある方は、お気軽にご相談ください。
株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。
株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。