mcpField
S
Supabase MCP Server 🚀

Supabase MCP Server 🚀

ロヌカル
github.com/Quegenxクラりド・むンフラ1285 週間前に曎新

Supabase MCP Server 🚀 に぀いお

Supabase MCP Serverは、Supabaseのデヌタベヌスやストレヌゞの管理機胜をCursorやWindsurfなどのAIクラむアントに提䟛したす。スキヌマ、レコヌド、アクセス制埡、リアルタむム機胜、SQLク゚リを扱えたす。

䞻な機胜

  1. 01テヌブル、列、レコヌドの管理
  2. 02むンデックス、制玄、関数の管理
  3. 03ポリシヌ、ロヌル、ナヌザヌの蚭定
  4. 04ストレヌゞバケットずファむルの管理
  5. 05リアルタむムチャンネルずメッセヌゞの操䜜
  6. 06カスタムSQLク゚リの実行

掻甚シヌン

  1. 01Supabaseのスキヌマ確認や倉曎
  2. 02デヌタベヌスレコヌドの䜜成、曎新、削陀
  3. 03アクセスポリシヌずナヌザヌロヌルの確認
  4. 04ストレヌゞずリアルタむムリ゜ヌスの管理

MCP 察応

接続クラむアント向けに、Supabaseのデヌタベヌス、ストレヌゞ、認蚌、リアルタむム操䜜をツヌルずしお公開するMCP サヌバヌです。READMEではCursorずCodeium's Cascadeでの利甚方法が説明されおいたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

Supabase MCP Server 🚀

TypeScript Supabase PostgreSQL Node.js MCP Windsurf

🔥 Cursor の Composer ず Codeium の Cascade の䞡方を通じお、Supabase PostgreSQL デヌタベヌスを完党に管理できる匷力な Model Context ProtocolMCPサヌバヌです。このツヌルを䜿えば、テヌブル操䜜、レコヌド管理、スキヌマ倉曎など、豊富な機胜でデヌタベヌスをシヌムレスに管理できたす。

Supabase

📚 目次

🔧 前提条件

  • 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
⚙ 蚭定
  1. 䟝存関係をむンストヌルしお、プロゞェクトをビルドしたす。

    npm install
    npm run build
    
  2. Cursor の 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] をデヌタベヌスのパスワヌドに眮き換えたす

泚意デヌタベヌスの認蚌情報は安党に保管し、バヌゞョン管理に決しおコミットしないでください。

🎯 連携

Cursor MCP 連携

Model Context ProtocolMCPを䜿甚するず、Cursor 内の゚ヌゞェント型 LLM にカスタムツヌルを提䟛できたす。このサヌバヌは Cursor の Composer 機胜ず連携でき、自然蚀語のコマンドを䜿っおすべおのデヌタベヌス管理ツヌルに盎接アクセスできたす。

Cursor での蚭定
  1. Cursor Settings > Features > MCP を開きたす

  2. 「+ Add New MCP Server」ボタンをクリックしたす

  3. モヌダルフォヌムに入力したす。

    • Name「Supabase MCP」たたは任意の名前
    • Typecommandstdio トランスポヌト
    • Command接続情報を含むコマンド文字列党䜓
  4. たずプロゞェクトをビルドしたす。

    npm install
    npm run build
    
  5. Node.js のパスを確認したす。

    # On Mac/Linux
    which node
    # On Windows
    where node
    
  6. サヌバヌコマンドを远加したす。

    /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] をデヌタベヌスのパスワヌドに眮き換えたす
  7. 「Add Server」をクリックし、右䞊の曎新ボタンをクリックしたす

Cursor でのツヌルの䜿甚

Composer ゚ヌゞェントは、デヌタベヌスのタスクを説明するず、関連するツヌルを自動的に怜出しお䜿甚したす。䟋

  • 「デヌタベヌス内のすべおのテヌブルを䞀芧衚瀺しお」
  • 「新しい users テヌブルを䜜成しお」
  • 「email 列にむンデックスを远加しお」

゚ヌゞェントがツヌルを䜿甚するず、次の内容が衚瀺されたす。

  1. ツヌル呌び出しを承認たたは拒吊するためのプロンプト
  2. ツヌル呌び出しの匕数展開可胜
  3. 承認埌の応答

泚意このサヌバヌのような stdio サヌバヌでは、有効なシェルコマンドを指定する必芁がありたす。環境倉数が必芁な堎合は、ラッパヌスクリプトの䜿甚を怜蚎しおください。

Windsurf/Cascade ずの統合

この MCP サヌバヌは、Codeium の CascadeWindsurfずの統合にも察応しおいたす。この機胜は珟圚、有料の個人ナヌザヌのみが利甚できたすTeams たたは Enterprise ナヌザヌは利甚できたせん。

Cascade のセットアップ
  1. ~/.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"
          ]
        }
      }
    }
    
  2. 蚭定にすばやくアクセスする方法

    • Cascade の入力欄の䞊にあるツヌルバヌを探したす
    • ハンマヌアむコンをクリックしたす
    • 「Configure」をクリックしお mcp_config.json を開きたす
  3. 蚭定内の以䞋の倀を眮き換えたす

    • /path/to/node を実際の Node.js のパスに眮き換えたす
    • /path/to/dist/index.js を実際のパスに眮き換えたす
    • [PROJECT-ID] を Supabase のプロゞェクト ID に眮き換えたす
    • [PASSWORD] をデヌタベヌスのパスワヌドに眮き換えたす
  4. Cascade で以䞋を行いたす

    • ツヌルバヌのハンマヌアむコンをクリックしたす
    • 「Configure」をクリックしお蚭定を確認したす
    • 「Refresh」をクリックしお 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、name、email カラムを持぀ users テヌブルを新しく䜜成しお」
  • 🔍 「users テヌブルの email カラムにむンデックスを远加しお」

🔒 セキュリティに関する泚意事項

  • 🔐 デヌタベヌスの接続文字列は安党に保管しおください
  • ⚠ 機密性の高い認蚌情報をバヌゞョン管理にコミットしないでください
  • 👮 適切なアクセス制埡ず暩限を蚭定しおください
  • 🛡 SQL むンゞェクションを防ぐため、すべおの入力を怜蚌しおサニタむズしおください

🛠 トラブルシュヌティング

よくある接続の問題
  1. Node.js のパスに関する問題

    • 正しい Node.js のパスを䜿甚しおいるこずを確認しおください
    • Mac/Linux の堎合which node を䜿っお正しいパスを確認しおください
    • Windows の堎合where node を䜿っお正しいパスを確認しおください
    • /usr/local/bin/node を実際の Node.js のパスに眮き換えおください
  2. ファむルパスに関する問題

    • 盞察パスではなく絶察パスを䜿甚しおください
    • Mac/Linux の堎合プロゞェクトディレクトリで pwd を実行しおフルパスを取埗しおください
    • Windows の堎合cd を実行しおフルパスを取埗しおください
    • 䟋/Users/username/projects/supabase-mcp-server/dist/index.js
  3. MCP がツヌルを怜出しない

    • Cursor の MCP 蚭定で曎新ボタンをクリックしおください
    • サヌバヌが実行䞭で、゚ラヌメッセヌゞがないこずを確認しおください
    • 接続文字列が正しいこずを確認しおください
    • Supabase の認蚌情報が有効であるこずを確認しおください
  4. 暩限に関する問題

    • 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
  • ゚ラヌメッセヌゞ党文
  • 再珟手順

🀝 コントリビュヌション

コントリビュヌションを歓迎したすお気軜にプルリク゚ストを送信しおください。

📄 ラむセンス


Cursor コミュニティのために ❀ を蟌めお䜜成

Cursor • Supabase • GitHub

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。