Client SDK for classifying task payloads and routing execution targets to specialty agent sub-nodes
This MCP server exposes a single tool, dispatch_task, with significant structural and documentation gaps. The tool has a basic input schema with some type information, but lacks proper descriptions for parameters, no output schema documentation, and no error handling guidance. The naming is acceptable (dispatch_task is verb-noun), but the parameter descriptions are minimal and the tool's purpose relative to other orchestration patterns is unclear. The mock implementation suggests this is a proof-of-concept rather than production-grade code. Overall, this server falls in the F-D range due to missing parameter descriptions, absent output schema documentation, and lack of error guidance.
Classifies incoming tasks and routes them to matched agents.
Parameter 'task' has no description beyond type annotation; LLM cannot infer what format or content is expected
Parameter 'registry' array items lack individual descriptions for agent_id and specialty fields; LLM must guess field semantics
No output schema documented; tool returns a dict with 'dispatch_route' key containing 'target_agent_id', 'confidence', 'routing_reason', but this is not declared in any schema artifact
No error handling or recovery guidance; if dispatch fails to match a task to an agent, returns fallback with confidence 0.5, but no indication of when/why fallback occurs or what LLM should do next
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Tool description is generic ('Classifies incoming tasks and routes them to matched agents') and does not explain when to use it, what classification algorithm is employed, or how confidence is calculated
Heuristic matching algorithm is opaque: splits specialty on whitespace and counts word overlaps, but this is implementation detail not exposed in the description; LLM cannot predict when dispatch will succeed
No input validation or constraints; 'task' is unbounded string, 'registry' could be empty or contain malformed agents