MCP server that dispatches physical-world tasks to humans through a unified API
Strong tool definitions with comprehensive schemas and clear descriptions. All 10 tools have explicit input schemas with typed parameters and descriptions. Tool names follow verb_noun convention (dispatch, status, cancel, list, register, etc.). Most descriptions are 50-200 chars, meeting LLM-optimization baselines. However, some parameter descriptions lack constraint details (e.g., 'radius_km' max 20000 not stated in description, only in schema). Output schemas are not documented, LLMs cannot infer response structure. Error handling guidance is absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata.
List available backend services and their capabilities
Cancel a pending or in-progress task
Get details about a specific registered provider
List tasks with optional filtering and pagination
List registered webhook providers with optional filtering
Register a new webhook provider to receive dispatched tasks
Remove a registered provider from the system
Output schemas not documented. LLMs cannot infer response structure for any tool. Responses must include task_id, status, timestamps, proof_urls, etc., but these are not declared in tool definitions.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. human_dispatch_task is WRITE, human_dispatch_remove_provider is DESTRUCTIVE, these should be annotated to guide agent planning.
Parameter constraint details missing from descriptions. 'radius_km' has max 20000 in schema but not stated in description. 'max_usd' has max 1,000,000 in schema but description omits this. LLMs cannot read JSON Schema, they rely on description text.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Enable or disable a registered provider
Get the current status of a dispatched task
Dispatch a task to be completed by a human worker through the configured backend providers
No error handling guidance. Tools lack recovery hints (e.g., 'If task not found, call human_dispatch_list to discover valid task_ids'). Agents cannot self-correct on failures.
Pagination not documented for list tools. human_dispatch_list accepts limit/offset but does not document total count or next_cursor in response. LLMs cannot determine if more results exist.