MCP Server for executing stateful directed acyclic graph (DAG) workflows with named transformations on shared state dictionaries. Supports node registration, static transitions, and conditional edge routing for multi-step agent workflows.
Single tool 'run_linear_pipeline' has critical definition gaps. Description is present (89 chars, within 10-1024 range) but lacks actionable context: does not explain WHEN to use it, what prerequisites exist, or what the state dictionary structure should be. Input schema present but parameters lack descriptions, 'state' and 'steps' have no guidance on expected format, constraints, or examples. No output schema documented. Tool name 'run_linear_pipeline' is generic and does not follow verb_noun pattern clearly (verb is implicit). No error handling guidance. No parameter validation rules stated. Fails 6 of 7 critical checks in Dimension 1.
Execute a sequential pipeline of named transformations on a shared state dictionary.
Parameters lack descriptions. 'state' and 'steps' have no guidance on format, constraints, or valid values. LLMs cannot infer whether 'steps' is a list of node names, function references, or step IDs.
No output schema documented. Tool returns JSON text in a 'text' content block, but the structure of 'final_state' and expected fields are not specified. LLMs cannot plan downstream calls or extract data reliably.
Tool description (89 chars) lacks WHEN/WHY context. Does not explain prerequisites (e.g., must nodes be pre-registered?), what transformations are applied, or how state mutations work. Incomplete docstring forces LLM to guess.
No error handling guidance. Tool silently mutates state by adding 'executed_<step>' keys. No documentation of failure modes, invalid step names, or recovery paths. LLM has no guidance if a step fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Tool name 'run_linear_pipeline' is vague. Does not clearly signal what action occurs. Verb 'run' is generic (pattern baseline: avoid 'process', 'handle', 'run', 'do'). Better: 'execute_transformation_pipeline' or 'apply_state_transformations'.