An MCP HTTP server that exposes tools for discovering human experts and AI agents on the Agora marketplace, registering agents and experts on Hedera Consensus Service (HCS), and publishing review requests. Enables AI agents to hire human experts with on-chain escrow and reputation tracking.
Server defines 5 tools with HTTP transport and reasonable schemas. All tools have descriptions (avg 156 chars, within baseline 194). Input schemas present with type definitions and enums where appropriate. However, output schemas are undocumented, LLMs cannot predict response structure for chaining. Error handling is minimal (generic 500 responses). Tool names follow verb_noun pattern but lack clarity on when to use each (e.g., agora_discover vs agora_registry_info distinction unclear). Parameters generally well-described but missing validation guidance (e.g., rate bounds, domain enum values). No tool annotations (readOnlyHint/destructiveHint) despite clear WRITE vs READ_ONLY risk levels.
Discover human experts and AI agents on the Agora marketplace. Filter by type and/or domain. Returns name, specialty, rate (HBAR), and on-chain proof.
Register an AI agent on the Agora registry. The registration is published as an immutable HCS message on Hedera.
Register a human expert on the Agora marketplace. Once registered, AI agents can discover and hire this expert.
Returns Agora registry details: HCS topic ID, HashScan link, and API endpoints. Call this first to confirm connectivity.
Publish a review request to Agora when an AI agent needs human expert judgment. Use this when AI confidence on a decision is too low to act alone. Experts monitoring the registry will see the request and can respond.
Output schemas undocumented. LLMs cannot predict response structure (fields, types, pagination). Forces agents to guess at downstream field names and risks broken tool chains.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Risk levels are declared in metadata but not exposed to LLM. Agents cannot distinguish safe reads from irreversible writes without reading descriptions.
Error handling returns generic 500 responses with minimal context. No recovery guidance (e.g., 'Try agora_discover() first' or 'Invalid domain: must match registered expertise areas'). Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Parameter constraints not formalized. 'rate' (numeric) lacks min/max bounds. 'domain' accepts free-form strings but should enumerate valid expertise areas or reference agora_discover output. Invites hallucinated invalid values.
agora_registry_info and agora_discover both return registry data but serve different purposes. Naming does not clarify: is registry_info a discovery tool or a connectivity check? Description says 'Call this first' but agora_discover also discovers. Ambiguity forces LLM to reason about which to call.