{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-supabase","slug":"supabase","name":"Supabase","type":"mcp","url":"https://github.com/supabase-community/supabase-mcp","page_url":"https://unfragile.ai/supabase","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-supabase__cap_0","uri":"capability://data.processing.analysis.postgresql.database.query.execution.via.mcp.protocol","name":"postgresql database query execution via mcp protocol","description":"Executes SQL queries against Supabase PostgreSQL instances through the Model Context Protocol, translating natural language or structured query requests into parameterized SQL statements. Uses MCP's tool-calling interface to expose database operations as callable functions with schema validation, enabling LLM agents to perform CRUD operations, joins, and aggregations with automatic connection pooling and credential management through Supabase client SDK.","intents":["Execute complex SQL queries from an AI agent without managing database connections directly","Retrieve structured data from Supabase tables to feed into LLM reasoning chains","Perform transactional updates across multiple tables as part of an automated workflow","Query data with parameterized inputs to prevent SQL injection while maintaining flexibility"],"best_for":["AI agents and LLM applications needing persistent data access","Teams building multi-step workflows that read/write to PostgreSQL","Developers integrating Supabase as a backend for Claude or other MCP-compatible LLMs"],"limitations":["No built-in query optimization hints — complex queries may require manual indexing on Supabase side","Connection pooling is managed by Supabase client; concurrent query limits depend on plan tier","Real-time subscriptions not exposed through MCP tool interface — only request-response queries supported","No automatic schema introspection for dynamic table discovery; schema must be known at configuration time"],"requires":["Supabase project with PostgreSQL database provisioned","Valid Supabase API key (anon or service role key)","MCP-compatible client (Claude, Cline, or other MCP host)","Network access to Supabase API endpoint"],"input_types":["SQL query strings","Parameterized query objects with variable bindings","Table names and column specifications"],"output_types":["JSON-serialized result sets","Row counts for INSERT/UPDATE/DELETE operations","Error messages with SQL context"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_1","uri":"capability://tool.use.integration.supabase.authentication.state.inspection.and.user.management","name":"supabase authentication state inspection and user management","description":"Exposes Supabase Auth session state and user metadata through MCP tools, allowing agents to inspect current authentication context, retrieve user profiles, and trigger auth-related operations. Integrates with Supabase's JWT-based auth system to validate sessions and access user claims without re-authenticating, using the Supabase client's built-in session management.","intents":["Check if a user is authenticated before executing sensitive operations in an agent workflow","Retrieve user metadata and custom claims to personalize agent responses","Trigger password resets or email verification flows programmatically","Validate JWT tokens and extract user identity for audit logging"],"best_for":["Multi-user AI applications requiring per-user data isolation","Agents that need to enforce authorization rules based on user roles or metadata","Teams using Supabase Auth as their identity provider"],"limitations":["Session state is read-only through MCP — cannot directly modify user passwords or email from agent","Custom claims require pre-configuration in Supabase Auth rules; dynamic claim injection not supported","No built-in role-based access control (RBAC) enforcement — authorization logic must be implemented in agent or database policies","JWT refresh token rotation depends on Supabase client-side session management; MCP tools cannot directly refresh tokens"],"requires":["Supabase project with Auth enabled","Valid Supabase API key with auth:read permissions","Active user session or valid JWT token","MCP client with session context passed to Supabase MCP server"],"input_types":["User ID or email address","JWT token string","Auth action requests (e.g., 'send password reset')"],"output_types":["User profile object with metadata","Session state (authenticated/unauthenticated)","User claims and custom attributes","Auth action confirmation (e.g., email sent)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_2","uri":"capability://tool.use.integration.edge.function.invocation.and.result.streaming","name":"edge function invocation and result streaming","description":"Invokes Supabase Edge Functions (serverless TypeScript/JavaScript functions) through MCP tools, passing parameters and receiving results with optional streaming support. Uses Supabase's edge function HTTP API to trigger functions with automatic authentication headers and response parsing, enabling agents to execute custom business logic without embedding it in the agent itself.","intents":["Trigger custom business logic (e.g., payment processing, email sending) from an agent workflow","Execute long-running operations asynchronously and poll for results","Invoke specialized computation (e.g., ML inference, data transformation) hosted on Supabase Edge Functions","Stream responses from edge functions to handle large or real-time data"],"best_for":["Teams with custom business logic deployed as Supabase Edge Functions","Agents needing to offload computation or integrate with external APIs","Workflows requiring transactional guarantees (e.g., payment + database update)"],"limitations":["Edge Function timeout is 10 seconds by default; long-running operations require async patterns with polling","Streaming responses require client-side buffering; large payloads may exceed MCP message size limits","No built-in retry logic — agents must implement exponential backoff for transient failures","Function parameters must be JSON-serializable; binary data requires base64 encoding"],"requires":["Supabase project with Edge Functions enabled","Deployed Edge Function with public or authenticated endpoint","Valid Supabase API key with functions:invoke permissions","Network access to Supabase Edge Functions endpoint"],"input_types":["Function name or URL","JSON-serializable parameters","HTTP headers (e.g., Authorization)"],"output_types":["JSON response from function","HTTP status code","Streamed text or binary data","Error messages with function logs"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_3","uri":"capability://tool.use.integration.real.time.database.change.subscriptions.via.mcp","name":"real-time database change subscriptions via mcp","description":"Subscribes to real-time changes on Supabase tables through MCP's event streaming interface, using Supabase's PostgreSQL LISTEN/NOTIFY mechanism to push INSERT, UPDATE, and DELETE events to agents. Maintains persistent WebSocket connections and filters events by table and row-level policies, enabling agents to react to database changes without polling.","intents":["Trigger agent actions when specific database records are created or modified","Monitor a table for changes and update agent state in real-time","Implement event-driven workflows that respond to user actions in other systems","Stream live data updates to multi-agent systems for coordination"],"best_for":["Real-time collaborative applications with multiple agents or users","Event-driven architectures where agents react to database changes","Monitoring and alerting systems that need immediate notification of data changes"],"limitations":["Real-time subscriptions require persistent WebSocket connections; MCP protocol may not support long-lived subscriptions natively","Row-level security (RLS) policies are enforced; agents cannot subscribe to rows they lack read permissions for","Event filtering is limited to table and operation type; complex predicates require application-level filtering","Subscription state is not persisted; reconnection after network failure requires re-subscribing"],"requires":["Supabase project with Realtime enabled","Valid Supabase API key with realtime:subscribe permissions","MCP client supporting long-lived connections or event streaming","Row-level security policies configured if using non-admin keys"],"input_types":["Table name","Event type filter (INSERT, UPDATE, DELETE, or *)","Optional row-level filter criteria"],"output_types":["Real-time change events with old/new row data","Event metadata (timestamp, operation type)","Connection status notifications"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_4","uri":"capability://tool.use.integration.storage.bucket.file.operations.upload.download.list.delete","name":"storage bucket file operations (upload, download, list, delete)","description":"Manages files in Supabase Storage buckets through MCP tools, supporting upload, download, list, and delete operations with automatic authentication and path-based access control. Uses Supabase's S3-compatible storage API with built-in support for public/private buckets and signed URLs for temporary access, enabling agents to handle file I/O without managing cloud storage credentials.","intents":["Upload files (documents, images, logs) generated by agent workflows to persistent storage","Download files from storage to process them in agent logic (e.g., parse documents, analyze images)","List files in a bucket to discover available data or generate inventory reports","Delete files to clean up temporary data or enforce retention policies"],"best_for":["Agents that generate or process files as part of workflows","Document processing pipelines that need persistent file storage","Teams using Supabase Storage as their file backend"],"limitations":["File size limits depend on Supabase plan tier; large files may require chunked uploads","No built-in file transformation (e.g., image resizing, format conversion) — requires external tools or edge functions","Path-based access control is enforced by bucket policies; agents cannot bypass RLS for storage","Signed URLs have expiration times; long-lived access requires periodic URL regeneration"],"requires":["Supabase project with Storage enabled","Storage bucket created and configured","Valid Supabase API key with storage:read and storage:write permissions","File size within plan limits"],"input_types":["File path and bucket name","File content (binary or text)","List filter criteria (prefix, limit)"],"output_types":["File metadata (size, created_at, updated_at)","File content (binary or text)","List of files with metadata","Signed URL for temporary access","Success/error confirmation"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_5","uri":"capability://memory.knowledge.vector.similarity.search.with.pgvector.integration","name":"vector similarity search with pgvector integration","description":"Performs semantic similarity searches on vector embeddings stored in Supabase PostgreSQL using pgvector extension, translating natural language queries into embedding vectors and executing cosine/L2 distance searches. Integrates with embedding providers (OpenAI, Cohere) or uses pre-computed embeddings, enabling agents to retrieve semantically similar documents or records without full-text search limitations.","intents":["Find semantically similar documents or records based on natural language queries","Implement semantic search within agent RAG pipelines to retrieve relevant context","Cluster or categorize data based on embedding similarity","Build recommendation systems that suggest related items based on vector distance"],"best_for":["AI agents implementing retrieval-augmented generation (RAG) with semantic search","Teams using Supabase as a vector database for embeddings","Applications requiring semantic similarity matching beyond keyword search"],"limitations":["Embedding generation requires external API calls (OpenAI, Cohere); costs scale with query volume","pgvector performance degrades with very large embedding collections (>1M vectors); requires proper indexing","Vector dimension must match embedding model (e.g., 1536 for OpenAI); dimension mismatch causes errors","No built-in reranking; top-k results are based solely on vector distance, not relevance to query intent"],"requires":["Supabase project with pgvector extension enabled","PostgreSQL table with vector column (e.g., VECTOR(1536))","Pre-computed embeddings or access to embedding API (OpenAI, Cohere, etc.)","Valid Supabase API key with database:read permissions"],"input_types":["Query text or pre-computed embedding vector","Similarity metric (cosine, L2, inner product)","Number of results to return (k)"],"output_types":["Ranked list of similar records with distance scores","Record metadata and content","Similarity scores (0-1 for cosine distance)"],"categories":["memory-knowledge","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_6","uri":"capability://data.processing.analysis.database.schema.introspection.and.table.metadata.retrieval","name":"database schema introspection and table metadata retrieval","description":"Exposes Supabase database schema information through MCP tools, allowing agents to discover table structures, column types, constraints, and relationships without manual schema documentation. Queries PostgreSQL information_schema and Supabase metadata tables to dynamically generate schema descriptions, enabling agents to construct valid queries and understand data relationships.","intents":["Discover available tables and columns to construct dynamic SQL queries","Understand data types and constraints before inserting or updating records","Generate documentation or schema diagrams from live database metadata","Validate query results against expected schema before processing"],"best_for":["Agents that need to adapt to dynamic or unfamiliar database schemas","Teams building schema-aware query builders or data exploration tools","Developers debugging data structure issues without direct database access"],"limitations":["Schema introspection requires database:read permissions; hidden or RLS-protected tables may not be visible","Metadata queries add latency (~100-500ms per introspection call); caching recommended for repeated access","Complex relationships (many-to-many, polymorphic) require manual interpretation; automatic relationship detection is limited","Custom types and extensions may not be fully represented in standard information_schema queries"],"requires":["Supabase project with database access","Valid Supabase API key with database:read permissions","PostgreSQL information_schema accessible (standard in all PostgreSQL instances)"],"input_types":["Table name (optional; if omitted, returns all tables)","Schema name (default: public)"],"output_types":["Table list with row counts","Column definitions (name, type, nullable, default)","Primary and foreign key constraints","Indexes and unique constraints","Table comments and column descriptions"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_7","uri":"capability://safety.moderation.row.level.security.rls.policy.evaluation.and.enforcement","name":"row-level security (rls) policy evaluation and enforcement","description":"Enforces Supabase Row-Level Security policies within agent queries, ensuring that agents can only access rows permitted by RLS rules defined in the database. Evaluates policies based on authenticated user context (JWT claims, user ID) and applies WHERE clause filters automatically, preventing unauthorized data access at the database layer rather than application layer.","intents":["Ensure agents respect multi-tenant data isolation without explicit WHERE clauses","Enforce user-specific data access rules defined in database policies","Prevent accidental data leaks by delegating authorization to PostgreSQL","Audit data access through database-level policy enforcement"],"best_for":["Multi-tenant SaaS applications where data isolation is critical","Teams using Supabase RLS as their primary authorization mechanism","Agents that need to respect fine-grained access control without custom logic"],"limitations":["RLS policies must be pre-configured in Supabase; agents cannot dynamically create or modify policies","Policy evaluation adds query overhead (~5-20ms per query); complex policies with subqueries may be slower","Debugging RLS policy issues requires database access; agents cannot directly inspect which policies blocked a query","RLS is enforced only for authenticated requests; service role keys bypass RLS (use with caution)"],"requires":["Supabase project with RLS enabled on target tables","RLS policies defined in database (CREATE POLICY statements)","Valid Supabase API key (anon key respects RLS; service role key bypasses it)","Authenticated user context (JWT token with user ID and custom claims)"],"input_types":["SQL query","User context (user ID, custom claims from JWT)"],"output_types":["Query results filtered by RLS policies","Error if query violates RLS (e.g., 'new row violates row-level security policy')"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-supabase__cap_8","uri":"capability://data.processing.analysis.batch.operations.and.transaction.management","name":"batch operations and transaction management","description":"Executes multiple SQL statements as atomic transactions through MCP tools, supporting BEGIN/COMMIT/ROLLBACK semantics to ensure data consistency across related operations. Batches queries to reduce round-trip latency and provides transaction isolation levels (READ COMMITTED, SERIALIZABLE) for concurrent access control, enabling agents to perform multi-step operations with ACID guarantees.","intents":["Execute multi-step workflows (e.g., debit account, credit account, log transaction) atomically","Batch multiple INSERT/UPDATE operations to reduce database round-trips","Ensure consistency when related records must be updated together","Implement optimistic locking or conflict detection for concurrent updates"],"best_for":["Financial or transactional systems requiring ACID guarantees","Agents performing multi-step workflows with rollback requirements","High-throughput systems where reducing database round-trips is critical"],"limitations":["Transaction duration is limited by Supabase connection timeout (~30 seconds); long-running transactions may fail","Deadlocks can occur with concurrent transactions; agents must implement retry logic with exponential backoff","Serializable isolation level has performance overhead; READ COMMITTED is faster but allows phantom reads","Batch size is limited by MCP message size and PostgreSQL statement limits; very large batches require chunking"],"requires":["Supabase project with PostgreSQL database","Valid Supabase API key with database:write permissions","Understanding of transaction isolation levels and deadlock handling"],"input_types":["Array of SQL statements","Transaction isolation level (READ COMMITTED, REPEATABLE READ, SERIALIZABLE)","Optional savepoint names for partial rollback"],"output_types":["Results from each statement in order","Transaction status (committed or rolled back)","Error details if transaction fails (e.g., constraint violation, deadlock)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":46,"verified":false,"data_access_risk":"high","permissions":["Supabase project with PostgreSQL database provisioned","Valid Supabase API key (anon or service role key)","MCP-compatible client (Claude, Cline, or other MCP host)","Network access to Supabase API endpoint","Supabase project with Auth enabled","Valid Supabase API key with auth:read permissions","Active user session or valid JWT token","MCP client with session context passed to Supabase MCP server","Supabase project with Edge Functions enabled","Deployed Edge Function with public or authenticated endpoint"],"failure_modes":["No built-in query optimization hints — complex queries may require manual indexing on Supabase side","Connection pooling is managed by Supabase client; concurrent query limits depend on plan tier","Real-time subscriptions not exposed through MCP tool interface — only request-response queries supported","No automatic schema introspection for dynamic table discovery; schema must be known at configuration time","Session state is read-only through MCP — cannot directly modify user passwords or email from agent","Custom claims require pre-configuration in Supabase Auth rules; dynamic claim injection not supported","No built-in role-based access control (RBAC) enforcement — authorization logic must be implemented in agent or database policies","JWT refresh token rotation depends on Supabase client-side session management; MCP tools cannot directly refresh tokens","Edge Function timeout is 10 seconds by default; long-running operations require async patterns with polling","Streaming responses require client-side buffering; large payloads may exceed MCP message size limits","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.28,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"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-06-17T09:51:04.049Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=supabase","compare_url":"https://unfragile.ai/compare?artifact=supabase"}},"signature":"puVp0Cyfm5l6WNRI2mUcYrTPNur8aX1Zh7PaapeQG3FWDGBi/DeJXScDpZjy/j9QbnH7ZUPfnHvc6Xgb0KnXBw==","signedAt":"2026-06-23T01:06:39.257Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/supabase","artifact":"https://unfragile.ai/supabase","verify":"https://unfragile.ai/api/v1/verify?slug=supabase","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"}}