Snap MCP tools
Always registered. 18 tools, listed with the description the server sends in tools/list.
Parameters for every Snap tool are documented in the reference.
| Tool | Description |
|---|---|
branch_delete |
Delete a branch and release its resources (like ‘git branch -D’). |
branch_lineage |
Walk a branch’s parent chain and return the lineage from the branch back to its root remote. Useful for understanding how a branch was derived (‘forked from agent/migration-test, which was forked from main, cloned from production’). |
branch_list |
List all branches in a workspace with their status and endpoint (like ‘git branch -v’). |
branch_promote |
Pin a ready branch as a named fixture future branches can be forked from. Use to capture a known-good state (‘post-incident-2025-12-03’, ‘demo-data-q4’) that survives ad-hoc branch deletion. The source branch becomes protected from deletion while any fixture references it. |
branch_restore |
Instantiate a new branch forked from a saved fixture. Returns the new branch ID and an operation ID — pass the operation ID to ‘wait’ to block until ready. |
clone |
Clone a remote source into a new isolated branch (like ‘git clone’). Creates a full Postgres endpoint backed by copy-on-write. Returns a branch ID and operation ID. Use ‘wait’ to block until the branch is ready. Pass ‘overrides’ to rewrite specific columns (e.g. masking emails) while the branch materializes from source. Members must pass overrides (403 masking_required); only owners and admins may clone unmasked. |
fixture_list |
List saved fixtures (named, pinned branches future branches can be forked from) in a workspace. |
fixture_show |
Show details of a fixture, including the source branch it pins. |
fork |
Fork an existing branch into a new isolated branch (like ‘git checkout -b’). The new branch starts as a copy-on-write clone of the parent. Both branches are fully isolated after forking. Pass ‘overrides’ to apply column-level rewrites on first access to each table. |
log |
List available checkpoints (point-in-time snapshots) for a remote — the commit history of your data source (like ‘git log’). |
remote_add |
Workspace owners and admins only (403 admin_required). Register a database or S3 bucket as a remote source (like ‘git remote add’). For postgres, provide dsn. For s3, provide s3_bucket and optionally s3_region, s3_endpoint, s3_access_key, s3_secret_key. |
remote_list |
List all remotes (data sources) in a workspace (like ‘git remote -v’). |
remote_remove |
Workspace owners and admins only (403 admin_required). Remove a remote and all its branches (like ‘git remote remove’). |
remote_show |
Show details of a specific remote including its status and sync lag (like ‘git remote show’). |
remote_url |
Get the connection string (DSN) for a ready branch (like ‘git remote get-url’). Returns an error if the branch is not ready. |
status |
Show the status of a branch including its endpoint DSN, parent, and metadata (like ‘git status’). |
wait |
Wait for a branch to finish provisioning. Polls the operation until the branch is ready or fails, then returns the branch details including the endpoint DSN. Use this after ‘clone’ or ‘fork’. |
workspace_list |
List workspaces the authenticated caller is a member of. Use to discover workspace slugs needed by other workspace-scoped operations. |