MCP stdio server that turns saved nanoodle workflow graphs into callable tools — BYOK or accountless x402 (pay per call in Nano), runs on the NanoGPT API
Single tool 'dynamic_workflow_tools' has critical definition gaps. Tool name lacks action verb (should be 'run_workflow' or 'execute_workflow'). Description is 200+ chars but reads as implementation detail rather than LLM-facing guidance, it explains the internal mechanism (filename sanitization, JSON Schema derivation) instead of WHAT the tool does and WHEN to use it. Input schema is declared as 'dynamically generated' with no visible concrete schema in source, only a generic description. No output schema documented. No error handling guidance. Tool definition appears inferred from nanoodle library integration rather than explicitly registered with MCP schema. Violates pattern:tool (verb naming, clear description), pattern:tool-description (actionable guidance), and pattern:response-shaper (output structure).
Each readable noodle-graph.json across the directories becomes one tool: name = filename minus .json, sanitized to [a-z0-9_-]; description = comment intent + node chain + output contract + last observed cost; inputSchema = JSON Schema built from the workflow's derived inputs; call(args) = wf.run(...) with media args resolved from file paths / URLs
Tool name 'dynamic_workflow_tools' lacks action verb. Should start with verb like 'run_', 'execute_', or 'invoke_' to signal intent to LLM.
Input schema marked 'dynamically generated' with no concrete JSON Schema visible in source code. Cannot verify parameter types, required fields, or constraints.
No output schema documented. LLM cannot predict what fields workflow execution returns (success/failure structure, result format, cost info). Violates pattern:response-shaper.
Description reads as implementation detail ('filename minus .json, sanitized to [a-z0-9_-]') rather than user-facing guidance. Does not answer: What does this tool do? When should I call it? What does it return? Violates pattern:tool-description.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
No error handling guidance. If workflow execution fails (API error, invalid input, timeout), LLM has no recovery path. Missing pattern:recovery-guide.