supabase_list_edge_functions
Lists all Edge Functions in a Supabase project.
Bulk support: accepts project_ids for batched execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| project_ids | No |
Lists all Edge Functions in a Supabase project.
Bulk support: accepts project_ids for batched execution.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| project_ids | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds the bulk-execution behavior, but does not disclose any edge cases or limits. Given annotation coverage, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for the core purposeasi, and a second sentence for the bulk capability. No filler words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with good annotationsley and no output schema, the description sufficiently covers the action, scope, and bulk behavior. It doesn't describe return format but that's often left to schema; since none is provided, a slight gap exists, but for a simple listing tool this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters with no descriptionsates. The description explicitly notes that project_ids is for bulk execution, which adds meaning beyond the schema. However, it does not describe project_id at all beyond the required markerches, but that is self-evident from the name. Baseline 3 is appropriate as the schema description coverage is near 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Lists all Edge Functions in a Supabase project', using a specific verb and resource, and distinguishes from sibling tool supabase_get_edge_function by indicating it lists all functions rather than retrieving a single one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions bulk support (accepts project_ids), but does not explicitly contrast with alternatives like supabase_get_edge_function or state when to choose this vs. other listing tools. Implicit context is present, but no explicit exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The Supabase-prefixed tools are all distinct CRUD/lifecycle operations on different resource types (projects, branches, migrations, edge functions, etc.). The platform-level tools (authenticate, connect, marketplace, etc.) have clear non-overlapping purposes, though their names could momentarily be confused with Supabase-specific actions if an agent doesn't read descriptions.
The 29 supabase_* tools follow a consistent 'supabase_<verb>_<noun>' pattern. However, the 6 non-prefixed platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) break this convention and are inconsistent among themselves, creating a mixed naming style across the set.
At 35 tools, the server is overweight. While the Supabase domain is broad (project management, database, edge functions, branches), the inclusion of 6 unrelated platform tools inflates the count. 29 domain tools still exceeds the comfortable 15-tool upper bound, making the surface feel bloated for agents to navigate.
The tool set covers core workflows: project lifecycle (create, get, list, pause, restore), branching (create, delete, list, merge, rebase, reset), SQL/migrations, edge functions, cost estimation, and advisors. However, there are notable gaps such as no delete_project, no update operations for projects or branches, and no deletion for edge functions, which leave lifecycle coverage incomplete.