Advanced PostgreSQL querying via PostgREST with filtering, pagination, sorting, and relational data. Supports 23+ operators including comparisons (eq, gt, gte, lt, lte), patterns (like, ilike), arrays (in, ov), ranges (between), JSON/JSONB (cs, cd), and negations (not.*). Includes count aggregati...
AI agents invoke supabase_query to trigger actions in Supabase MCP Server. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.
While named 'query', this tool supports advanced PostgreSQL operations via PostgREST with a wide range of operators. The description is truncated, leaving ambiguity about whether write/destructive operations (like upsert or delete via query parameters) are supported. The breadth of operators (23+) and 'relational data' access suggests it can execute complex database operations beyond simple reads.
From the tool's definition 'Advanced PostgreSQL querying via PostgREST with filtering, pagination, sorting, and relational data. Supports 23+ operators'
Attacks that exploit this kind of access
Advanced PostgreSQL querying via PostgREST with filtering, pagination, sorting, and relational data. Supports 23+ operators including comparisons (eq, gt, gte, lt, lte), patterns (like, ilike), arrays (in, ov), ranges (between), JSON/JSONB (cs, cd), and negations (not.*). Includes count aggregation (select:. It is categorised as a Execute tool in the Supabase MCP Server MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.
Register the Supabase MCP Server MCP server in PolicyLayer and add a rule for supabase_query: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Supabase MCP Server. Nothing to install.
supabase_query is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.
Yes. Add a rate_limit block to the supabase_query rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for supabase_query. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
supabase_query is provided by the Supabase MCP Server MCP server (sweir1/supabase-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →