Supabase MCP Server
Supabase MCP サーバー 🚀
🔥 CursorのComposerとCodeiumのCascadeの両方を通じて、Supabase PostgreSQLデータベースの完全な管理制御を提供する強力なモデルコンテキストプロトコル(MCP)サーバーです。このツールは、テーブル操作、レコード管理、スキーマ変更など、包括的な機能を備え、シームレスなデータベース管理を実現します。
📚 目次
Related MCP server: Supabase MCP Server
🔧 前提条件
Node.js >= 16.x
npm >= 8.x
Supabase プロジェクト:
プロジェクトID
データベースパスワード
PostgreSQL接続文字列
Cursor IDE または Codeium の Cascade (有料ユーザー向け)
🚀 クイックスタート
📥 インストール
# Clone the repository
git clone https://github.com/Quegenx/supabase-mcp-server.git
cd supabase-mcp-server
# Install dependencies
npm install
# Build the project
npm run build⚙️ 構成
依存関係をインストールしてプロジェクトをビルドします。
npm install npm run buildカーソルの MCP 設定で、次のコマンドを使用してサーバーを追加します。
/opt/homebrew/bin/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres交換する:
/path/to/dist/index.js実際のパスに置き換えます[PROJECT-ID]を Supabase プロジェクト ID に置き換えます[PASSWORD]データベースのパスワードに置き換えます
注意: データベースの資格情報は安全に保管し、バージョン管理にコミットしないでください。
🎯 統合
カーソルMCP統合
モデルコンテキストプロトコル(MCP)を使用すると、Cursorのエージェント型LLMにカスタムツールを提供できます。このサーバーはCursorのComposer機能と統合でき、自然言語コマンドを通じてあらゆるデータベース管理ツールに直接アクセスできます。
カーソルでの設定
カーソル設定 > 機能 > MCP を開く
「+新しいMCPサーバーを追加」ボタンをクリックします。
モーダルフォームに記入してください:
名前: 「Supabase MCP」(または任意のニックネーム)
タイプ:
command(stdio トランスポート)コマンド: 接続の詳細を含む完全なコマンド文字列
まずプロジェクトをビルドします。
npm install npm run buildNode.js パスを取得します:
# On Mac/Linux which node # On Windows where nodeサーバー コマンドを追加します。
/path/to/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres交換する:
/path/to/nodeを実際の Node.js パス(手順 5 から)に置き換えます。/path/to/dist/index.jsをビルドした JavaScript ファイルへの実際のパスに置き換えます。[PROJECT-ID]を Supabase プロジェクト ID に置き換えます[PASSWORD]データベースのパスワードに置き換えます
「サーバーを追加」をクリックし、右上隅の更新ボタンをクリックします。
カーソルのツールの使用
Composer Agent は、データベースタスクを記述する際に、関連するツールを自動的に検出して使用します。例えば、
「データベース内のすべてのテーブルを一覧表示する」
「新しいユーザーテーブルを作成する」
「メール列にインデックスを追加する」
エージェントがツールを使用するとき、次のものが表示されます。
ツール呼び出しを承認/拒否するためのプロンプト
ツール呼び出し引数(展開可能)
承認後の対応
注: このようなstdioサーバーの場合、コマンドは有効なシェルコマンドである必要があります。環境変数が必要な場合は、ラッパースクリプトの使用を検討してください。
Windsurf/Cascade 統合
このMCPサーバーは、CodeiumのCascade(Windsurf)統合もサポートしています。この機能は現在、有料の個人ユーザーのみご利用いただけます(TeamsおよびEnterpriseユーザーはご利用いただけません)。
Cascadeでの設定
~/.codeium/windsurf/mcp_config.jsonを作成または編集します。{ "mcpServers": { "supabase-mcp": { "command": "/path/to/node", "args": [ "/path/to/dist/index.js", "postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres" ] } } }設定へのクイックアクセス:
カスケード入力の上にあるツールバーを見つけます
ハンマーアイコンをクリック
「構成」をクリックしてmcp_config.jsonを開きます。
構成内の置き換え:
/path/to/nodeを実際の Node.js パスに置き換えます/path/to/dist/index.js実際のパスに置き換えます[PROJECT-ID]を Supabase プロジェクト ID に置き換えます[PASSWORD]データベースのパスワードに置き換えます
カスケードの場合:
ツールバーのハンマーアイコンをクリックします
「構成」をクリックして設定を確認します
「更新」をクリックしてMCPサーバーをロードします
利用可能なツールを表示するにはサーバー名をクリックしてください
Cascadeユーザー向けの重要な注意事項
ツール機能のみがサポートされます(プロンプトやリソースはサポートされません)
MCPツールの呼び出しは成功か失敗かに関係なくクレジットを消費します。
画像出力はサポートされていません
stdioトランスポートタイプのみがサポートされています
ツール呼び出しは任意のサーバー実装者が書いたコードを呼び出すことができる
CascadeはMCPツールの呼び出しの失敗については責任を負いません。
✨ 特徴
🎯 利用可能なデータベースツール
テーブル管理
テーブル:
list_tables、create_table、drop_table、rename_table列:
add_column、drop_column、alter_columnレコード:
fetch_records、create_record、update_record、delete_record
インデックスと制約
インデックス:
list_indexes、create_index、delete_index、update_index制約:
list_constraints、add_constraint、remove_constraint、update_constraint
データベース関数とトリガー
関数:
list_functions、create_function、update_function、delete_functionトリガー:
list_triggers、create_trigger、update_trigger、delete_trigger
セキュリティとアクセス制御
ポリシー:
list_policies、create_policy、update_policy、delete_policyロール:
list_roles、create_role、update_role、delete_role
ストレージ管理
バケット:
list_buckets、create_bucket、delete_bucketファイル:
delete_file、bulk_delete_filesフォルダ:
list_folders
データの種類と出版物
列挙型:
list_enumerated_types、create_enumerated_type、update_enumerated_type、delete_enumerated_type出版物:
list_publications、create_publication、update_publication、delete_publication
リアルタイム機能
ポリシー:
list_realtime_policies、create_realtime_policy、update_realtime_policy、delete_realtime_policyチャネル:
list_realtime_channels、manage_realtime_channels、send_realtime_message、get_realtime_messages管理:
manage_realtime_status、manage_realtime_views
ユーザー管理
認証:
list_users、create_user、update_user、delete_user
直接SQLアクセス
クエリ:
query- カスタム SQL クエリを実行する
🚀 主なメリット
自然言語制御: シンプルな会話型コマンドで Supabase データベースを管理します
包括的なカバレッジ: テーブル、レコード、インデックス、関数、セキュリティなどをカバーする完全なツールスイート
シームレスな統合: CursorのComposerとCodeiumのCascade内で直接動作します
開発者フレンドリー: IDEとデータベース管理ツール間のコンテキスト切り替えを削減
セキュアアクセス: 適切な認証でデータベースのセキュリティを維持します
📁 プロジェクト構造
supabase-mcp-server/
├── dist/ # Compiled JavaScript files
│ ├── index.d.ts # TypeScript declarations
│ └── index.js # Main JavaScript file
├── src/ # Source code
│ └── index.ts # Main TypeScript file
├── package.json # Project configuration
├── package-lock.json # Dependency lock file
└── tsconfig.json # TypeScript configuration💡 使用方法
MCPサーバーの設定が完了すると、CursorのComposerを通じてすべてのデータベース管理ツールが利用可能になります。データベースで何をしたいかを記述するだけで、AIが適切なコマンドを実行します。
例:
📋「データベース内のすべてのテーブルを表示」
➕「ID、名前、メールの列を持つ新しいユーザーテーブルを作成する」
🔍「ユーザーテーブルのメール列にインデックスを追加する」
🔒 セキュリティに関する注意事項
🔐 データベース接続文字列を安全に保つ
⚠️ 機密性の高い資格情報をバージョン管理にコミットしないでください
👮 適切なアクセス制御と権限を使用する
🛡️ SQLインジェクションを防ぐために、すべての入力を検証してサニタイズします
🛠️ トラブルシューティング
一般的な接続の問題
Node.js パスの問題
正しいNode.jsパスを使用していることを確認してください
Mac/Linuxの場合:
which nodeを使用して正しいパスを見つけますWindowsの場合:
where nodeを使用して正しいパスを見つけます/usr/local/bin/node実際の Node.js パスに置き換えます。
ファイルパスの問題
相対パスではなく絶対パスを使用する
Mac/Linuxの場合: プロジェクトディレクトリで
pwdを使用してフルパスを取得しますWindowsの場合:
cdを使用してフルパスを取得します例:
/Users/username/projects/supabase-mcp-server/dist/index.js
MCPがツールを検出しない
カーソルのMCP設定の更新ボタンをクリックします
サーバーが実行中であることを確認します(エラーメッセージはありません)
接続文字列が正しいか確認してください
Supabaseの認証情報が有効であることを確認してください
権限の問題
distディレクトリが存在することを確認してください(npm run buildを実行)ファイルの権限を確認する(Unixシステムでは
chmod +x)適切な権限で
npm install実行します。
デバッグモード
詳細なログを表示するには、コマンドの前にDEBUG=trueを追加します。
DEBUG=true /usr/local/bin/node /path/to/dist/index.js [connection-string]プラットフォーム固有の注意事項
Windowsユーザー
# Use this format for the command
"C:\\Program Files\\nodejs\\node.exe" "C:\\path\\to\\dist\\index.js" "postgresql://..."Linuxユーザー
# Find Node.js path
which node
# Make script executable
chmod +x /path/to/dist/index.js引き続き問題が発生する場合は、次の方法で問題を報告してください:
オペレーティングシステム
Node.js バージョン (
node --version)完全なエラーメッセージ
再現手順
🤝 貢献する
貢献を歓迎します!お気軽にプルリクエストを送信してください。
📄 ライセンス
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Quegenx/supabase-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server