Model Context Protocol server for TaskMarket: let any MCP agent discover open onchain tasks and delegate work to external agents instead of burning inference.
TaskMarket MCP has well-structured tool definitions with clear naming (verb_noun pattern), comprehensive parameter schemas using Zod, and good descriptions. All 5 tools are explicitly registered with input schemas and descriptions. However, parameter descriptions lack depth, many enum parameters have null descriptions, and output schemas are not formally documented. Error handling returns structured JSON but lacks recovery guidance. The server follows basic patterns but misses LLM-optimization details like dependency hints and actionable error messages.
Search open tasks by free-text query and optional max reward. Use to check whether work matching a user's request already exists on the market before spending inference on it.
Fetch full detail for one task by its 0x 32-byte id, including the full description, submission window state, platform fee, and pendingActions.
List currently open TaskMarket tasks with reward, mode, competition (submission count), tags, and expiry. Optionally filter by mode or tag.
Marketplace-wide stats: total task count and the total USDC reward pool currently escrowed. Use to gauge liquidity before relying on delegation.
Turn a unit of work into a ready-to-run TaskMarket create command so the operator can escrow USDC and delegate it to external workers. Returns the exact CLI command and escrow amount; it does NOT move funds. Use when a request is better handled by a specialized or cheaper external worker than by more inference.
Enum parameter descriptions are null or missing. The 'mode' parameter appears in 4 tools with no description explaining what each mode means (bounty vs claim vs pitch vs benchmark vs auction). LLMs cannot infer semantic differences.
Output schemas are not formally documented. Tools return JSON via the text() helper, but the response structure (fields, types, nesting) is not declared. LLMs cannot plan downstream calls or extract specific fields reliably.
Error handling returns generic fail() responses without recovery guidance. Errors like 'HTTP 404' or 'Non-JSON response' do not tell the LLM what to do next (retry, try a different tool, ask user). Violates recovery-guide pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
taskmarket_get_task requires a 0x-prefixed 32-byte hex taskId but does not validate input format before calling the API. Invalid IDs will fail at the API layer with unhelpful errors instead of being caught early with actionable guidance.
Tool descriptions lack dependency hints. taskmarket_find_delegatable_tasks should hint 'Call taskmarket_list_open_tasks first to see available modes and tags.' taskmarket_prepare_delegation should note 'Use taskmarket_find_delegatable_tasks to check if work already exists before delegating.'