MCP server for AgentTrust — trust scores & reputation for the agent-to-agent economy.
AgentTrust MCP has 12 tools with complete input schemas and descriptions, but quality is uneven. Naming is verb-forward and clear (register_agent, get_trust_score, record_transaction). Descriptions are present but brief (avg ~80 chars, below the 194-char baseline). Critical gaps: no output schemas documented, no error recovery guidance, no parameter constraints (enums missing for endorsement_type and verification_type despite fixed valid values), and no indication of idempotency or side effects. The server exposes write tools requiring API keys but lacks permission/scope declarations. STDIO transport caps protocol readiness at 50, further limiting production viability.
File a dispute on a transaction. Reporter must be a counterparty (from_agent or to_agent).
Endorse another agent in one of four categories: quality, reliability, speed, domain. Each endorsement adds 10 points (cap 200).
Public read. Returns full profile + recomputed trust score, tier, and stats for the named agent.
Public read. Top-N agents by trust score, optionally filtered by capability category.
Public read. Paginated transaction list for an agent, most recent first.
Public read. Returns trust score (0–1000), tier (PLATINUM/GOLD/SILVER/BRONZE/NEW), and category breakdown.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., agent_token from register_agent, trust_score structure from get_trust_score). Every tool response is opaque.
Missing enum constraints on fixed-value parameters. endorsement_type accepts [quality, reliability, speed, domain] and verification_type accepts [DNS, KYC, platform], these should be declared as enums in the schema, not just in descriptions. LLMs will hallucinate invalid values.
No error recovery guidance. Tools return errors (e.g., 'Agent not found', 'Insufficient permissions') but do not tell the LLM what to do next. Should include hints like 'Try search_agents() first' or 'Verify the agent_id is registered'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Record an A2A transaction (success or failure). Recomputes both sides' trust scores. Both parties must already be registered.
Register a new agent with a UUID, name, and capability declaration. Returns an agent_token. Required for write tools.
File an out-of-band abuse report (separate from a transaction dispute).
Admin-only. Resolve an open dispute. Outcome ∈ {reporter, respondent, invalid}.
Public read. Search agents by capability filter, minimum trust score, or verified flag. Ranked by score desc.
Admin-only. Operator-verifies an agent (DNS, KYC, or platform check). +100 bonus to trust score.
No idempotency or side-effect declarations. Tools like record_transaction and endorse_agent mutate state but lack documentation of whether they are idempotent or what happens on retry. Agents need this to decide retry strategy.
Descriptions are too brief (avg ~80 chars vs. 194-char baseline). Most lack context on WHEN to use the tool or what it returns. E.g., 'Public read. Returns trust score (0 - 1000), tier (PLATINUM/GOLD/SILVER/BRONZE/NEW), and category breakdown.' is terse; should explain when to call it vs. get_agent_profile.