HubSpot - AI Studio|HubSpotと生成AIの技術特化メディア

MCP × Supabase/PostgreSQLでデータベース操作をAIで民主化する|自然言語SQL実行とスキーマ管理の実践ガイド

作成者: 今枝 拓海|2026/03/14 3:52:39

——「データベースを直接触れるのはエンジニアだけ」。多くの組織でこれが当たり前になっていますが、MCPの登場によりこの前提が変わりつつあります。AI活用完全ガイドで、AI活用の全体像を把握できます。

Supabaseは、Firebase代替として急成長しているオープンソースのBaaS(Backend as a Service)プラットフォームです。内部的にはPostgreSQLをベースにしており、認証・ストレージ・Edge Functionsなどのバックエンド機能を統合的に提供しています。そのSupabaseが公式MCPサーバーを提供したことで、AIエージェントがデータベースを直接操作できる環境が整いました。

CRM特化型コンサルタントとしてデータ活用の支援を行う中で、「エンジニアしかデータにアクセスできない」という制約がビジネスのスピードを大きく損なっている場面を数多く見てきました。Supabase MCPサーバーは、この構造的な課題に対する有力な解決策です。詳しくは「MCPサーバーの構築ガイド」で解説しています。

本記事では、Supabase MCPサーバーの具体的な活用方法から、安全性を確保したデータベース操作の設計パターンまで、実務で使えるレベルで解説します。詳しくは「MCPのエンタープライズ導入ガイド」で解説しています。

この記事でわかること

  • Supabase MCPサーバーが提供する機能と、従来のデータベース管理ツールとの違い
  • 自然言語でSQLを実行する具体的な手順と安全性確保の仕組み
  • スキーマ管理・マイグレーション自動化のワークフロー
  • Edge Functions連携によるバックエンド全体の自動化設計
  • データベースをAIに開放する際のセキュリティ設計と制限事項

Supabase MCPサーバーの全体像

Supabaseとは何か

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

MCPサーバーが提供するツール群

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型定義の自動生成

自然言語でのSQL実行——データベース操作の民主化

基本的な使い方

Supabase MCPサーバーのexecute_sqlツールを使うと、AIエージェント(Claude等)に自然言語で指示するだけでSQLが実行されます。詳しくは「HubSpot MCP Serverの活用ガイド」で解説しています。

自然言語の指示例:

  • 「先月作成されたユーザーの数を教えて」
  • 「最も売上が多い商品カテゴリのトップ10をリストアップして」
  • 「過去30日間でログインしていないアクティブユーザーを抽出して」

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にスキーマ変更を自然言語で指示してマイグレーションを自動生成・適用できます。

指示例:

  • 「customersテーブルにphone_numberカラムをvarchar(20)で追加して」
  • 「ordersテーブルにcustomer_idへの外部キー制約を追加して」
  • 「monthly_salesという名前のマテリアライズドビューを作成して」

マイグレーション管理のベストプラクティス

プラクティス 説明 重要度
ブランチでの事前検証 本番適用前にブランチで動作確認 最高
ロールバック計画 各マイグレーションに対応するロールバックSQLを用意
段階的適用 大規模な変更は複数の小さなマイグレーションに分割
型定義の自動更新 generate_typescript_typesでスキーマ変更をコードに反映

TypeScript型定義の自動生成

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;
        };
      };
    };
  };
}

Edge Functions連携——バックエンド全体の自動化

Edge Functionsとは

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とデータベースの連携設計

HubSpot × Supabaseのアーキテクチャ

CRMのデータとアプリケーションデータベースを連携させるのは、多くの企業が直面する課題です。MCPを使うことで、この連携をシンプルに設計できます。

[HubSpot MCP] ← CRMデータの読み書き
       ↕
[AIエージェント] ← 自然言語での指示
       ↕
[Supabase MCP] ← アプリケーションデータの管理

連携パターン

パターン フロー ユースケース
CRM → DB同期 HubSpotコンタクト → Supabaseユーザーテーブル 顧客データの統合分析
DB → CRM更新 Supabaseの行動ログ → HubSpotコンタクトプロパティ 行動データに基づくセグメンテーション
双方向同期 両方のMCPを使ったリアルタイム同期 統合ダッシュボード構築

正直に伝える制限事項

Supabase MCPサーバーでデータベースをAIに開放する際、以下の制限を理解しておく必要があります。

  • パフォーマンスへの影響: AIが生成するSQLクエリは必ずしも最適化されていません。大規模テーブルに対するフルスキャンクエリが実行されるリスクがあります。クエリタイムアウトの設定は必須です
  • トランザクションの制約: execute_sqlツールは単一のSQLステートメントを実行する設計であり、複数のSQLを1つのトランザクションとして実行するのは困難です
  • 機密データの露出: AIにSQLの実行結果が返されるため、個人情報や機密データがAIのコンテキストに含まれる可能性があります。カラムレベルのアクセス制御やデータマスキングを検討してください
  • マイグレーションの不可逆性: apply_migrationで適用したスキーマ変更は、自動ではロールバックされません。ブランチ環境での事前検証を必ず行ってください
  • Edge Functionsのデバッグ: AIが生成・デプロイしたEdge Functionのデバッグは、ログ確認が主な手段となります。複雑なビジネスロジックの場合、手動でのコードレビューが必要です
  • コスト管理: Supabaseのプランによっては、Edge Functionsの実行回数やデータベースの接続数に制限があります。MCP経由のアクセスもこの制限にカウントされます

FAQ

まとめ

Supabase MCPサーバーは、データベース操作の「民主化」を実現する強力なツールです。自然言語でのSQL実行、スキーマ管理の自動化、Edge Functionsの自動デプロイ——これらにより、エンジニアでなくてもデータベースを活用できる環境が整います。このテーマの全記事はMCP連携ガイドでご覧いただけます。

ただし、便利さとリスクは表裏一体です。本番データベースに対しては読み取り専用アクセスから始め、ブランチ環境での検証を徹底し、段階的に権限を拡張していく——この慎重なアプローチが成功の鍵です。

「CRMとデータベースの連携設計を相談したい」「AI活用のデータ基盤を構築したい」——そうしたご要望があれば、株式会社StartLinkがCRM特化型コンサルタントとしてデータ活用の設計から実装までご支援します。まずはお気軽にお問い合わせください。

筆者: 今枝 拓海(株式会社StartLink 代表取締役)——CRM特化型コンサルタントとして、HubSpotを中心としたCRM導入・活用支援に加え、Supabase/PostgreSQLとMCPを組み合わせたデータ活用基盤の設計を手がけています。