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 |
|-----------|------|----------|-------------|