# list_migrations

Lists all migrations in the database.

Agent View of the PolicyLayer registry record for `list_migrations`. HTML page: https://policylayer.com/tools/supabase/list-migrations

## Facts

- Tool: `list_migrations`
- Server: Supabase (`@modelcontextprotocol/server-supabase`) — https://policylayer.com/tools/supabase.md
- Install: `npx -y @modelcontextprotocol/server-supabase`
- Homepage: https://github.com/supabase-community/supabase-mcp
- Risk category: Read (Low risk)
- Registry record: grade D, identity verified
- Server auth posture: gated
- Server rate-limited: no
- Parameters: 1
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `project_id` | string | no |  |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_migrations",
    "arguments": {}
  }
}
```

## Why list_migrations is rated Low

This tool retrieves and displays migration history metadata without executing, modifying, or deleting anything. It is a read-only query operation with minimal blast radius if misused by an AI agent. The low severity reflects that listing migrations poses no risk of unintended data loss or system changes.

From the tool's own definition: "Tool name and description indicate it 'Lists all migrations in the database' - a retrieval operation with no data modification."

## Use case

AI agents call list_migrations to retrieve information from Supabase without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Supabase:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "list_migrations": {}
  }
}
```

## Other tools on Supabase (28)

- `delete_branch` — Destructive — https://policylayer.com/tools/supabase/delete-branch.md
- `pause_project` — Destructive — https://policylayer.com/tools/supabase/pause-project.md
- `reset_branch` — Destructive — https://policylayer.com/tools/supabase/reset-branch.md
- `apply_migration` — Execute — https://policylayer.com/tools/supabase/apply-migration.md
- `deploy_edge_function` — Execute — https://policylayer.com/tools/supabase/deploy-edge-function.md
- `execute_sql` — Execute — https://policylayer.com/tools/supabase/execute-sql.md
- `merge_branch` — Execute — https://policylayer.com/tools/supabase/merge-branch.md
- `rebase_branch` — Execute — https://policylayer.com/tools/supabase/rebase-branch.md
- `confirm_cost` — Financial — https://policylayer.com/tools/supabase/confirm-cost.md
- `generate_typescript_types` — Read — https://policylayer.com/tools/supabase/generate-typescript-types.md
- `get_advisors` — Read — https://policylayer.com/tools/supabase/get-advisors.md
- `get_cost` — Read — https://policylayer.com/tools/supabase/get-cost.md
- `get_edge_function` — Read — https://policylayer.com/tools/supabase/get-edge-function.md
- `get_logs` — Read — https://policylayer.com/tools/supabase/get-logs.md
- `get_organization` — Read — https://policylayer.com/tools/supabase/get-organization.md
- `get_project` — Read — https://policylayer.com/tools/supabase/get-project.md
- `get_project_url` — Read — https://policylayer.com/tools/supabase/get-project-url.md
- `get_publishable_keys` — Read — https://policylayer.com/tools/supabase/get-publishable-keys.md
- `list_branches` — Read — https://policylayer.com/tools/supabase/list-branches.md
- `list_edge_functions` — Read — https://policylayer.com/tools/supabase/list-edge-functions.md
- `list_extensions` — Read — https://policylayer.com/tools/supabase/list-extensions.md
- `list_organizations` — Read — https://policylayer.com/tools/supabase/list-organizations.md
- `list_projects` — Read — https://policylayer.com/tools/supabase/list-projects.md
- `list_tables` — Read — https://policylayer.com/tools/supabase/list-tables.md
- `search_docs` — Read — https://policylayer.com/tools/supabase/search-docs.md
- `create_branch` — Write — https://policylayer.com/tools/supabase/create-branch.md
- `create_project` — Write — https://policylayer.com/tools/supabase/create-project.md
- `restore_project` — Write — https://policylayer.com/tools/supabase/restore-project.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=supabase · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/supabase
