Supabase MCP Server

by Cappahccino
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables CRUD operations on Postgres tables, including querying data with filters, inserting data, updating data, deleting data, and listing tables in a Supabase project.

Supabase MCP サーバー

Claude や他の LLM が Supabase と対話して Postgres テーブルで CRUD 操作を実行できるようにする Model Context Protocol (MCP) サーバー。

特徴

  • データベース操作:
    • フィルターを使用してデータをクエリする
    • データを挿入する
    • データを更新する
    • データを削除する
    • テーブルの一覧

前提条件

  • Node.js (v16以降)
  • npmまたはyarn
  • APIキー付きのSupabaseプロジェクト

インストール

オプション1: npmからインストールする(推奨)

パッケージはnpmで公開されています。以下のコマンドでグローバルインストールできます。

npm install -g supabase-mcp

またはプロジェクト内でローカルに:

npm install supabase-mcp

オプション2: リポジトリをクローンする

git clone https://github.com/Cappahccino/SB-MCP.git cd SB-MCP npm install npm run build

構成

Supabase の資格情報を使用して.envファイルを作成します。

# Supabase credentials SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # MCP server configuration MCP_SERVER_PORT=3000 MCP_SERVER_HOST=localhost MCP_API_KEY=your_secret_api_key

クロードとの使用

Claude は互換性のために特定のトランスポートモードを必要とします。このパッケージは、Claude との統合専用のバイナリを提供します。

クロードデスクトップMCP構成

"supabase": { "command": "npx", "args": [ "-y", "supabase-mcp@latest", "supabase-mcp-claude" ], "env": { "SUPABASE_URL": "your_supabase_project_url", "SUPABASE_ANON_KEY": "your_supabase_anon_key", "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key", "MCP_API_KEY": "your_secret_api_key" } }

設定で必要な環境変数が設定されていることを確認してください。Claude は通信に stdio トランスポートを使用します。

Claude Binaryによる手動テスト

Claude の外部でテストする場合は、以下を実行できます。

npm run start:claude

またはグローバルにインストールされている場合:

supabase-mcp-claude

スタンドアロンサーバーとしての使用

グローバルにインストールした後:

supabase-mcp

これにより、http://localhost:3000 (または .env ファイルで指定されたポート) で MCP サーバーが起動します。

コード内での使用

独自の Node.js プロジェクトで supabase-mcp をライブラリとして使用することもできます。

import { createServer, mcpConfig, validateConfig } from 'supabase-mcp'; // Validate configuration validateConfig(); // Create the server const app = createServer(); // Start the server app.listen(mcpConfig.port, mcpConfig.host, () => { console.log(`Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port}`); });

トラブルシューティング

よくある問題と解決策

1. 「ポート XXXX はすでに使用されています」

HTTPサーバーは利用可能なポートを自動的に検索します。.env .envMCP_SERVER_PORT値を変更することで、別のポートを手動で指定できます。

2.「必要な環境変数が見つかりません」

必要なすべての値を含む適切な.envファイルがあること、またはシステムに環境変数が設定されていることを確認してください。

3. 「TypeError: クラスコンストラクタ Server は 'new' なしでは呼び出せません」

このエラーが表示された場合は、古いバージョンのパッケージを実行している可能性があります。最新バージョンに更新してください。

npm install -g supabase-mcp@latest

4. ClaudeによるJSON解析エラー

通常の HTTP サーバー ( supabase-mcp ) ではなく、Claude 固有のバイナリ ( supabase-mcp-claude ) を使用していることを確認してください。

5. クロードとのリクエストがタイムアウトしました

これは通常、Claude が接続を開始したが、サーバーが時間内に応答できなかったことを意味します。以下の点を確認してください。

  • Supabase の資格情報は正しいですか?
  • サーバーは適切にセットアップされ、稼働していますか?
  • 接続をブロックするものはありますか?

ツールリファレンス

データベースツール

  1. クエリデータベース
    • パラメータ:
      • table (文字列): クエリするテーブルの名前
      • select (文字列、オプション): カンマ区切りの列リスト (デフォルト: "*")
      • query (オブジェクト、オプション): フィルター条件
  2. 挿入データ
    • パラメータ:
      • table (文字列): テーブルの名前
      • data (オブジェクトまたはオブジェクトの配列):挿入するデータ
  3. 更新データ
    • パラメータ:
      • table (文字列): テーブルの名前
      • data (オブジェクト): キーと値のペアとして更新するデータ
      • query (オブジェクト):更新のフィルター条件
  4. データを削除
    • パラメータ:
      • table (文字列): テーブルの名前
      • query (オブジェクト):削除のフィルター条件
  5. リストテーブル
    • パラメータ: なし

バージョン履歴

  • 1.0.0: 初回リリース
  • 1.0.1: 自動ポート選択を追加
  • 1.0.2: プロトコル互換性の問題を修正
  • 1.0.3: JSON-RPCサポートを追加
  • 1.1.0: 公式MCP SDKを使用して完全に書き直しました
  • 1.2.0: 独立したClaudeトランスポートを追加し、ポート競合の問題を修正しました
  • 1.3.0: TypeScriptプロジェクトとの互換性を向上させるために更新されました
  • 1.4.0: Supabaseコミュニティのベストプラクティスに基づいてClaude stdioトランスポート統合を修正しました
  • 1.5.0: 安定性を向上させ、データベース操作に重点を置くために、Edge Function のサポートを削除しました。

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

Claude や他の LLM が自然言語を通じてデータベース操作を実行し、Supabase 内でエッジ関数を呼び出すことができるようにするモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Prerequisites
      1. Installation
        1. Option 1: Install from npm (recommended)
        2. Option 2: Clone the repository
      2. Configuration
        1. Usage with Claude
          1. In Claude Desktop MCP Config
          2. Manual Testing with Claude Binary
        2. Usage as a Standalone Server
          1. Usage in Your Code
            1. Troubleshooting
              1. Common Issues and Solutions
            2. Tools Reference
              1. Database Tools
            3. Version History
              1. License
                ID: gf6hxhptcd