supabase_list_migrations
Lists all migrations in the database.
Bulk support: accepts project_ids for batched execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| project_ids | No |
Lists all migrations in the database.
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 indicate read-only, idempotent, and non-destructive behavior. The description adds the bulk execution feature, which is not in the annotations, and does not contradict them. It does not describe side effects or permissions, but the annotations cover safety.
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, consisting of two short sentences. It conveys the core functionality and the bulk feature without any unnecessary words or restating the name. Excellent structure.
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 simple listing tool with no output schema, the description adequately explains the purpose and the bulk option. It does not explain return structure, but that is not required given the lack of an output schema. The description is sufficient for an agent to understand what this tool does.
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 schema provides no parameter descriptions (0% coverage). The description only mentions 'project_ids' for bulk execution, but does not clarify the required 'project_id' parameter or its relationship to 'project_ids'. This leaves significant ambiguity about how to use the parameters effectively.
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 it 'lists all migrations in the database,' which is a specific verb and resource. It distinguishes from sibling list tools (e.g., list_branches, list_edge_functions) by targeting migrations, and mentions bulk support for multiple projects.
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?
The description provides some usage context by noting bulk support via project_ids, which implies it can be used for single or multiple projects. However, it does not explicitly say when to use this over other listing tools or provide exclusion criteria. Still, the bulk feature offers a hint of when to use it.
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.