← Back to directory
Q

Query MCP

Community
Safely manage Supabase through chat.
Category
Database #38 of 58
Stars
★ 833 Very popular
Transport
stdio (local process)
Runtime
Python 3.12+
Credentials
API key / credential required
License
Apache-2.0
Last commit
⚠
Tools
13
50FMRS · D

This is a broad Supabase database MCP server with unified safety controls for SQL, migrations, the Management API, Auth Admin, and logs. Its main limitations are support only for Supabase.com-hosted projects and local development, no self-hosting or custom connection strings, and no active maintenance.

Strongest · Documentation 14/20 Weakest · Maintenance 5/20

Reliability
8/20
Security and permissions
12/20
Maintenance
5/20
Documentation
14/20
Setup experience
11/20
Why each score
Reliability 8/20
The README describes stdio startup, the tool set, transaction handling, and safety flows, but provides no reviewable server manifest, source code, committed tests, or real CI test evidence. Because this is a static-only review, MCP initialization, tool-list consistency, dependency behavior, and error paths cannot be verified, so the score is well below the high-reliability range.
Security and permissions 12/20
The evidence describes environment-based credential configuration, default safe mode, SQL risk classification, two-step confirmation for dangerous operations, and blocking of extreme actions such as project deletion. Points are deducted because the manifest and source are unavailable, so credential exposure, arbitrary Management API boundaries, log data scope, least privilege, and enforcement of confirmations cannot be verified. Database writes and Auth Admin capabilities also create significant side effects.
Maintenance 5/20
The README explicitly states that the author is no longer actively maintaining the project and recommends Supabase's official server instead. The repository is not archived and uses Apache-2.0, with a changelog, but there is no evidence of current maintenance, dependency updates, a response process, or a security disclosure channel; maintenance activity is therefore low.
Documentation 14/20
The README covers installation, runtime requirements, environment variables, regions, connection types, several client configurations, features, risk levels, limitations, and troubleshooting. Points are deducted because tool parameters and return contracts are not documented systematically, the server manifest is missing, some instructions depend on an external service and unverified package behavior, and cost, data-retention, and security-review details are absent.
Setup experience 11/20
The documentation provides pipx, uv, and source-install paths, plus configuration examples for Cursor, Windsurf, Claude Desktop, and Cline with platform-specific path guidance. Points are deducted for the Python 3.12+ requirement, an additional QUERY_API_KEY dependency, multiple Supabase credentials, region-specific configuration, and manual absolute-path setup for some clients. No verifiable CI, test, or actual startup evidence is provided, leaving the setup materially fragile.

Static review · not runListed 2026-07-30

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account dataConnects to a database

Best for

  • Supabase developers using Cursor, Windsurf, Cline, or Claude Desktop.
  • Teams that want SQL, project management, authentication administration, and logs in one interface.
  • Development environments using local Supabase or Supabase.com-hosted projects.

Not for

  • Users who need self-hosted Supabase support.
  • Users who need custom connection strings or Session Pooling.
  • Production teams that require ongoing maintenance, official support, or the latest features.
  • Local-only Supabase users who need Management API or Auth Admin features.

Required permissions

  • Requires a database project reference and database password.
  • All operations require a QUERY_API_KEY from thequery.dev.
  • Management API operations require a Supabase personal access token.
  • Auth Admin operations require a Supabase service role key.
  • Database connections use transaction pooling; remote projects require the correct Supabase region.

Risks and side effects

  • Safe mode permits only low-risk read-only operations by default.
  • Write operations require unsafe mode, and high-risk operations also require explicit confirmation.
  • Extreme-risk operations, such as deleting a project, are blocked.
  • Automatically generated migrations do not eliminate the risk of incorrect SQL or data loss when using high-privilege credentials.
  • The service role key and database password are highly sensitive credentials.
  • The project is no longer actively maintained, and the README points users to Supabase's official MCP server.

Setup

Before you start

Runtime:Python 3.12+

QUERY_API_KEY requiredsecret Free API key from thequery.dev, required for all operations since v0.4.
SUPABASE_PROJECT_REF required Your Supabase project reference ID (or local host:port), found in the project URL.
SUPABASE_DB_PASSWORD requiredsecret Database password, set at project creation or found in Project Settings → Database.
SUPABASE_ACCESS_TOKEN optionalsecret Personal access token for the Supabase Management API, generated at dashboard/account/tokens; only needed for remote projects.
SUPABASE_SERVICE_ROLE_KEY optionalsecret Service role key for the Auth Admin SDK, found in Project Settings → API; only needed for Auth Admin features.
Other optional settings (1)
SUPABASE_REGION optional AWS region where the project is hosted, defaults to us-east-1; a mismatch causes 'Tenant or user not found' errors.

Python 3.12+ is required. Install with pipx install supabase-mcp-server or uv pip install supabase-mcp-server, or install from the repository root in editable mode. Configure QUERY_API_KEY, SUPABASE_PROJECT_REF, and SUPABASE_DB_PASSWORD; remote projects should also specify the correct SUPABASE_REGION. Management API access requires SUPABASE_ACCESS_TOKEN, while Auth Admin access requires SUPABASE_SERVICE_ROLE_KEY. Add the server command to an MCP client configuration; Claude Desktop, Cline, and similar clients generally require the executable's absolute path.

.cursor/mcp.json
{"mcpServers":{"supabase":{"command":"/full/path/to/supabase-mcp-server","env":{"QUERY_API_KEY":"your-api-key","SUPABASE_PROJECT_REF":"your-project-ref","SUPABASE_DB_PASSWORD":"your-db-password","SUPABASE_REGION":"us-east-1","SUPABASE_ACCESS_TOKEN":"your-access-token","SUPABASE_SERVICE_ROLE_KEY":"your-service-role-key"}}}}

Shown for Cursor. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "supabase": {
      "command": "/full/path/to/supabase-mcp-server",
      "env": {
        "QUERY_API_KEY": "your-api-key",
        "SUPABASE_PROJECT_REF": "your-project-ref",
        "SUPABASE_DB_PASSWORD": "your-db-password",
        "SUPABASE_REGION": "us-east-1",
        "SUPABASE_ACCESS_TOKEN": "your-access-token",
        "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add supabase -e QUERY_API_KEY=your-api-key -e SUPABASE_PROJECT_REF=your-project-ref -e SUPABASE_DB_PASSWORD=your-db-password -e SUPABASE_REGION=us-east-1 -e SUPABASE_ACCESS_TOKEN=your-access-token -e SUPABASE_SERVICE_ROLE_KEY=your-service-role-key -- /full/path/to/supabase-mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Run 'which supabase-mcp-server' (or 'where' on Windows) to get the full executable path and configure it in your client; on success the client shows a green indicator and the number of tools exposed (e.g. get_schemas, execute_postgresql). You can also call get_schemas to confirm the database connection works.

Troubleshooting

  1. Run supabase-mcp-server directly to verify installation and configuration.
  2. If tools are missing or spawn ENOENT occurs, use the executable's full absolute path.
  3. Check environment variables or the global configuration file for the correct project reference, database password, and API key.
  4. For a Tenant or user not found error on a remote project, verify SUPABASE_REGION.
  5. Inspect ~/.local/share/supabase-mcp/mcp_server.log on macOS/Linux or the corresponding user directory on Windows.
  6. Confirm that the remote project uses transaction pooling rather than Session Pooling.

Things to try

Once connected, you can ask your AI assistant things like:

  • List all schemas in my database with their table counts
  • Show me the detailed schema of the users table including columns and keys
  • Create a test user with email [email protected]
  • Show me the latest auth authentication logs

Tools 13

get_schemas read-only
Lists database schemas with sizes and table counts.
get_tables read-only
Lists tables, foreign tables, and views with metadata.
get_table_schema read-only
Returns detailed table structure, including columns, keys, and relationships.
execute_postgresql writes
Executes PostgreSQL statements with risk assessment.
confirm_destructive_operation destructive
Executes a high-risk database operation after explicit confirmation.
retrieve_migrations read-only
Retrieves migration records with filtering and pagination.
live_dangerously writes
Toggles between safe and unsafe modes.
send_management_api_request writes
Sends a request to the Supabase Management API and injects the project reference.
Show 5 more tools
get_management_api_spec read-only
Returns the Management API specification with safety information, parameter requirements, and response formats.
get_management_api_safety_rules read-only
Returns safety rules with human-readable explanations.
get_auth_admin_methods_spec read-only
Retrieves documentation for available Supabase Auth Admin methods.
call_auth_admin_method writes
Invokes a Supabase Auth Admin method with parameter handling.
retrieve_logs read-only
Accesses logs and analytics data from Supabase services.

Use cases

Querying and modifying Supabase PostgreSQL through natural language.
Inspecting schemas, table structures, and automatically versioned migrations.
Managing remote Supabase projects and accessing service logs.
Creating, listing, updating, or deleting test users and generating authentication links.

Supported clients

Cursor
Windsurf
Cline
Claude Desktop

Listed from the project's documentation, not tested by this site.

Overview

Query MCP is an open-source Supabase MCP server that uses stdio to let compatible clients execute SQL, manage schema changes, call the Supabase Management API, use the Auth Admin SDK, and access logs and analytics. The README states that the project is no longer actively maintained because Supabase has released an official MCP server.

Similar servers

Source revision bca07008fe46 Data synced 2026-10-19 Read the FMRS scoring method