MCP server providing full programmatic control over Gumloop — Jaden Garza's automation platform. Use it to list, run, monitor, and kill Gumloop pipelines and AI agents, upload/download files, and inspect run history.
Server has 10 well-named tools with clear verb-noun patterns (list_, get_, find_, start_, run_, kill_). Descriptions are present and reasonably detailed (avg ~150 chars), exceeding the 10-char minimum. However, critical gaps exist: (1) Input schemas are incomplete, most tools lack formal JSON Schema with type/description pairs for parameters; (2) Output schemas are entirely undocumented, LLMs cannot predict response structure; (3) Error handling is generic (_safe wrapper returns {error, detail} but no recovery guidance); (4) No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Tools like gumloop_run_flow_blocking and gumloop_kill_flow are destructive but lack confirmation patterns. Parameter descriptions exist but are often vague (e.g., 'JSON string of inputs list' without format constraints). Naming is strong; descriptions are adequate; schemas and error handling are weak.
Find a flow's saved_item_id by partial name match (case-insensitive). Useful when you know the flow name but not its ID.
Find a workbook's workbook_id by partial name match (case-insensitive). Useful when you know the workbook name but not its ID.
Get the required input schema for a specific flow before running it. Returns a list of input definitions: name, data_type, description, required. Always call this before gumloop_run_flow to know what pipeline_inputs to pass.
Get the run history for all flows in a workbook (up to 10 most recent runs per flow). Returns a dict mapping saved_item_id -> list of run records. Each run record includes: run_id, state, created_ts, finished_ts, credit_cost, outputs.
Get the current status and full details of a pipeline run. Returns: run_id, state, inputs, outputs, log, credit_cost, created_ts, finished_ts. States: RUNNING → DONE | FAILED | TERMINATED
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, nesting) for any tool. Responses are inferred from API calls, not declared.
Destructive tools (gumloop_run_flow_blocking, gumloop_kill_flow) lack confirmation/dry-run patterns. No tool annotations (destructiveHint) to warn LLMs of irreversible side effects.
Parameter descriptions lack format constraints. 'pipeline_inputs' is described as 'JSON string' but no regex pattern, length limit, or example structure provided. LLMs cannot validate input format.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Terminate a currently running pipeline. Returns {success: bool, run_id: str}. Use this to stop a runaway or long-running flow.
List all saved flows (pipelines) in the Gumloop workspace. Returns a list of flows with their saved_item_id, name, and metadata. Use saved_item_id to run or inspect a specific flow.
List all workbooks and their embedded flows. Returns workbook_id, name, description, and the list of saved flows inside each. Use workbook_id for run history queries.
Run a Gumloop pipeline and BLOCK until it completes. Returns the final state with outputs. Best for short-running flows (<5 min). For long flows, use gumloop_start_flow instead.
Start a Gumloop pipeline run asynchronously. Returns immediately with run_id and URL. Use gumloop_get_run_status to poll for completion.
Error handling is generic. _safe() wrapper returns {error: true, detail: str} with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
No tool annotations. Tools lack readOnlyHint (for safe discovery tools) and destructiveHint (for kill_flow). Agents cannot distinguish safe from risky operations without reading descriptions.