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
インストール
リポジトリをクローンします。
git clone https://github.com/yourusername/supabase-mcp.git
cd supabase-mcpSupabase の資格情報を使用して
.envファイルを作成します。
cp .env.example .env
# Edit .env with your Supabase credentials:
# SUPABASE_URL=your-project-url
# SUPABASE_KEY=your-service-role-keyコンテナをビルドして起動します。
# 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 restartDockerの問題のトラブルシューティング
コンテナの起動に失敗した場合:
# Check logs docker-compose logs -f # Check container status docker-compose ps # Remove and rebuild docker-compose down docker-compose up --buildポートの競合が発生した場合:
# 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環境変数が読み込まれない場合:
# Verify .env file exists and has correct values cat .env # Check environment variables in container docker-compose exec mcp-server env
AI IDE で MCP を構成する
一般的な設定手順
AI IDEの設定/環境設定を開きます
MCPまたはAI設定セクションに移動します
次の構成で新しい MCP サーバーを追加します。
{
"name": "Supabase MCP",
"command": "docker-compose",
"args": ["up"],
"cwd": "/path/to/supabase-mcp"
}IDE固有の手順
カーソル
設定を開く(⌘またはCtrl+,)
「AI」セクションへ
「MCPサーバー」の下で、「サーバーを追加」をクリックします。
上記の設定を使用する
変更を適用するにはカーソルを再起動します
AI拡張機能を備えたVSコード
コマンドパレットを開く (⌘⇧P または Ctrl+Shift+P)
「MCP」または「AI設定」を検索してください
新しいMCPサーバー構成を追加する
上記の設定を使用する
VS Codeウィンドウを再読み込み
AIプラグインを搭載したJetBrains IDE
設定を開く(⌘、またはCtrl+Alt+S)
「ツール」→「AI」→「MCPサーバー」に移動します
「+」をクリックして新しいサーバーを追加します
上記の設定を使用する
変更を適用するにはIDEを再起動してください
MCP接続の確認
IDE のステータスバーで MCP サーバーのステータスを確認してください
緑色のインジケーターまたは「MCP 接続済み」のメッセージを確認します
データベースアクセスを必要とするAI機能の使用を試してみる
接続の問題がないか Docker ログを確認します。
docker-compose logs -f
使用法
MCP サーバーを起動します。
docker-compose upMCP サーバーを使用するように 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で適切な行レベルのセキュリティポリシーを使用する
本番環境での使用にはレート制限の実装を検討する
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
ライセンス
マサチューセッツ工科大学