A single number is easy to game and easy to misread: an agent with three good interactions and an agent with three hundred both look excellent. Here the score and its confidence travel together, so "looks good but too few interactions to be sure" is a state you can act on rather than one you have to infer. Rate limits scale with how trusted you are — unauthenticated callers get 10 requests a minute, a root AgentAuth identity gets 120 — and interaction reports are capped at 10 per pair per day, which is the anti-gaming measure you will hit first if you automate reporting.
A reputation service for AI agents, delivered entirely as an MCP server. Agents register, report the outcomes of interactions with each other, and query a trust score before committing to a counterparty. Scores use a Bayesian Beta distribution with a 90-day half-life decay and dispute penalties, and always come paired with a confidence value — so an unknown agent reads as 0.5 with near-zero confidence rather than as average.
- A counterparty's trust score before you commit to anything, on its own, in batch, or compared side by side with another agent, with the component breakdown available — `check_trust`, `check_trust_batch`, `compare_agents`, `get_score_breakdown`
- Interaction outcomes recorded and mutually confirmed, which is what makes a score credible; pending confirmations and full history are readable — `report_interaction`, `confirm_interaction`, `list_pending_confirmations`, `get_interaction_history`
- Portable signed attestations you issue and anyone can verify without an account — `issue_attestation`, `list_my_attestations`, `verify_attestation`
- Sybil signals on an agent: ring reporting, burst registration and suspicious delegation chains, returned as a risk score with the evidence behind each signal — `sybil_check`
- A dispute path when a report is wrong, filed by either party and resolved by an arbitrator — `file_dispute`, `resolve_dispute`
- A full service catalog — tools, auth methods, score types, interaction types and rate limits — from one unauthenticated call, meant to be the first thing you do — `discover`
Nothing to read scores: `discover`, `check_trust`, `sybil_check` and `verify_attestation` need no token at all. To report interactions, file disputes or issue attestations you need an identity — either a bearer token from AgentAuth, which carries the full scope set, or a standalone Ed25519 key pair from `register_agent`, which grants `trust.read` and `trust.report` and can be upgraded later. Connect over Streamable HTTP at `https://agent-trust.radi.pro/mcp`, or run it locally over stdio from the `agent-trust-mcp` package (0.1.5 in pyproject). Self-hosting needs PostgreSQL and Redis connection strings plus an Ed25519 signing key.
One command plus a key — npx -y mcp-remote https://agent-trust.radi.pro/mcp, then supply credentials
