{
  "markdown": "# AgentTrust MCP\n\n> **The trust layer for the A2A economy.**\n> A first-mover credit-bureau-style reputation infrastructure for AI agents.\n\nAs agent-to-agent commerce scales toward $450B by 2028, agents need a way to verify counterparties before transacting — payments, data brokerage, scraping, research, anything paid. AgentTrust gives every agent a portable identity, a 0–1000 trust score, an immutable transaction history, and peer endorsements. Other agents query it; humans verify it; disputes erode it.\n\nTwelve MCP tools, one SQLite store, zero external dependencies. Drop-in compatible with the Anthropic MCP protocol.\n\n---\n\n## Install\n\n```bash\nclaude mcp add agenttrust-mcp --url https://mcp-agenttrust.up.railway.app/mcp\n```\n\nOr run locally:\n\n```bash\ngit clone <this repo> && cd mcp-agenttrust\npip install -r requirements.txt\npython -m uvicorn server:app --reload\n```\n\nOpen [http://localhost:8000/](http://localhost:8000/) for the service banner, [/health](http://localhost:8000/health) for liveness, [/docs](http://localhost:8000/docs) for the OpenAPI explorer.\n\n---\n\n## MCPize Listing Copy\n\n> **AgentTrust — Reputation infrastructure for the A2A economy.**\n>\n> Before your agent wires money, hands over data, or accepts a job from another agent, ask AgentTrust who they're dealing with. Every counterparty gets a 0–1000 trust score that combines transaction history, success rate, account age, peer endorsements, and dispute record — recomputed live. Free for read calls; $9/mo unlimited writes.\n>\n> First-mover infrastructure for a $450B market: as A2A commerce scales, every agent needs a counterparty-check tool. Twelve MCP tools cover the full lifecycle — register, transact, dispute, endorse, verify, search, and rank. SQLite-backed, async, deployable in one click on Railway. Built for agents that need to *know* before they trust.\n\n---\n\n## Pricing\n\n| Tier | Limit | Price |\n|------|---------------------|----------|\n| Free | 100 write calls/day | $0 |\n| Pro  | Unlimited writes    | **$9/mo** |\n| Pay-per-call | $0.001 / write call | metered |\n\nAll read tools (`get_*`, `search_*`, `get_leaderboard`) are public — no API key required.\n\n---\n\n## Trust Tiers\n\n| Tier      | Score range | Plain English |\n|-----------|-------------|---------------|\n| PLATINUM  | 800–1000    | Long history, near-perfect success rate, verified, endorsed |\n| GOLD      | 550–799     | Established, mostly clean, decent volume |\n| SILVER    | 300–549     | Mid-pack, modest volume, no major disputes |\n| BRONZE    | 100–299     | Junior, small footprint, untested at scale |\n| NEW       | 0–99        | Fresh registration — transact at your own risk |\n\n---\n\n## Trust Score Algorithm (plain English)\n\nEvery score is recomputed live on read — no stale cache. Six independent signals combine into a number between 0 and 1000:\n\n**Volume (0–200, log scale).** A first transaction is worth ~12 points; ten transactions ~40; a hundred ~80; a thousand caps at 200. We use a log curve so high-volume agents don't dwarf legitimate small ones — being active matters, but not exponentially.\n\n**Success rate (0–400, the heaviest signal).** The percentage of transactions marked successful, multiplied by 400. A 99% success rate is worth 396 points; a 50% rate is only 200. This is the single most important factor — agents that ship reliably climb fastest.\n\n**Age (0–100, capped at one year).** Each day since registration adds about a quarter of a point, maxing out at 365 days. Not a huge factor, but real: a one-day-old agent with five great transactions is still less trustworthy than a one-year-old agent with the same record.\n\n**Endorsements (0–200).** Every peer endorsement (quality / reliability / speed / domain expertise) is worth 10 points, capped at 200. This is the social signal — other agents and operators vouching for this one.\n\n**Disputes (unbounded penalty).** Each upheld dispute against the agent removes 30 points, with no floor below zero. A bad actor can score 1000 from the other categories and still bottom out at 0 from disputes alone.\n\n**Verification bonus (+100).** A one-time bump when an operator verifies the agent (DNS proof, KYC, or platform-specific check). It's worth roughly the same as 10 endorsements — meaningful, not decisive.\n\nThe score then clamps to [0, 1000] and maps to a tier. Recompute happens on every transaction, endorsement, dispute resolution, and verification — so the score is never more than one event behind reality.\n\n---\n\n## MCP Tools\n\n| Tool | Auth | What it does |\n|------|------|---------------|\n| `register_agent` | API key | Mints an agent_id + agent_token. NEW tier, score 0. |\n| `get_agent_profile` | public | Full profile + live trust score, tier, stats. |\n| `get_trust_score` | public | Score, tier, and per-category breakdown. |\n| `record_transaction` | API key | Logs a transaction (success or failure); recomputes both sides. |\n| `dispute_transaction` | API key | File a dispute. Reporter must be a counterparty. |\n| `resolve_dispute` | admin key | Resolve in favor of reporter / respondent / invalid. |\n| `endorse_agent` | API key | Endorse another agent (quality / reliability / speed / domain). |\n| `get_transaction_history` | public | Paginated transaction list, most recent first. |\n| `search_agents` | public | Filter by capability, min score, verified flag. |\n| `verify_agent` | admin key | Operator verification → +100 score bonus. |\n| `get_leaderboard` | public | Top-N agents, optionally filtered by capability. |\n| `report_agent` | API key | File an out-of-band abuse report (separate from a tx dispute). |\n\n---\n\n## Demo Data\n\nOn startup, five seed agents land in the DB at different tiers — `demo-platinum-001` (AlphaAgent), `demo-gold-001` (BetaAgent), `demo-silver-001` (GammaAgent), `demo-bronze-001` (DeltaAgent), `demo-new-001` (EpsilonAgent). Use them for quickstart demos.\n\n---\n\n## Quickstart Calls\n\n```bash\n# Public read — no key needed\ncurl -s http://localhost:8000/tools/get_leaderboard \\\n  -H 'content-type: application/json' \\\n  -d '{\"limit\": 5}' | jq .\n\n# Register a new agent\ncurl -s http://localhost:8000/tools/register_agent \\\n  -H 'content-type: application/json' \\\n  -H 'x-api-key: agenttrust-dev-key-001' \\\n  -d '{\"agent_id\":\"my-agent\",\"name\":\"My Agent\",\"capabilities\":[\"search\",\"rag\"]}' | jq .\n\n# Record a successful transaction\ncurl -s http://localhost:8000/tools/record_transaction \\\n  -H 'content-type: application/json' \\\n  -H 'x-api-key: agenttrust-dev-key-001' \\\n  -d '{\"from_agent\":\"my-agent\",\"to_agent\":\"demo-platinum-001\",\"amount_usd\":42.0,\"success\":true,\"description\":\"data lookup\"}' | jq .\n```\n\n---\n\n## JSON-RPC MCP Transport\n\n`POST /mcp` speaks the standard MCP JSON-RPC dialect:\n\n```json\n{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}\n{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"get_trust_score\",\"arguments\":{\"agent_id\":\"demo-gold-001\"}}}\n```\n\n`tools/call` results return as `{\"content\":[{\"type\":\"text\",\"text\":\"<JSON>\"}],\"isError\":<bool>}`.\n\n---\n\n## Tests\n\n```bash\npytest -v\n```\n\n34 tests covering: HTTP surface (16), trust-score edge cases (18). Specific edge cases included: zero-transaction agents, 100% dispute rate, max-endorsement cap, failure rates that erode score, score-bounded between 0 and 1000.\n\n---\n\n## Deploying to Railway\n\n```bash\n./deploy.sh\n```\n\nReads the project's `RAILWAY_TOKEN` from `~/Projects/agentic-builds/Build Prompts from OpenClaw/.deploy-secrets.env`, provisions the service via nixpacks, sets env vars, and prints the public URL.\n\n---\n\n## License\n\nMIT.\n",
  "bytes": 7502,
  "sha": "f28e5415b6a7e540e7a60ab68be26af62fbdeda8336e32442500106f66e1b524",
  "repo_slug": "bch1212/agenttrust-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_bch1212_agenttrust_9f4e2275/readme"
}