——「データベースを直接触れるのはエンジニアだけ」。多くの組織でこれが当たり前になっていますが、MCPの登場によりこの前提が変わりつつあります。AI活用完全ガイドで、AI活用の全体像を把握できます。
Supabaseは、Firebase代替として急成長しているオープンソースのBaaS(Backend as a Service)プラットフォームです。内部的にはPostgreSQLをベースにしており、認証・ストレージ・Edge Functionsなどのバックエンド機能を統合的に提供しています。そのSupabaseが公式MCPサーバーを提供したことで、AIエージェントがデータベースを直接操作できる環境が整いました。
CRM特化型コンサルタントとしてデータ活用の支援を行う中で、「エンジニアしかデータにアクセスできない」という制約がビジネスのスピードを大きく損なっている場面を数多く見てきました。Supabase MCPサーバーは、この構造的な課題に対する有力な解決策です。詳しくは「MCPサーバーの構築ガイド」で解説しています。
本記事では、Supabase MCPサーバーの具体的な活用方法から、安全性を確保したデータベース操作の設計パターンまで、実務で使えるレベルで解説します。詳しくは「MCPのエンタープライズ導入ガイド」で解説しています。
Supabaseは、PostgreSQLをベースにしたオープンソースのBaaSプラットフォームです。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 |
Supabase公式MCPサーバーは、Supabase社自身が開発・メンテナンスするTier 1のサーバーです。以下のツールが利用可能です。
| ツール名 | 機能 | リスクレベル |
|---|---|---|
execute_sql |
SQLクエリの実行 | 高(書き込み可能な場合) |
list_tables |
テーブル一覧の取得 | 低 |
list_extensions |
PostgreSQL拡張の一覧取得 | 低 |
list_migrations |
マイグレーション履歴の取得 | 低 |
apply_migration |
マイグレーションの適用 | 高 |
create_project |
新規プロジェクトの作成 | 中 |
list_projects |
プロジェクト一覧の取得 | 低 |
get_project |
プロジェクト詳細の取得 | 低 |
create_branch |
データベースブランチの作成 | 中 |
deploy_edge_function |
Edge Functionのデプロイ | 高 |
get_logs |
ログの取得 | 低 |
generate_typescript_types |
TypeScript型定義の自動生成 | 低 |
Supabase MCPサーバーのexecute_sqlツールを使うと、AIエージェント(Claude等)に自然言語で指示するだけでSQLが実行されます。詳しくは「HubSpot MCP Serverの活用ガイド」で解説しています。
自然言語の指示例:
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代表)
Supabase MCPサーバーのapply_migrationツールを使うと、AIにスキーマ変更を自然言語で指示してマイグレーションを自動生成・適用できます。
指示例:
| プラクティス | 説明 | 重要度 |
|---|---|---|
| ブランチでの事前検証 | 本番適用前にブランチで動作確認 | 最高 |
| ロールバック計画 | 各マイグレーションに対応するロールバックSQLを用意 | 高 |
| 段階的適用 | 大規模な変更は複数の小さなマイグレーションに分割 | 高 |
| 型定義の自動更新 | generate_typescript_typesでスキーマ変更をコードに反映 |
中 |
Supabase MCPサーバーの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を、自然言語の指示だけで構築できます。
シナリオ3: 外部API連携
Supabaseのデータを外部APIに連携するEdge Functionを自動生成します。たとえば、新規顧客データをSlackに通知する関数など。
CRMのデータとアプリケーションデータベースを連携させるのは、多くの企業が直面する課題です。MCPを使うことで、この連携をシンプルに設計できます。
[HubSpot MCP] ← CRMデータの読み書き
↕
[AIエージェント] ← 自然言語での指示
↕
[Supabase MCP] ← アプリケーションデータの管理
| パターン | フロー | ユースケース |
|---|---|---|
| CRM → DB同期 | HubSpotコンタクト → Supabaseユーザーテーブル | 顧客データの統合分析 |
| DB → CRM更新 | Supabaseの行動ログ → HubSpotコンタクトプロパティ | 行動データに基づくセグメンテーション |
| 双方向同期 | 両方のMCPを使ったリアルタイム同期 | 統合ダッシュボード構築 |
Supabase MCPサーバーでデータベースをAIに開放する際、以下の制限を理解しておく必要があります。
execute_sqlツールは単一のSQLステートメントを実行する設計であり、複数のSQLを1つのトランザクションとして実行するのは困難ですapply_migrationで適用したスキーマ変更は、自動ではロールバックされません。ブランチ環境での事前検証を必ず行ってくださいSupabase MCPサーバーは、データベース操作の「民主化」を実現する強力なツールです。自然言語でのSQL実行、スキーマ管理の自動化、Edge Functionsの自動デプロイ——これらにより、エンジニアでなくてもデータベースを活用できる環境が整います。このテーマの全記事はMCP連携ガイドでご覧いただけます。
ただし、便利さとリスクは表裏一体です。本番データベースに対しては読み取り専用アクセスから始め、ブランチ環境での検証を徹底し、段階的に権限を拡張していく——この慎重なアプローチが成功の鍵です。
「CRMとデータベースの連携設計を相談したい」「AI活用のデータ基盤を構築したい」——そうしたご要望があれば、株式会社StartLinkがCRM特化型コンサルタントとしてデータ活用の設計から実装までご支援します。まずはお気軽にお問い合わせください。
筆者: 今枝 拓海(株式会社StartLink 代表取締役)——CRM特化型コンサルタントとして、HubSpotを中心としたCRM導入・活用支援に加え、Supabase/PostgreSQLとMCPを組み合わせたデータ活用基盤の設計を手がけています。