Supabase MCPサーバー導入手順|ClaudeからDBを安全に操作する方法

AIエージェントを活用した開発が急速に普及する中、Claude DesktopやCursorなどのAIツールから自社のデータベースを直接参照・操作させたいというニーズが高まっています。

これを安全かつ標準化された仕様で実現するのが、Anthropicが提唱するオープン標準「Model Context Protocol(MCP)」に対応したSupabase公式のMCPサーバーです。Supabase MCPサーバーを導入すると、AIがデータベースのテーブル定義を把握した上で適切なSQLを発行したり、Edge Functionsをテスト実行したりできるようになります。

さらに2026年最新のアップデートでは、Oktaなどのアイデンティティプロバイダ(IdP)と連携した「Enterprise-Managed Auth(エンタープライズ認証)」が一般提供され、個人利用だけでなく企業・チーム全体で権限を安全に一元管理できるようになりました。

この記事では、Supabase MCPサーバーの概要から、Claude Desktopでの接続手順、具体的な活用例、そして企業向けのセキュアな認証設定までを詳しく解説します。

この記事で行うこと

  • Supabase MCPサーバーの役割と利用メリットを理解する
  • Personal Access Token(PAT)を用いてClaude Desktopと接続する手順を実践する
  • Claudeから自然言語でスキーマ確認やデータ参照を実行する
  • 2026年に登場したEnterprise-Managed Auth(Okta SSO × ID-JAG連携)の仕組みと設定の流れを把握する
  • AIツールからデータベースへアクセスする際のセキュリティ上の注意点を確認する

前提条件・対象読者

  • Supabaseのアカウントおよびプロジェクトを所有していること
  • Claude Desktop(最新版)がインストールされていること
  • 開発環境にNode.js(npxコマンドが実行可能であること)が整っていること
  • (企業向け設定を行う場合)Supabase TeamまたはEnterpriseプラン、およびOkta SSOの設定環境があること

注意点

Supabase MCPサーバーをAIツールに接続する際は、以下の点に注意してください。

  • AIツールがデータベースに対して直接クエリを実行できる状態になるため、発行するトークンの権限管理が非常に重要です。
  • 本番環境(Production)のプロジェクトに接続する場合は、読み取り専用の権限やステージング環境の利用を検討してください。
  • 企業向けEnterprise-Managed Authは、Supabase TeamプランまたはEnterpriseプラン、かつClaude TeamプランまたはEnterpriseプランが必要です。
  • 個人開発環境でPersonal Access Token(PAT)を使用する場合、トークンが記載された設定ファイルをGit等にコミットしないよう厳重に管理してください。

Supabase MCPサーバーとは

Model Context Protocol(MCP)は、LLM(大規模言語モデル)を搭載したアプリケーションと外部ツール・データソースを接続するためのオープンな標準プロトコルです。

Supabase MCPサーバーを介することで、ClaudeなどのAIクライアントは以下の操作をチャット上から自律的に実行できるようになります。

  • データベーススキーマやテーブル構造の確認
  • SQLクエリの生成と実行(データの取得・更新)
  • ユーザーアカウント情報の照会
  • デプロイされたEdge Functionsのテスト呼び出し
  • データベースのパフォーマンスやマイグレーションの確認

これにより、Supabaseダッシュボードや psql を行き来することなく、チャット画面上で「先週登録されたユーザーの傾向を教えて」「新しいテーブルを作成するマイグレーションSQLを適用して」といった指示を出すだけで作業が完結します。

手順1:Supabaseのパーソナルアクセストークン(PAT)を発行する

まずは個人開発者向けの最も標準的な接続方法である、Personal Access Token(PAT)を用いた設定を行います。

  1. Supabaseのダッシュボードにログインし、画面右上のユーザーアイコンから「Account」→「Access Tokens」を開きます。
  2. 「Generate new token」をクリックします。
  3. トークン名(例: claude-desktop-mcp)を入力します。
  4. 2026年最新機能として、トークンのスコープ(対象組織・プロジェクト・権限)を絞り込むことが可能です。接続したい特定のプロジェクトに限定して発行することをおすすめします。
  5. 生成されたトークン文字列をコピーして安全に保管します。

また、接続先のプロジェクトRef(プロジェクトURL https://<project-ref>.supabase.co のID部分)も控えておきます。

手順2:Claude DesktopにSupabase MCPサーバーを登録する

Claude Desktopの設定ファイルにSupabase MCPサーバーの定義を追加します。

設定ファイルの場所

OSごとの設定ファイルパスは以下の通りです。

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

設定の記述例

テキストエディタで claude_desktop_config.json を開き、mcpServers オブジェクト配下に以下のように追記します。

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": [
        "-y",
        "@supabase/mcp-server"
      ],
      "env": {
        "SUPABASE_ACCESS_TOKEN": "先ほど発行したPAT",
        "SUPABASE_PROJECT_ID": "対象のプロジェクトRef"
      }
    }
  }
}

追記して保存したら、Claude Desktopを完全に再起動します。

手順3:ClaudeからSupabaseを操作してみる

Claude Desktopを起動すると、入力欄の右下に金槌のアイコン(MCPツール)が表示され、Supabaseのツール群が認識されていることが確認できます。

実際にチャット欄で以下のように自然言語で指示を出してみましょう。

Supabaseのデータベースに接続して、現在存在するテーブル一覧とそのスキーマ定義を教えてください。

ClaudeはSupabase MCPサーバーのツールを自動的に呼び出し、テーブル一覧を取得して分かりやすく解説してくれます。

さらに実務で役立つプロンプト例:

  • 「users テーブルの最新10件のレコードを取得して、登録日の推移をまとめて」
  • 「send-notification Edge Functionにテスト用のJSONペイロードを渡して実行結果を確認して」
  • 「注文テーブルと商品テーブルを結合して、今月の売上上位5商品を算出するSQLを実行して」

このように、ダッシュボードでの確認やSQLの打ち込み作業をClaudeに代行させることができます。

手順4:企業・チーム向けEnterprise-Managed Authによる集中管理

チーム開発や企業環境において、全メンバーが個別にPATを発行してClaudeに登録する運用は、トークン漏洩や退職時の権限剥奪の面で大きなセキュリティリスクとなります。

Supabaseが提供を開始した「Enterprise-Managed Auth」は、AnthropicおよびOktaと共同で構築されたエンタープライズ向けの認証連携機能です。

仕組み(ID-JAGトークン交換)

  1. 従業員がOkta SSO経由でClaudeにサインインする。
  2. Claude(MCPクライアント)がOktaに対して、Supabase向けのID-JAG(Identity Assertion JWT Authorization Grant)を要求する。
  3. ClaudeがID-JAGをSupabaseのOAuthサーバーに提示する。
  4. SupabaseがOktaの公開鍵でID-JAGを検証し、その従業員が本来持っている権限(ロール)にスコープされた短命なアクセストークンを発行する。
  5. Claudeがそのトークンを用いてSupabase MCPサーバーと通信する。

企業にとってのメリット

  • 個別同意やPAT管理の撤廃: 管理者がSupabaseダッシュボードの「Authorized Apps」でClaudeを一度承認するだけで、全従業員が即座にSupabase MCPを利用可能になります。
  • 最小権限の維持: Claude経由で実行できる操作は、その従業員がSupabase上で元々持っている権限(開発者ロール、読み取り専用ロールなど)を超えません。
  • 即時の一元剥奪: 社員が退職または異動した際、Okta側でアカウントを無効化すれば、Claude経由のSupabaseアクセスも即座に遮断されます。

設定はSupabaseダッシュボードの「Organization Settings」→「SSO」→「Advanced settings」から、OktaのID-JAG Issuer URLを登録することで有効化できます。

セキュリティと運用の注意点

AIにデータベース操作権限を与える際は、以下のベストプラクティスを徹底してください。

  • 本番データの更新防止: 安全のため、MCP接続を許可するユーザーの権限を読み取り専用(Viewer/Read-only)にするか、開発用・ステージング環境のプロジェクトのみを対象に設定することを推奨します。
  • 監査ログの確認: Claudeが実行したクエリや操作は、Supabaseの「Logs」→「Postgres Logs」や「API Logs」に記録されます。定期的にアクセス履歴を確認しましょう。
  • PATの定期的なローテーション: 個人でPATを利用する場合は、有効期限を設定し、不要になったトークンは直ちに削除してください。

うまくいかない場合の確認ポイント

Claude DesktopでSupabase MCPサーバーが認識されない場合は、以下を確認してください。

  • Node.jsの動作確認: ターミナル(PowerShellやBash)で npx -v を実行し、Node.jsおよびnpxが正常に実行できる環境か確認してください。
  • 設定ファイルのJSON構文エラー: claude_desktop_config.json にカンマ抜けや括弧の不整合がないか確認してください。JSONの構文エラーがあるとClaude DesktopがMCP設定を読み込めません。
  • トークンの権限不足: 発行したPATのスコープが、指定したプロジェクトIDに対して正しく権限を持っているか再確認してください。

よくある質問

Q. CursorやWindsurfでもSupabase MCPサーバーは使えますか? A. はい、MCP規格に対応しているAIエディタであれば同様に設定可能です。Cursorの設定画面にある「MCP」タブから、command: npx、args: -y @supabase/mcp-server、および環境変数(SUPABASE_ACCESS_TOKEN と SUPABASE_PROJECT_ID)を指定することで接続できます。

Q. 無料プランでも使えますか? A. Personal Access Token(PAT)を使用した個人開発者向けの接続は、Freeプランでも利用可能です。Okta SSOを用いた企業向けのEnterprise-Managed Authのみ、Teamプラン以上が対象となります。

Q. AIが誤ってテーブルを削除(DROP TABLE)してしまう心配はありませんか? A. 実行権限は渡されたトークンやユーザーのロールに依存します。誤操作が懸念される場合は、DDLの実行権限を持たない専用ロールを作成して接続するか、本番環境への接続を避ける運用を行ってください。

まとめ

Supabase MCPサーバーを活用することで、AIとデータベースの連携が飛躍的にスムーズになります。

  • Claude DesktopやCursorから自然言語でスキーマ把握・クエリ実行が可能
  • 個人利用ならPAT発行だけで数分でセットアップ完了
  • 2026年最新のEnterprise-Managed Authにより、企業でもOkta連携による安全な一元管理が実現
  • 既存のロール権限がそのまま引き継がれるため、最小権限の原則を維持可能

AIによる開発効率化を進めている方は、ぜひClaudeとSupabaseを接続して次世代の開発フローを体験してみてください。

次に読むおすすめ記事

【2026年9月】Supabase新機能まとめ|Realtime大幅改善とMCP強化
オープンソースのFirebase代替として進化を続けるBaaS(Backend as a Service)「Supabase」より、2026年9月の大型アップデート情報が公開されました。今月のアップデートは、個人開発者からエンタープライズ企…

参考情報