Data as of

Query MCP for Supabase for Claude Desktop: Setup & Config

Claude Desktop: Query MCP connects coding assistants to Supabase SQL, schema changes, project management, and user administration.

What you can do with Query MCP for Supabase in Claude Desktop

Supabase SQL and administration in one stdio server, with explicit query-risk controls.

  • Run SQL from an MCP-enabled IDE.
  • Version database schema changes during development.

Before you start: Query MCP for Supabase in Claude Desktop

  • Python 3.12+
  • uv for this launch command
  • Install the supabase-mcp-server package
  • A Supabase hosted project or local development instance

The README installs the package with uv pip install supabase-mcp-server before launching it. Packaged installs do not load project-local .env files. Claude Desktop requires an absolute executable path. Active maintenance has ended.

Query MCP for Supabase Claude Desktop configuration

  1. Choose Claude Desktop configuration scope

    For Query MCP for Supabase, open macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json. Merge under mcpServers via Settings → Developer → Edit Config when available.

  2. Add Query MCP for Supabase to Claude Desktop

    Use the supabase-mcp-server entry below in mcpServers. Keep Query MCP for Supabase's documented stdio connection fields and your other Claude Desktop entries.

  3. Check Query MCP for Supabase in Claude Desktop

    Query MCP for Supabase: Fully quit and reopen Claude Desktop; check developer diagnostics.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

JSON
{
  "mcpServers": {
    "supabase-mcp-server": {
      "command": "uv",
      "args": [
        "run",
        "supabase-mcp-server"
      ],
      "env": {
        "QUERY_API_KEY": "<API key from thequery.dev>",
        "SUPABASE_PROJECT_REF": "<Project reference or local host and port>",
        "SUPABASE_DB_PASSWORD": "<Database password>",
        "SUPABASE_REGION": "<Hosting region for a remote project>",
        "SUPABASE_ACCESS_TOKEN": "<Optional Management API access token>",
        "SUPABASE_SERVICE_ROLE_KEY": "<Optional Auth Admin service-role key>"
      }
    }
  }
}

Troubleshooting Query MCP for Supabase in Claude Desktop

  • Fully quit and reopen Claude Desktop for Query MCP for Supabase. If uv is missing, check the desktop process's PATH, which may differ from your terminal.
  • In Claude Desktop's Query MCP for Supabase entry, check QUERY_API_KEY, SUPABASE_ACCESS_TOKEN, SUPABASE_DB_PASSWORD, SUPABASE_PROJECT_REF, SUPABASE_REGION, SUPABASE_SERVICE_ROLE_KEY. Keep secrets out of shared screenshots and repositories.
  • Query MCP for Supabase uses stdio here: Claude Desktop must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: No longer actively maintained by its author.
  • Known limitation: Requires a separate Query API key.
  • Known limitation: Does not support arbitrary connection strings or session pooling.
  • General Claude Desktop troubleshooting lives in the /clients/claude-desktop guide.

Query MCP for Supabase — details. Claude Desktop guide

Frequently asked questions

Claude Desktop loads Query MCP for Supabase from claude_desktop_config.json: ~/Library/Application Support/Claude/ on macOS, or %APPDATA%\Claude\ on Windows. Open it via Settings → Developer → Edit Config when available.

Claude Desktop's supabase-mcp-server example uses stdio.

Query MCP for Supabase's Claude Desktop configuration invokes uv.

Claude Desktop's Query MCP for Supabase example references QUERY_API_KEY, SUPABASE_ACCESS_TOKEN, SUPABASE_DB_PASSWORD, SUPABASE_PROJECT_REF, SUPABASE_REGION, SUPABASE_SERVICE_ROLE_KEY. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

No. The author points readers to the official server and says this implementation is no longer actively maintained.

No. Remote database access uses transaction pooling; local development uses a direct connection.