Read-only MCP server and CLI for Stellar 8004 discovery, declared-evidence ranking, and bounded contract probes.
Strong tool naming (verb-first, clear intent) and comprehensive descriptions (avg 180 chars, well above 10-char minimum). All 13 tools have documented input schemas with typed parameters and descriptions. Output schemas are partially documented via descriptions but lack explicit JSON Schema definitions in source. Error handling is minimal, no recovery guidance or categorization. All tools are read-only (good for safety) but lack idempotent/destructive annotations. Composition is sound: tools chain well (resolve_agent → get_agent_profile) and avoid duplication. No security issues detected (no secrets in params, no write operations). Main gaps: missing explicit output schema documentation and error recovery patterns.
Discover agents via natural-language query against the Stellar 8004 registry, with optional capability filters (x402, mpp, services) and Explorer score threshold.
Retrieve a compact A2A-shaped agent card projection (unverified derived data).
Retrieve indexed feedback/reviews for an agent, with pagination and sanitization of self-declared text.
Retrieve the full profile of a single agent: identity, declared reputation, capabilities, 3-axis rank, and fail-closed reputation-evidence block.
List all agents owned by a given Stellar address.
Check registry health: indexer staleness per contract, freshness warnings, and data availability status.
Retrieve registry-wide statistics: agent count, total feedback, indexer staleness, and network metadata.
Output schemas not explicitly documented in source. Tool descriptions mention return structure (e.g., 'full profile', 'compact card') but lack formal JSON Schema definitions for response fields. LLMs cannot reliably extract nested fields or plan downstream tool calls without explicit output schemas.
No error recovery guidance. Tools lack descriptions of failure modes (e.g., 'agent not found', 'contract unreachable', 'indexer stale'). Error responses will not tell LLMs what to do next or whether to retry.
Tool annotations missing. No readOnlyHint, destructiveHint, or idempotentHint declared in tool definitions. All tools are read-only and idempotent, but this is not formally signaled to clients.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Retrieve the top-ranked agents by the 3-axis scoring model.
List all agents in the Stellar 8004 registry with pagination.
Enumerate self-declared service endpoints for one or more agents, with pagination support.
Rank one or more agents by a 3-axis scoring model (quality/volume/breadth) with optional on-chain reputation verification.
Resolve an agent identifier (ID, stellar:…#id handle, or owner address) to its canonical numeric ID.
Perform on-chain reputation verification via bounded Soroban contract simulation (single client page, fail-closed).
Parameter constraints not fully specified. 'limit' and 'page' parameters lack min/max bounds in descriptions. LLMs may pass unbounded values (e.g., limit=999999) causing performance issues or timeouts.
Pagination not fully documented. Tools like list_agents and list_services accept page/limit but descriptions do not specify total count, next_cursor, or whether results are exhausted. LLMs cannot reliably iterate through large result sets.