AgentTrust
MCP Server for Agent Reputation & Trust Scoring
★ 0NOASSERTIONother
Install
Config snippet generator goes here (5 client tabs)
README
# AgentTrust
Reputation and trust scoring service for AI agents, exposed entirely as an [MCP](https://modelcontextprotocol.io/) server. Evaluate counterparties before transacting, report interaction outcomes, issue portable trust certificates, and detect Sybil attacks.
<!-- mcp-name: io.github.raditotev/agent-trust -->
## Table of Contents
- [Quickstart](#quickstart)
- [Connecting to the MCP Server](#connecting-to-the-mcp-server)
- [Authentication](#authentication)
- [Tools Reference](#tools-reference)
- [Discovery](#discovery)
- [Agent Management](#agent-management)
- [`register_agent`](#register_agent)
- [`generate_agent_token`](#generate_agent_token)
- [`whoami`](#whoami)
- [`agent_status`](#agent_status)
- [`get_agent_profile`](#get_agent_profile)
- [`search_agents`](#search_agents)
- [`link_agentauth`](#link_agentauth)
- [`verify_link_proof`](#verify_link_proof)
- [Trust Scoring](#trust-scoring)
- [Interaction Reporting](#interaction-reporting)
- [Disputes](#disputes)
- [Attestations](#attestations)
- [`issue_attestation`](#issue_attestation)
- [`list_my_attestations`](#list_my_attestations)
- [`verify_attestation`](#verify_attestation)
- [Sybil Detection](#sybil-detection)
- [Resources](#resources)
- [Prompts](#prompts)
- [Score Types](#score-types)
- [Rate Limits](#rate-limits)
- [Self-Hosting](#self-hosting)
---
## Quickstart
### 1. Connect to the MCP server
Add AgentTrust to your MCP client configuration:
```json
{
"mcpServers": {
"agent-trust": {
"url": "https://agent-trust.radi.pro/mcp"
}
}
}
```
Or for local development via stdio:
```json
{
"mcpServers": {
"agent-trust": {
"command": "uv",
"args": ["run", "python", "-m", "agent_trust.server"]
}
}
}
```
### 2. Register your agent
```
register_agent(display_name="my-agent", capabilities=["search", "summarize"])
```
Response:
```json
{
"agent_id": "550e8400-e29b-41d4-a716-446655440000",
"source": "standalone",
"scopes": ["trust.read", "trust.report"],
"created": true,
"public_key_hex": "a1b2c3...",
"private_key_hex": "d4e5f6...",
"warning": "Key pair auto-generated. Store private_key_hex securely."
}
```
**Store the `private_key_hex` immediately** -- it is shown only once.
### 3. Generate an access token
```
generate_agent_token(
agent_id="550e8400-...",
private_key_hex="d4e5f6..."
)
```
Response:
```json
{
"access_token": "eyJ...",
"expires_at": "2026-03-20T13:00:00+00:00",
"ttl_minutes": 60,
"agent_id": "550e8400-..."
}
```
### 4. Check trust before transacting
```
check_trust(agent_id="counterparty-uuid")
```
### 5. Report interaction outcomes
```
report_interaction(
counterparty_id="counterparty-uuid",
interaction_type="transaction",
outcome="success",
access_token="eyJ..."
)
```
Both parties should report for mutual confirmation (higher credibility).
---
## Connecting to the MCP Server
AgentTrust supports two MCP transports:
| Transport | Use case | Endpoint |
|-----------|----------|----------|
| **Streamable HTTP** | Remote agents, production | `https://agent-trust.radi.pro/mcp` |
| **stdio** | Local development, MCP Inspector | `uv run python -m agent_trust.server` |
---
## Authentication
AgentTrust supports two authentication methods. Many tools work without authentication, but reporting interactions, filing disputes, and issuing attestations require it.
### AgentAuth (preferred)
Obtain a bearer token from [AgentAuth](https://agentauth.radi.pro) and pass it as `access_token`. This provides the full set of scopes:
| Scope | Grants |
|-------|--------|
| `trust.read` | Score breakdowns, pending confirmations |
| `trust.report` | Report and confirm interactions |
| `trust.dispute.file` | File disputes |
| `trust.dispute.resolve` | Resolve disputes (arbitrators) |
| `trust.attest.issue` | Issue signed attestations |
| `trust.admin` | Alert subscriptions |
### Standalone (Ed25519)
Register with `register_agent` and generate tokens with `generate_agent_token`. Provides `trust.read` and `trust.report` scopes. You can upgrade to AgentAuth later via `link_agentauth`.
### No authentication
Tools marked as "Auth: none" work without any token. Useful for checking trust scores and verifying attestations.
---
## Tools Reference
### Discovery
#### `discover`
**Auth:** none
Returns the complete service catalog: available tools, auth methods, score types, interaction types, rate limits, and a quickstart guide. Call this first when connecting.
```
discover()
```
---
### Agent Management
#### `register_agent`
**Auth:** none
Register a new agent in the trust network. Three paths:
1. **AgentAuth** -- pass `access_token` from AgentAuth
2. **Standalone** -- pass your own `public_key_hex` (hex-encoded Ed25519 public key)
3. **Auto-generate** -- omit both to get a keypair generated for you
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|