Skip to main content
Glama
ninad7007

Supabase MCP Server

by ninad7007

Supabase MCP サーバー

AIツールがSupabaseデータベースと連携できるようにするモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、Supabaseテーブルのレコードの読み取り、作成、更新、削除を行うためのツールを提供します。

特徴

  • フィルタリングと列選択を使用して、任意の Supabase テーブルから行を読み取ります。

  • テーブルに単一または複数のレコードを作成する

  • フィルター条件に基づいてレコードを更新する

  • フィルター条件に基づいてレコードを削除する

  • AIモデルを理解するための包括的なツールの説明

  • Pydantic による型安全なリクエスト/レスポンス処理

  • 簡単に導入できるDockerサポート

Related MCP server: Supabase MCP Server

前提条件

  • Python 3.9以上

  • Docker と Docker Compose

  • サービスロールキーを持つ Supabase プロジェクト

  • FastMCP対応AI IDE

インストール

  1. リポジトリをクローンします。

git clone https://github.com/yourusername/supabase-mcp.git
cd supabase-mcp
  1. Supabase の資格情報を使用して.envファイルを作成します。

cp .env.example .env
# Edit .env with your Supabase credentials:
# SUPABASE_URL=your-project-url
# SUPABASE_KEY=your-service-role-key
  1. コンテナをビルドして起動します。

# Build and start in detached mode
docker-compose up --build -d

# To view logs
docker-compose logs -f

# To stop the container
docker-compose down

サーバーはhttp://localhost:8000で利用できます。

Docker管理コマンド

# Start the container
docker-compose up

# Start in detached mode (background)
docker-compose up -d

# Stop the container
docker-compose down

# View logs
docker-compose logs -f

# Rebuild the container
docker-compose up --build

# Check container status
docker-compose ps

# Restart the container
docker-compose restart

Dockerの問題のトラブルシューティング

  1. コンテナの起動に失敗した場合:

    # Check logs
    docker-compose logs -f
    
    # Check container status
    docker-compose ps
    
    # Remove and rebuild
    docker-compose down
    docker-compose up --build
  2. ポートの競合が発生した場合:

    # Stop any existing containers using port 8000
    docker-compose down
    
    # Or modify the port in docker-compose.yml
    # ports:
    #   - "8000:8000"  # Change the first number to an available port
  3. 環境変数が読み込まれない場合:

    # Verify .env file exists and has correct values
    cat .env
    
    # Check environment variables in container
    docker-compose exec mcp-server env

AI IDE で MCP を構成する

一般的な設定手順

  1. AI IDEの設定/環境設定を開きます

  2. MCPまたはAI設定セクションに移動します

  3. 次の構成で新しい MCP サーバーを追加します。

{
  "name": "Supabase MCP",
  "command": "docker-compose",
  "args": ["up"],
  "cwd": "/path/to/supabase-mcp"
}

IDE固有の手順

カーソル

  1. 設定を開く(⌘またはCtrl+,)

  2. 「AI」セクションへ

  3. 「MCPサーバー」の下で、「サーバーを追加」をクリックします。

  4. 上記の設定を使用する

  5. 変更を適用するにはカーソルを再起動します

AI拡張機能を備えたVSコード

  1. コマンドパレットを開く (⌘⇧P または Ctrl+Shift+P)

  2. 「MCP」または「AI設定」を検索してください

  3. 新しいMCPサーバー構成を追加する

  4. 上記の設定を使用する

  5. VS Codeウィンドウを再読み込み

AIプラグインを搭載したJetBrains IDE

  1. 設定を開く(⌘、またはCtrl+Alt+S)

  2. 「ツール」→「AI」→「MCPサーバー」に移動します

  3. 「+」をクリックして新しいサーバーを追加します

  4. 上記の設定を使用する

  5. 変更を適用するにはIDEを再起動してください

MCP接続の確認

  1. IDE のステータスバーで MCP サーバーのステータスを確認してください

  2. 緑色のインジケーターまたは「MCP 接続済み」のメッセージを確認します

  3. データベースアクセスを必要とするAI機能の使用を試してみる

  4. 接続の問題がないか Docker ログを確認します。

    docker-compose logs -f

使用法

  1. MCP サーバーを起動します。

docker-compose up
  1. MCP サーバーを使用するように AI ツールを構成します。

{
  "mcpServers": {
    "supabase": {
      "command": "docker-compose",
      "args": ["up"]
    }
  }
}

利用可能なツール

読み取り行

オプションのフィルタリングと列選択を使用して、Supabase テーブルから行を読み取ります。

使用例:

{
  "table_name": "users",
  "columns": ["id", "name"],
  "filters": { "age": { "gt": 18 } },
  "limit": 10
}

レコードの作成

Supabase テーブルに 1 つ以上のレコードを作成します。

使用例:

{
  "table_name": "users",
  "records": [
    { "name": "John", "age": 30 },
    { "name": "Jane", "age": 25 }
  ]
}

レコードの更新

フィルター条件に基づいて Supabase テーブル内のレコードを更新します。

使用例:

{
  "table_name": "users",
  "filters": { "status": "inactive" },
  "updates": { "status": "active" }
}

レコードの削除

フィルター条件に基づいて Supabase テーブルからレコードを削除します。

使用例:

{
  "table_name": "users",
  "filters": { "id": 1 }
}

セキュリティに関する考慮事項

  • 安全な環境では常にサービスロールキーを使用してください

  • クライアント側のコードでサービスロールキーを公開しないでください

  • Supabaseで適切な行レベルのセキュリティポリシーを使用する

  • 本番環境での使用にはレート制限の実装を検討する

貢献

  1. リポジトリをフォークする

  2. 機能ブランチを作成する

  3. 変更をコミットする

  4. ブランチにプッシュする

  5. プルリクエストを作成する

ライセンス

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

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ninad7007/supabase-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server