Model Context Protocol server for the AGON prediction market execution layer. Exposes market data, trade routing, and oracle tools for AI agents via MCP-compatible HTTP endpoints with x402 micro-payment billing.
Two tools with complete input schemas and descriptions, but descriptions are generic and lack LLM-optimized guidance. Both tools are READ_ONLY with proper pagination support (offset/limit/default). Naming follows verb_noun pattern (list_markets, get_market). However, descriptions lack context on WHEN to use each tool, what distinguishes them, or recovery guidance. Parameter descriptions are adequate but minimal. No output schema documentation visible. No error handling guidance. Baseline: avg tool description ~194 chars; these are ~150 chars, acceptable but generic.
Query a single market by its on-chain ID. In mock mode, returns synthetic market data. In production (M9+), queries on-chain state or indexer database.
Query open/resolved markets with pagination. In mock mode, returns synthetic market data. In production (M9+), queries the AGON indexer database.
No output schema documentation. LLMs cannot plan downstream calls or extract required fields (e.g., market_id for chaining). Baseline: 100% of A+ tools document return types.
Descriptions lack WHEN-to-use guidance. Both tools query markets but descriptions don't explain when to call list_markets vs get_market. LLMs conflate similar tools without explicit disambiguation.
No error handling guidance. Descriptions mention 'mock mode' and 'production (M9+)' but don't explain what happens on failure (market not found, indexer unavailable, invalid status code). No recovery hints.
Parameter descriptions are minimal. 'Market status filter (0=OPEN, 1=PROPOSED_YES, ...)' lists enum values but doesn't explain what each status means semantically or when to filter by each. LLMs must infer intent.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
No idempotency or side-effect documentation. Both tools are READ_ONLY (correct), but descriptions don't explicitly state this. Agents need to know which calls are safe to retry.