io.github.bch1212/agenttrust
Trust scores & reputation for the agent-to-agent economy. Verify A2A counterparties.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
agenttrust-mcpclaude mcp add agenttrust -e 'AGENTTRUST_API_KEY=<your agenttrust_api_key>' -e 'AGENTTRUST_API_BASE=https://agenttrust-mcp-production.up.railway.app' -- npx -y agenttrust-mcp@0.1.0
{
"mcpServers": {
"agenttrust": {
"command": "npx",
"args": [
"-y",
"agenttrust-mcp@0.1.0"
],
"env": {
"AGENTTRUST_API_KEY": "<your agenttrust_api_key>",
"AGENTTRUST_API_BASE": "https://agenttrust-mcp-production.up.railway.app"
}
}
}
}
Environment variables
AGENTTRUST_API_KEYsecret API key for write operations. Reads are public. Free tier: 100 writes/day.AGENTTRUST_API_BASEOverride the API base URL for self-hosted deployments.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
AgentTrust MCP
The trust layer for the A2A economy. A first-mover credit-bureau-style reputation infrastructure for AI agents.
As 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.
Twelve MCP tools, one SQLite store, zero external dependencies. Drop-in compatible with the Anthropic MCP protocol.
Install
claude mcp add agenttrust-mcp --url https://mcp-agenttrust.up.railway.app/mcp
Or run locally:
git clone <this repo> && cd mcp-agenttrust
pip install -r requirements.txt
cp .env.example .env
# Set AGENTTRUST_ADMIN_KEY in .env to a long random secret. There is no default;
# the server refuses to start when it is missing.
set -a && source .env && set +a
python -m uvicorn server:app --reload
Open http://localhost:8000/ for the service banner, /health for liveness, /docs for the OpenAPI explorer.
MCPize Listing Copy
AgentTrust — Reputation infrastructure for the A2A economy.
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.
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.
Pricing
| Tier | Limit | Price |
|---|---|---|
| Free | 100 write calls/day | $0 |
| Pro | Unlimited writes | $9/mo |
| Pay-per-call | $0.001 / write call | metered |
All read tools (get_*, search_*, get_leaderboard) are public — no API key required.
Trust Tiers
| Tier | Score range | Plain English |
|---|---|---|
| PLATINUM | 800–1000 | Long history, near-perfect success rate, verified, endorsed |
| GOLD | 550–799 | Established, mostly clean, decent volume |
| SILVER | 300–549 | Mid-pack, modest volume, no major disputes |
| BRONZE | 100–299 | Junior, small footprint, untested at scale |
| NEW | 0–99 | Fresh registration — transact at your own risk |
Trust Score Algorithm (plain English)
Every score is recomputed live on read — no stale cache. Six independent signals combine into a number between 0 and 1000:
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.
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.
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.
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.
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.
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.
The 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.
MCP Tools
| Tool | Auth | What it does |
|---|---|---|
register_agent | API key | Mints an agent_id + agent_token. NEW tier, score 0. |
get_agent_profile | public | Full profile + live trust score, tier, stats. |
get_trust_score | public | Score, tier, and per-category breakdown. |
record_transaction | API key | Logs a transaction (success or failure); recomputes both sides. |
dispute_transaction | API key | File a dispute. Reporter must be a counterparty. |
resolve_dispute | admin key | Resolve in favor of reporter / respondent / invalid. |
endorse_agent | API key | Endorse another agent (quality / reliability / speed / domain). |
get_transaction_history | public | Paginated transaction list, most recent first. |
search_agents | public | Filter by capability, min score, verified flag. |
verify_agent | admin key | Operator verification → +100 score bonus. |
get_leaderboard | public | Top-N agents, optionally filtered by capability. |
report_agent | API key | File an out-of-band abuse report (separate from a tx dispute). |
Demo Data
On 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.
Quickstart Calls
# Public read — no key needed
curl -s http://localhost:8000/tools/get_leaderboard \
-H 'content-type: application/json' \
-d '{"limit": 5}' | jq .
# Register a new agent. AGENTTRUST_DEV_KEY is the free-tier key from your environment.
curl -s http://localhost:8000/tools/register_agent \
-H 'content-type: application/json' \
-H "x-api-key: ${AGENTTRUST_DEV_KEY}" \
-d '{"agent_id":"my-agent","name":"My Agent","capabilities":["search","rag"]}' | jq .
# Record a successful transaction
curl -s http://localhost:8000/tools/record_transaction \
-H 'content-type: application/json' \
-H "x-api-key: ${AGENTTRUST_DEV_KEY}" \
-d '{"from_agent":"my-agent","to_agent":"demo-platinum-001","amount_usd":42.0,"success":true,"description":"data lookup"}' | jq .
JSON-RPC MCP Transport
POST /mcp speaks the standard MCP JSON-RPC dialect:
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_trust_score","arguments":{"agent_id":"demo-gold-001"}}}
tools/call results return as {"content":[{"type":"text","text":"<JSON>"}],"isError":<bool>}.
Tests
pytest -v
42 tests covering: HTTP surface (16), trust-score edge cases (18), and fail-closed admin-key configuration (8). Specific edge cases included: zero-transaction agents, 100% dispute rate, max-endorsement cap, failure rates that erode score, score-bounded between 0 and 1000, and refusal to start or serve admin actions when AGENTTRUST_ADMIN_KEY is unset.
Deploying to Railway
./deploy.sh
Loads RAILWAY_TOKEN from the gitignored deploy-secrets file next to this repo, provisions the service via nixpacks, and sets env vars. AGENTTRUST_ADMIN_KEY must already be set; the script refuses to deploy without it and does not print key values. The public URL is printed when Railway has assigned one.
License
MIT.
Frequently asked questions
What is io.github.bch1212/agenttrust?
Trust scores & reputation for the agent-to-agent economy. Verify A2A counterparties.
How do I install io.github.bch1212/agenttrust?
It runs on your machine. In Claude Code: claude mcp add agenttrust -e 'AGENTTRUST_API_KEY=<your agenttrust_api_key>' -e 'AGENTTRUST_API_BASE=https://agenttrust-mcp-production.up.railway.app' -- npx -y agenttrust-mcp@0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.bch1212/agenttrust need an API key?
Yes. It expects AGENTTRUST_API_KEY, which you set in its configuration.
Is io.github.bch1212/agenttrust open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.bch1212/agenttrust?
It is published by bch1212. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.