Agent skill
cli
Prefect CLI commands for mutations. The MCP server is read-only - use this skill when you need to trigger deployments, cancel flow runs, create automations, or modify Prefect resources.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/productivity/cli-prefecthq-prefect-mcp-server
SKILL.md
Prefect CLI
The MCP server is read-only. For mutations, use the CLI.
Critical: Agent-Friendly Usage
The CLI is designed for interactive terminal use. For non-interactive (agent) use:
bash
# ALWAYS use --no-prompt as a TOP-LEVEL flag to disable confirmations
prefect --no-prompt flow-run delete <uuid>
prefect --no-prompt deployment delete <name>
Avoiding Truncated Output
Rich table output truncates IDs and names, making them useless. Solutions:
bash
# Use `prefect api` for raw JSON (preferred for agents)
prefect api POST /flow_runs/filter --data '{"limit": 5}'
# Use inspect with -o json for single resources
prefect flow-run inspect <uuid> -o json
prefect deployment inspect <name> -o json
IDs Must Be Complete UUIDs
Partial IDs don't work. Always get full UUIDs from JSON output:
bash
# Get full flow run ID
prefect api POST /flow_runs/filter --data '{"limit": 1}' | jq -r '.[0].id'
Common Mutations
| Task | Command |
|---|---|
| Trigger deployment | prefect deployment run 'flow-name/deployment-name' |
| Trigger by ID | prefect deployment run --id <deployment-uuid> |
| Cancel flow run | prefect --no-prompt flow-run cancel <uuid> |
| Delete flow run | prefect --no-prompt flow-run delete <uuid> |
| Delete deployment | prefect --no-prompt deployment delete <name> |
Direct API Access
prefect api gives full API access with JSON output:
bash
# List flow runs (with filters)
prefect api POST /flow_runs/filter --data '{"limit": 10}'
# Filter by state
prefect api POST /flow_runs/filter --data '{"flow_runs": {"state": {"type": {"any_": ["FAILED"]}}}}'
# Delete a flow run
prefect api DELETE /flow_runs/<uuid>
# Cancel a flow run
prefect api POST /flow_runs/<uuid>/set_state --data '{"state": {"type": "CANCELLING"}}'
Automation Creation
Create from JSON string (inline):
bash
prefect automation create --from-json '{
"name": "notify-on-failure",
"trigger": {
"posture": "Reactive",
"expect": ["prefect.flow-run.Failed"],
"match": {"prefect.resource.id": "prefect.flow-run.*"}
},
"actions": [{"type": "send-notification", ...}]
}'
Or from file:
bash
prefect automation create --from-file automation.yaml
Use get_automations() from the MCP server to inspect existing automation schemas.
Didn't find tool you were looking for?