MCP server for the Hive Dispute Observer. Surfaces real arbitration signals from public sources (Kleros, UMA Optimistic Oracle, Reality.eth) and on-chain reversal patterns. Hive does NOT arbitrate, judge, freeze funds, or enforce dispute outcomes. Real rails. No mock data.
Four tools with complete input schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools are read-only observational services with clear disclaimers. Naming follows verb_noun pattern (dispute_check, dispute_providers, dispute_route, dispute_today). Descriptions are substantive (120-180 chars) and explain observational nature. However, parameter descriptions lack detail on formats, constraints, and valid values. Output schemas are not documented, LLMs cannot predict response structure. No error handling guidance or recovery paths. Tool composition is sound (each does one thing), but parameter validation rules are absent.
Given a counterparty address + chain, return public dispute history, active arbitration cases, and on-chain reversal-pattern flags. Sources: Kleros / UMA / Reality.eth subgraphs (with direct on-chain RPC fallback) plus Etherscan-family transaction scans. Observational only — Hive does NOT judge, freeze, or enforce.
List available third-party arbitration protocols (Kleros, UMA Optimistic Oracle, Reality.eth) with current case load, intake URLs, and jurisdiction model. Hive is not one of them — Hive only surfaces signal.
Given a case description, disputed amount in USD, and optional jurisdiction preference, return ranked arbitration provider options. NO automatic filing — Hive returns options + intake URLs only. The disputing party files directly with the chosen provider.
24-hour rollup: flagged-counterparty count + top arbitration providers by active case load. Used to surface whether dispute pressure is rising or falling across the public arbitration ecosystem.
Output schemas not documented. LLMs cannot predict response structure or plan downstream calls. Tools return JSON.stringify() of backend responses without schema definition.
Parameter 'chain' in dispute_check lacks enum constraint. Description says 'ethereum | base | arbitrum' but no formal enum in schema. LLMs may hallucinate invalid chains.
Parameter 'description' in dispute_route states 'max 2000 chars' in description but no maxLength in schema. Validation happens server-side; LLM has no constraint to guide input length.
No error handling guidance. Tools return raw backend JSON or HTTP status codes without recovery hints. LLM cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Parameter 'jurisdiction' in dispute_route lacks enum. Description suggests examples ('decentralized', 'optimistic', 'crowdsourced') but no formal constraint. LLM may invent invalid values.