Investigate Supabase-backed apps: schema, data access, RLS, and auth — via Supabase's official PostgREST MCP server.
An Agent Plugin (spec 1.0.0).
A plugin that pairs Supabase's official @supabase/mcp-server-postgrest with
skills for schema inspection, RLS review, auth debugging, and end-to-end
investigation of a Supabase-backed app.
- First-party upstream — Supabase's own MCP server (repo
supabase/mcp, Apache-2.0). - Workflow value, not tool listing — the skills teach investigation order (schema → access → RLS → auth), not just what the tools do.
- Project-scoped, read-first — skills default to
GET; writes require explicit intent.
- Server:
supabase— stdio,npx -y @supabase/mcp-server-postgrest@0.1.1 --apiUrl <your-project-url> --schema public(pinned, first-party). - Skills:
inspect-schema,review-rls,debug-auth,investigate-supabase-app.
Project configuration, not plugin secrets. The --apiUrl in the config is
a placeholder (https://your-project-ref.supabase.co/rest/v1) that must be
replaced with your project's URL — this is per-project configuration, not a
credential. The optional --apiKey (anon key) is supplied at the client level;
never commit a key. Agent Plugins v1 has no portable secret mechanism, so
auth stays client/user managed.
Skills default to read-only (GET requests via postgrestRequest). The
official server can do CRUD (POST/PATCH/DELETE); the plugin's skills
never mutate during investigation and require explicit user intent for writes.
Read-only enforcement is the project's RLS + the anon role.
stdio MCP transport. The pinned server was runtime-verified in this release cycle:
handshake OK (supabase/postgrest 0.1.1)
tools/list postgrestRequest, sqlToRest
Status: HANDSHAKE_VERIFIED / TOOLS_VERIFIED. A real project call requires a Supabase project URL (client-configurable); the placeholder URL is not callable. Verify against your project in your client.
- Node.js 18+ with
npx. - A Supabase project (or any PostgREST server) URL.
- Network access to the project and the npm registry.
Copy the plugin's runtime files (plugin.json, mcp.json, skills/,
README.md, LICENSE) into your Agent Plugins client's plugin folder, or use
your client's plugin install flow. Do not copy the authoring sources
(plugin.yml, skills-src/, docs/) — see the collection README for the full
boundary. No build step is required.
Replace the placeholder project URL with your own:
{
"mcpServers": {
"supabase": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-postgrest@0.1.1",
"--apiUrl",
"https://your-project-ref.supabase.co/rest/v1",
"--schema",
"public"
]
}
}
}--apiUrl: your project's PostgREST endpoint (required, project-specific).--apiKey: optional; supply at the client level, never commit it.--schema: the schema to serve (defaultpublic).
- "Show me the schema of my Supabase project" →
inspect-schema. - "Audit whether our tables are RLS-protected" →
review-rls. - "Users can't sign in — help debug" →
debug-auth. - "Why is this feature returning no data?" →
investigate-supabase-app.
| Server | Version | License | Source |
|---|---|---|---|
| Supabase PostgREST MCP | @supabase/mcp-server-postgrest@0.1.1 (pinned) |
Apache-2.0 | supabase/mcp |
1.0.0 (Working Draft) — https://agent-plugins.org/specification
Node.js 18+, npx, network access, a Supabase/PostgREST project URL.
- Read-first skills; no data mutation during investigation.
- No API keys in the plugin; keys are client-level.
- Placeholder
--apiUrlmust be replaced by the user (per-project config). - Do not print tokens, keys, or sensitive row data.
- The
--apiUrlis project-specific and cannot be shipped pre-configured. - RLS review needs SQL access (dashboard/SQL editor) for
pg_policies— the MCP alone cannot read them. - Writes require explicit user intent; the server itself is not read-only.
MIT. See LICENSE. Upstream @supabase/mcp-server-postgrest is
Apache-2.0 (Supabase); HiAI is not affiliated with or endorsed by Supabase.
See CHANGELOG.md.