{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-alexander-zuev-supabase-mcp-server","slug":"mcp-alexander-zuev-supabase-mcp-server","name":"supabase-mcp-server","type":"mcp","url":"https://github.com/alexander-zuev/supabase-mcp-server","page_url":"https://unfragile.ai/mcp-alexander-zuev-supabase-mcp-server","categories":["mcp-servers"],"tags":["cursor","model-context-protocol","supabase","windsurf"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_0","uri":"capability://tool.use.integration.risk.tiered.sql.query.execution.with.safety.classification","name":"risk-tiered sql query execution with safety classification","description":"Executes PostgreSQL queries against Supabase databases with automatic risk classification into three tiers: Safe (SELECT-only, always allowed), Write (INSERT/UPDATE/DELETE, requires unsafe mode), and Destructive (DROP/CREATE, requires unsafe mode + explicit confirmation). The system parses incoming SQL, classifies operations by AST analysis, and enforces execution gates based on the current safety mode setting, preventing accidental schema destruction while enabling controlled data mutations.","intents":["Execute read-only queries safely without confirmation","Perform data mutations (INSERT/UPDATE/DELETE) with explicit unsafe mode activation","Prevent destructive schema changes (DROP/CREATE) unless explicitly confirmed","Audit which operations required safety overrides during a session"],"best_for":["AI-assisted development workflows in Cursor/Windsurf where LLMs might generate destructive SQL","Teams building agentic systems that need guardrails against unintended database mutations","Solo developers who want chat-driven database management without accidental data loss"],"limitations":["Risk classification is rule-based (keyword matching) and may not catch complex destructive patterns in stored procedures or CTEs","Requires explicit unsafe mode toggle per session; no granular per-query permission system","No transaction rollback capability if a destructive query passes confirmation but fails mid-execution","Classification overhead adds ~50-100ms per query for AST parsing on large queries (>10KB)"],"requires":["Python 3.12 or higher","Valid Supabase project URL and database credentials (SUPABASE_DB_URL environment variable)","asyncpg library for async PostgreSQL connection pooling","MCP client compatible with stdio protocol (Cursor, Windsurf, Cline, Claude Desktop)"],"input_types":["SQL query string (raw PostgreSQL syntax)","Safety mode flag (safe/write/destructive)","Connection pool configuration (direct or pooled)"],"output_types":["Query result set (rows as JSON objects)","Execution metadata (rows affected, execution time)","Risk assessment report (operation classification, required confirmations)","Error messages with safety violation details"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_1","uri":"capability://automation.workflow.automatic.migration.versioning.with.schema.change.tracking","name":"automatic migration versioning with schema change tracking","description":"Automatically versions and tracks database schema changes by capturing migration metadata (timestamp, operation type, SQL statement) whenever destructive or schema-modifying operations execute. The system maintains a migration history log that can be queried to understand schema evolution, rollback points, and audit trails of who changed what when. This integrates with Supabase's native migration system to ensure version consistency across environments.","intents":["Track all schema changes made through the chat interface with timestamps and operation details","Generate migration files automatically from executed DDL statements","Understand schema evolution history without manual documentation","Enable rollback by reviewing past migration versions"],"best_for":["Teams using Supabase migrations in development and production environments","Developers who want audit trails of schema changes made via AI assistants","Projects requiring compliance tracking of database modifications"],"limitations":["Migration versioning is automatic but requires manual review before applying to production","No built-in rollback execution; versions are tracked but reverting requires manual SQL","Metadata storage depends on Supabase project configuration; no external migration store support","Versioning only captures operations executed through this MCP server, not changes made directly via Supabase dashboard or other tools"],"requires":["Supabase project with migrations table initialized","Write access to the migrations table in the target database","Python 3.12+","Valid SUPABASE_DB_URL with appropriate permissions"],"input_types":["SQL DDL statement (CREATE/ALTER/DROP)","Operation context (user, timestamp, source)"],"output_types":["Migration metadata object (version number, timestamp, SQL, status)","Migration history list (all past versions with details)","Rollback instructions (SQL to revert a specific migration)"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_10","uri":"capability://safety.moderation.exception.handling.and.error.reporting.with.context.preservation","name":"exception handling and error reporting with context preservation","description":"Catches and handles exceptions from database operations, Management API calls, and Auth SDK invocations, preserving error context (stack trace, operation details, input parameters) and returning user-friendly error messages. The system distinguishes between recoverable errors (connection timeouts, rate limits) and fatal errors (authentication failures, invalid SQL), and provides actionable error messages that help developers understand what went wrong. This prevents cryptic error messages from reaching users and enables better debugging.","intents":["Catch database connection errors and provide clear error messages","Handle SQL syntax errors and invalid operations with helpful feedback","Report authentication failures with guidance on credential setup","Distinguish between transient errors (retry) and permanent errors (fail)"],"best_for":["Production deployments where clear error messages improve user experience","Debugging scenarios where error context helps identify root causes","Teams building error monitoring and alerting systems"],"limitations":["Error messages are sanitized to avoid leaking sensitive information (credentials, internal paths)","Stack traces are logged but not returned to users; developers must check server logs for details","Some errors from external APIs (Management API, Auth SDK) may have unclear messages","No automatic error recovery; transient errors are reported but not automatically retried"],"requires":["Python 3.12+ with exception handling support","Logging infrastructure (Python logging module)"],"input_types":["Exception object from database/API operation"],"output_types":["User-friendly error message (string)","Error code (for programmatic handling)","Suggested remediation steps (optional)"],"categories":["safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_11","uri":"capability://automation.workflow.docker.containerization.with.environment.variable.injection","name":"docker containerization with environment variable injection","description":"Provides Dockerfile and Docker Compose configuration for containerizing the MCP server, enabling deployment in Docker environments with environment variable injection for credentials. The system builds a Python 3.12 container with all dependencies, exposes the stdio interface for MCP clients, and supports environment variable configuration for different deployment scenarios. This enables easy deployment to cloud platforms (AWS, GCP, Azure) and local Docker environments without manual setup.","intents":["Deploy the MCP server in Docker containers for cloud environments","Configure credentials via environment variables in Docker Compose","Build and push Docker images to container registries","Run the server in isolated containers without system dependencies"],"best_for":["Teams deploying to Kubernetes or Docker Swarm","Cloud-native deployments on AWS ECS, GCP Cloud Run, Azure Container Instances","Development teams using Docker Compose for local development"],"limitations":["Docker image size is ~500MB+ due to Python and dependencies; not suitable for serverless functions","Stdio transport requires the container to be invoked as a subprocess; not suitable for long-running services","Environment variable injection is basic; no support for secret management systems (AWS Secrets Manager, Vault)","No health checks or readiness probes defined; container orchestrators cannot detect if the server is healthy"],"requires":["Docker 20.10+ or Docker Desktop","Docker Compose 2.0+ (for Docker Compose deployments)","Dockerfile in the repository root","Environment variables for Supabase credentials"],"input_types":["Dockerfile (build configuration)","Docker Compose YAML (service configuration)","Environment variables (credentials)"],"output_types":["Docker image (built and ready to run)","Running container (with stdio interface available)"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_12","uri":"capability://automation.workflow.testing.framework.with.mock.supabase.clients.and.integration.tests","name":"testing framework with mock supabase clients and integration tests","description":"Provides a testing framework with mock Supabase clients (database, Management API, Auth SDK) for unit testing without real Supabase credentials, and integration tests that run against a real Supabase instance. The system uses pytest for test execution, fixtures for test setup/teardown, and parametrized tests for testing multiple scenarios. This enables developers to test MCP tools locally without requiring a Supabase account and to verify integration with real Supabase services in CI/CD pipelines.","intents":["Unit test MCP tools with mock Supabase clients","Integration test against a real Supabase instance","Verify error handling and edge cases","Ensure backward compatibility when making changes"],"best_for":["Contributors developing new MCP tools or fixing bugs","Teams with CI/CD pipelines that need automated testing","Projects requiring high test coverage before deployment"],"limitations":["Mock clients may not perfectly replicate Supabase behavior; integration tests are needed for full verification","Integration tests require a real Supabase instance; cannot run in isolated environments","Test data must be cleaned up manually; no automatic rollback between tests","Test execution time increases with number of tests; large test suites may slow down CI/CD"],"requires":["pytest library for test execution","Python 3.12+","Mock libraries (unittest.mock or pytest-mock)","Real Supabase instance for integration tests (optional)"],"input_types":["Test case code (pytest test functions)","Mock configuration (mock return values, side effects)","Test data (fixtures)"],"output_types":["Test results (pass/fail)","Coverage reports (percentage of code tested)","Error messages (if tests fail)"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_2","uri":"capability://tool.use.integration.supabase.management.api.endpoint.orchestration.with.risk.assessment","name":"supabase management api endpoint orchestration with risk assessment","description":"Provides MCP tool bindings for all Supabase Management API endpoints (project management, database configuration, auth settings, etc.) with automatic risk assessment and safety controls. The system maps Management API operations to MCP tools, injects project references automatically, classifies each endpoint by risk level (read-only vs destructive), and enforces safety gates similar to SQL execution. This enables chat-driven management of Supabase project infrastructure without requiring manual API calls or authentication.","intents":["Manage Supabase project settings (name, region, database configuration) via chat","Configure authentication settings (OAuth providers, email templates, MFA policies) conversationally","Perform infrastructure operations (backups, restores, database resets) with safety confirmation","Query project metadata and analytics without leaving the IDE"],"best_for":["DevOps engineers and platform teams managing multiple Supabase projects","Developers who want to configure Supabase infrastructure from within their IDE","Teams building internal tools that need programmatic Supabase project management"],"limitations":["Requires Supabase Management API token (SUPABASE_MANAGEMENT_API_TOKEN) which has broad project access","Risk classification is endpoint-based; some endpoints may have hidden destructive side effects not captured by the safety system","No transaction support for multi-step infrastructure changes; partial failures can leave projects in inconsistent states","API rate limiting from Supabase applies; no built-in retry or backoff logic for rate-limited requests"],"requires":["Supabase Management API token with appropriate permissions","SUPABASE_MANAGEMENT_API_TOKEN environment variable configured","Python 3.12+","Network access to Supabase Management API endpoints (api.supabase.com)"],"input_types":["Management API endpoint path (e.g., /projects/{ref}/database/ssl-enforcement)","HTTP method (GET, POST, PATCH, DELETE)","Request body (JSON configuration)","Project reference (auto-injected from environment)"],"output_types":["API response body (JSON)","Operation status (success/failure with error details)","Risk assessment report (endpoint classification, required confirmations)","Structured project metadata (settings, configuration state)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_3","uri":"capability://tool.use.integration.supabase.auth.admin.sdk.method.invocation.with.user.lifecycle.management","name":"supabase auth admin sdk method invocation with user lifecycle management","description":"Exposes Supabase Auth Admin SDK methods as MCP tools, enabling chat-driven user management operations including user creation, updates, deletion, authentication operations (magic links, password recovery), and MFA management. The system wraps Auth Admin SDK calls with proper error handling, validates input parameters, and integrates with the safety system to require confirmation for destructive user operations (deletion, password resets). This allows developers to manage authentication state and user accounts without leaving their IDE.","intents":["Create new user accounts with custom metadata and email verification","Update user properties (email, password, metadata, MFA settings)","Delete user accounts with confirmation","Send authentication emails (magic links, password recovery, invitations)","Manage MFA settings (enable/disable, list factors)"],"best_for":["Developers building authentication-heavy applications who need to manage test users","Support teams that need to perform user account operations from chat","Teams building admin dashboards that delegate auth management to LLM assistants"],"limitations":["Auth Admin SDK requires service role key (SUPABASE_SERVICE_ROLE_KEY) which has unrestricted access; no granular permission scoping","No built-in rate limiting for user creation/deletion; can accidentally create/delete many users if LLM generates bulk operations","MFA management is limited to what the Auth Admin SDK exposes; advanced MFA policies require direct API calls","User deletion is permanent and cannot be undone through this interface; requires database-level recovery"],"requires":["Supabase service role key (SUPABASE_SERVICE_ROLE_KEY environment variable)","Python 3.12+","Supabase Python client library (supabase-py) with Auth Admin SDK support","Valid Supabase project URL and credentials"],"input_types":["User creation parameters (email, password, metadata, email_confirm)","User update parameters (email, password, user_metadata, app_metadata)","User ID (UUID format)","MFA factor configuration (type, friendly_name)"],"output_types":["User object (id, email, created_at, user_metadata, app_metadata)","Authentication operation status (success/failure)","MFA factor list (factor_id, type, status)","Error messages with validation details"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_4","uri":"capability://search.retrieval.structured.log.retrieval.and.filtering.with.multi.collection.support","name":"structured log retrieval and filtering with multi-collection support","description":"Provides MCP tools to query Supabase logs across multiple collections (postgres, api_gateway, auth, realtime, etc.) with filtering by time range, search text, and custom criteria. The system constructs log queries using Supabase's log API, handles pagination for large result sets, and returns structured log entries as JSON objects. This enables developers to troubleshoot issues, monitor application behavior, and analyze performance without leaving their IDE or switching to the Supabase dashboard.","intents":["Query PostgreSQL query logs to debug slow queries or find errors","Search API gateway logs for HTTP request/response issues","Retrieve authentication logs to audit login attempts and user creation events","Filter logs by time range and search text to isolate specific incidents","Analyze log patterns to identify performance bottlenecks or error trends"],"best_for":["Developers debugging production issues without dashboard access","Teams building observability tools that integrate Supabase logs","On-call engineers who need quick log access from their IDE during incidents"],"limitations":["Log retention depends on Supabase plan; free tier has limited retention (7 days), paid tiers have longer retention","Log queries are read-only; no ability to delete or modify logs","Pagination is manual; large result sets require multiple queries to retrieve all entries","Search filtering is basic (text matching); no advanced query syntax or regex support","Log API rate limiting applies; high-frequency queries may be throttled"],"requires":["Valid Supabase project URL and credentials","SUPABASE_DB_URL or SUPABASE_URL environment variable","Python 3.12+","Network access to Supabase log API endpoints"],"input_types":["Log collection name (postgres, api_gateway, auth, realtime, etc.)","Time range (start_time, end_time as ISO 8601 timestamps)","Search text (optional, for text-based filtering)","Custom filter criteria (JSON object with field/value pairs)","Limit and offset for pagination"],"output_types":["Log entry array (structured JSON objects with timestamp, level, message, metadata)","Pagination metadata (total_count, has_more)","Aggregated statistics (error count, average response time, etc.)","Error messages if log collection is unavailable"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_5","uri":"capability://tool.use.integration.mcp.protocol.integration.with.stdio.based.tool.registration","name":"mcp protocol integration with stdio-based tool registration","description":"Implements the Model Context Protocol (MCP) server specification using stdio transport, registering all database, management API, auth, and logging capabilities as MCP tools that can be invoked by compatible clients (Cursor, Windsurf, Cline, Claude Desktop). The system handles MCP protocol messages (tool calls, responses, errors), manages tool schemas with JSON Schema validation, and maintains bidirectional communication with MCP clients. This enables seamless integration of Supabase operations into AI-assisted development workflows without custom client code.","intents":["Register Supabase operations as tools that LLM agents can discover and invoke","Validate tool parameters against JSON Schema before execution","Handle tool invocation requests from MCP clients and return structured responses","Manage tool lifecycle (initialization, error handling, cleanup)"],"best_for":["Developers using Cursor, Windsurf, or other MCP-compatible IDEs","Teams building custom MCP clients that need Supabase integration","Organizations standardizing on MCP for AI-assisted development workflows"],"limitations":["Requires MCP client support; not compatible with non-MCP tools or direct API clients","Stdio transport is synchronous; concurrent tool invocations may queue if not properly async-handled","Tool schema validation is strict; malformed parameters are rejected before execution","No built-in tool versioning; breaking changes to tool schemas require client updates"],"requires":["MCP-compatible client (Cursor 0.42+, Windsurf, Cline, Claude Desktop)","Python 3.12+ with asyncio support","mcp library (Python MCP SDK) for protocol handling","Proper stdio configuration in client settings (e.g., Cursor settings.json)"],"input_types":["MCP protocol messages (JSON-RPC format)","Tool invocation requests with parameters","Tool discovery requests"],"output_types":["MCP protocol responses (JSON-RPC format)","Tool execution results (structured JSON)","Error responses with error codes and messages","Tool schema definitions (JSON Schema format)"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_6","uri":"capability://automation.workflow.environment.based.configuration.with.settings.validation","name":"environment-based configuration with settings validation","description":"Loads and validates Supabase credentials and configuration from environment variables (SUPABASE_URL, SUPABASE_DB_URL, SUPABASE_SERVICE_ROLE_KEY, SUPABASE_MANAGEMENT_API_TOKEN) with type checking and required field validation. The system uses a settings container pattern to manage configuration state, validates credentials at startup, and provides clear error messages if required variables are missing or invalid. This enables secure credential management without hardcoding secrets and supports multiple deployment environments (development, staging, production).","intents":["Load Supabase credentials from environment variables securely","Validate credentials at startup to catch configuration errors early","Support multiple deployment environments with different credentials","Provide clear error messages if required configuration is missing"],"best_for":["Teams deploying the MCP server in Docker or cloud environments","Developers who want to use different Supabase projects for dev/staging/prod","Organizations with strict credential management policies"],"limitations":["Credentials must be provided via environment variables; no support for credential files or secret managers","No runtime credential rotation; server must be restarted to pick up new credentials","Validation is performed at startup only; invalid credentials discovered during operation will cause tool failures","No built-in credential encryption; relies on environment variable security provided by the deployment platform"],"requires":["Environment variables: SUPABASE_URL, SUPABASE_DB_URL, SUPABASE_SERVICE_ROLE_KEY (optional for read-only use)","Python 3.12+","pydantic library for settings validation"],"input_types":["Environment variable strings (URLs, API keys, tokens)"],"output_types":["Validated settings object (with credentials loaded)","Validation error messages if configuration is invalid"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_7","uri":"capability://data.processing.analysis.async.connection.pooling.with.direct.and.pooled.connection.modes","name":"async connection pooling with direct and pooled connection modes","description":"Manages PostgreSQL connections to Supabase using asyncpg with support for both direct connections and pooled connections via PgBouncer. The system creates and maintains a connection pool, handles connection lifecycle (creation, reuse, cleanup), and provides async context managers for safe connection usage. This enables efficient concurrent query execution without exhausting database connections and supports both development (direct) and production (pooled) connection patterns.","intents":["Execute multiple concurrent SQL queries without blocking","Reuse database connections efficiently via connection pooling","Support both direct and pooled connection modes for different deployment scenarios","Handle connection errors and reconnection automatically"],"best_for":["High-concurrency environments where multiple MCP clients invoke queries simultaneously","Production deployments using PgBouncer for connection pooling","Development environments using direct connections for simplicity"],"limitations":["Connection pool size is fixed at initialization; no dynamic scaling based on load","Pooled connections (PgBouncer) have limitations on transaction isolation and prepared statements","Connection timeouts are not configurable; uses asyncpg defaults (~30 seconds)","No built-in connection monitoring or metrics; pool exhaustion will cause query failures"],"requires":["asyncpg library (async PostgreSQL driver)","Valid SUPABASE_DB_URL pointing to Supabase PostgreSQL database","Python 3.12+ with asyncio support","Network access to Supabase database endpoint"],"input_types":["Connection string (SUPABASE_DB_URL)","Connection mode (direct or pooled)","Pool size configuration (optional)"],"output_types":["Database connection object (asyncpg.Connection)","Connection pool object (asyncpg.Pool)","Connection status (connected/disconnected)"],"categories":["data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_8","uri":"capability://data.processing.analysis.transaction.handling.with.rollback.and.error.recovery","name":"transaction handling with rollback and error recovery","description":"Provides transaction management for SQL queries with automatic rollback on errors, ensuring database consistency. The system wraps queries in asyncpg transactions, catches exceptions during execution, rolls back changes if errors occur, and returns detailed error messages. This prevents partial updates and ensures that either all operations in a transaction succeed or none do, maintaining data integrity even when LLM-generated SQL contains errors.","intents":["Execute multi-statement SQL operations atomically (all succeed or all fail)","Automatically rollback changes if any statement in a transaction fails","Prevent partial updates that could leave the database in an inconsistent state","Provide detailed error messages that help identify which statement failed"],"best_for":["Complex data mutations that require multiple related updates","Scenarios where partial failures could corrupt data integrity","Teams that need strong consistency guarantees for LLM-generated SQL"],"limitations":["Transaction isolation level is fixed (READ COMMITTED); no support for custom isolation levels","Long-running transactions may lock tables and block other queries","Nested transactions are not supported; savepoints require manual SQL","Rollback is automatic but may not catch all consistency violations (e.g., application-level constraints)"],"requires":["asyncpg library with transaction support","Valid database connection","Python 3.12+ with asyncio support"],"input_types":["SQL statement string (single or multiple statements)","Transaction isolation level (optional, defaults to READ COMMITTED)"],"output_types":["Query result set (if successful)","Rollback confirmation (if error occurred)","Error message with details about which statement failed"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-alexander-zuev-supabase-mcp-server__cap_9","uri":"capability://data.processing.analysis.schema.introspection.and.metadata.extraction","name":"schema introspection and metadata extraction","description":"Queries PostgreSQL system catalogs (pg_tables, pg_columns, pg_indexes, etc.) to extract database schema metadata including table names, column definitions, data types, constraints, and indexes. The system provides MCP tools to list tables, describe table structure, and retrieve index information, enabling developers to understand the database schema without manual SQL queries. This metadata is used by LLM agents to generate contextually appropriate SQL and understand what operations are possible.","intents":["List all tables in the database to understand available data","Describe table structure (columns, types, constraints) for query generation","Retrieve index information to optimize query performance","Generate SQL that references correct table and column names"],"best_for":["Developers unfamiliar with the database schema who need quick reference","LLM agents that need schema context to generate correct SQL","Teams building schema documentation tools"],"limitations":["Schema introspection is read-only; cannot modify schema through this interface","Large databases with thousands of tables may have slow introspection queries","View definitions are not fully extracted; only table and column metadata","Constraints and foreign keys are partially supported; complex constraint types may not be fully described"],"requires":["Valid database connection with SELECT permissions on pg_* system catalogs","Python 3.12+","asyncpg library"],"input_types":["Table name (optional, for specific table description)","Schema name (optional, defaults to public)"],"output_types":["Table list (array of table names)","Table structure (columns with types, constraints, defaults)","Index information (index name, columns, type)","Foreign key relationships"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":44,"verified":false,"data_access_risk":"high","permissions":["Python 3.12 or higher","Valid Supabase project URL and database credentials (SUPABASE_DB_URL environment variable)","asyncpg library for async PostgreSQL connection pooling","MCP client compatible with stdio protocol (Cursor, Windsurf, Cline, Claude Desktop)","Supabase project with migrations table initialized","Write access to the migrations table in the target database","Python 3.12+","Valid SUPABASE_DB_URL with appropriate permissions","Python 3.12+ with exception handling support","Logging infrastructure (Python logging module)"],"failure_modes":["Risk classification is rule-based (keyword matching) and may not catch complex destructive patterns in stored procedures or CTEs","Requires explicit unsafe mode toggle per session; no granular per-query permission system","No transaction rollback capability if a destructive query passes confirmation but fails mid-execution","Classification overhead adds ~50-100ms per query for AST parsing on large queries (>10KB)","Migration versioning is automatic but requires manual review before applying to production","No built-in rollback execution; versions are tracked but reverting requires manual SQL","Metadata storage depends on Supabase project configuration; no external migration store support","Versioning only captures operations executed through this MCP server, not changes made directly via Supabase dashboard or other tools","Error messages are sanitized to avoid leaking sensitive information (credentials, internal paths)","Stack traces are logged but not returned to users; developers must check server logs for details","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.41055667981267135,"quality":0.5,"ecosystem":0.52,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.064Z","last_scraped_at":"2026-05-03T14:23:34.856Z","last_commit":"2025-09-26T14:03:00Z"},"community":{"stars":819,"forks":105,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-alexander-zuev-supabase-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=mcp-alexander-zuev-supabase-mcp-server"}},"signature":"UL9pBklva1bauccK55nveR4U/VZjTfkBIRl4hhLlVFqUb0UQvxGz28oJGJltvfNuBpxfV0g/SAWGJ+TnBLmpCg==","signedAt":"2026-06-21T08:55:04.815Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-alexander-zuev-supabase-mcp-server","artifact":"https://unfragile.ai/mcp-alexander-zuev-supabase-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-alexander-zuev-supabase-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}