⚙️

【Cursor × Supabase】MCPサーバーでAIがデータベース参照できるようにする

に公開

CursorのAIがSupabaseのデータベースを参照できるようにMCPサーバーの設定をしました。

Supabaseの公式MCPサーバーはエラーが出て使うことができなかったので、代わりに Postgres MCPサーバー(読み取り専用) を使うことでうまくいきました。

@modelcontextprotocol/server-postgres

STEP1:Supabaseのconnection-stringを取得する


Supabaseのダッシュボードの上部にある「connect」を押して、「Session pooler
(Shared Pooler)」の文字列を使います。

[YOUR-PASSWORD]の部分をデータベースのパスワードに変更します。

STEP2:.cursor/mcp.jsonを作成する

// .cursor/mcp.json
{
    "mcpServers": {
        "supabase": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-postgres",
                "postgresql://postgres.[PROJECT-ID]:[YOUR-PASSWORD]@aws-0-ap-northeast-1.pooler.supabase.com:5432/postgres"
            ]
        }
    }
}

プロジェクト内に.cursorを作成して、mcp.jsonファイルを作成します。

STEP3:MCPサーバーの設定完了


.cursor/mcp.jsonを作成するとEnableボタンが出てきます。そのボタンを押すと、Cursor Settingsの「MCP」に反映されます。これで設定は完了です。

【完成】Cursorのチャットで使ってみる


MCPサーバー経由でデータベースの内容を取得してくれました!

【おまけ】.gitignoreに追加する

.cursor/mcp.json

【今回の背景】Supabase MCPサーバーで起きたエラー


公式のSupabase MCPサーバーを使用した時に、チャットで聞いてみるとこんなエラーがでて取得がうまくいきませんでした。

MCP error -32603: getaddrinfo ENOTFOUND db.xxxx.supabase.co

何か変えるとうまくいくのかもしれませんが、今回はPostgres MCPサーバーを使うことにしました。

参考

Discussion