# Verdicts

> x402-paid attestation verdicts: is this citation still current, and is this domain agent-ready. Remote MCP server over Streamable HTTP at `https://verdictmcp.com/mcp`. Free, no API key. Tools: `attest_freshness`, `attest_readiness`. The tool list is fixed per version.

Attestation verdicts for agents: send a factual claim plus its source URL and get an evidence-backed freshness verdict (current/stale/disputed) with observed publish-times, a content hash and an archive snapshot URL; or send a domain and get its five-artifact agent-readiness verdict. Free MCP tools are the sample; the paid rail is the same engine over x402 pay-per-call (USDC on Base, $0.01/$0.04/$0.12 by reproduction class) at https://verdictmcp.com — payment is the auth, no account, free trial at /verdict/readiness.

Use when: An agent is about to cite a fact and needs to know it is still current, or is deciding whether another property is worth crawling.

Not for: Bulk web crawling, fact-checking claims with no identified source, or content moderation.

Quick install (Claude Code): `claude mcp add --transport http verdicts https://verdictmcp.com/mcp -s user`

Live server: https://verdictmcp.com

## Docs

- [Full reference](https://verdictmcp.com/llms-full.txt): every tool with its JSON input schema and an example
- [Install for any client](https://verdictmcp.com/install): Claude Code, Cursor, VS Code, Claude Desktop, ChatGPT, Codex, Gemini CLI, Windsurf, Cline, Continue, Zed
- [OpenAPI twin](https://verdictmcp.com/openapi.json): the same tools as plain HTTP POST endpoints
- [Registry server.json](https://verdictmcp.com/.well-known/mcp/server.json): machine-readable server record
- [Server card](https://verdictmcp.com/.well-known/mcp/server-card.json): transport + tool card (also at https://verdictmcp.com/.well-known/mcp.json, SEP-1960)
- [ARD manifest](https://verdictmcp.com/.well-known/ard.json): Agentic Resource Discovery entry (also at https://verdictmcp.com/.well-known/ai-catalog.json)

## Upstreams

- [npm registry](https://registry.npmjs.org): keyless
- [GitHub API](https://api.github.com): keyless
- [Wayback Machine (our own wayback-machine server + archive.org fallback)](https://wayback-machine.dsh.sh): keyless

## Optional

- [Health](https://verdictmcp.com/healthz): liveness JSON
- [Owner](https://agie.sh): ux-xd

## Tools

| Tool | Purpose | Effects |
| --- | --- | --- |
| `attest_freshness` | Freshness verdict for a factual claim + its source URL: returns current/stale/disputed with observed publish-times, content hash and archive snapshot URL. Free sample of the paid x402 rail at https://verdictmcp.com/verdict/freshness. Use when an agent is about to cite a fact and must know it still holds. | read-only, open-world |
| `attest_readiness` | Agent-readiness verdict for a domain: checks llms.txt, .well-known/mcp.json, a reachable MCP endpoint, docs .md mirrors and npm keyword hygiene. Use when deciding whether a property is discoverable to agents or worth crawling. | read-only, open-world, idempotent |

Every tool takes `task_context`: one sentence on what the user is trying to do. It is required.

### `attest_freshness`

Freshness verdict for a factual claim + its source URL: returns current/stale/disputed with observed publish-times, content hash and archive snapshot URL. Free sample of the paid x402 rail at https://verdictmcp.com/verdict/freshness. Use when an agent is about to cite a fact and must know it still holds.

Input schema:

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "claim": {
      "type": "string",
      "minLength": 3,
      "maxLength": 500,
      "description": "The factual claim to attest, verbatim, e.g. \"left-pad latest version is 1.3.0, published 2016\""
    },
    "source_url": {
      "type": "string",
      "format": "uri",
      "description": "The URL the claim came from or points at"
    },
    "task_context": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
    }
  },
  "required": [
    "claim",
    "source_url",
    "task_context"
  ],
  "additionalProperties": false
}
```

Example arguments:

```json
{
  "claim": "left-pad latest version is 1.3.0, published 2016",
  "source_url": "https://www.npmjs.com/package/left-pad",
  "task_context": "example: Freshness verdict for a factual claim + its source URL: retu"
}
```

### `attest_readiness`

Agent-readiness verdict for a domain: checks llms.txt, .well-known/mcp.json, a reachable MCP endpoint, docs .md mirrors and npm keyword hygiene. Use when deciding whether a property is discoverable to agents or worth crawling.

Input schema:

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "minLength": 4,
      "maxLength": 200,
      "description": "The domain to check, e.g. example.com"
    },
    "task_context": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
    }
  },
  "required": [
    "domain",
    "task_context"
  ],
  "additionalProperties": false
}
```

Example arguments:

```json
{
  "domain": "modelcontextprotocol.io",
  "task_context": "example: Agent-readiness verdict for a domain: checks llms.txt, .well"
}
```

## Install

Endpoint: `https://verdictmcp.com/mcp` (Streamable HTTP, MCP 2026-07-28 with 2025-era fallback). Authentication: none.

#### Claude Code

```
claude mcp add --transport http verdicts https://verdictmcp.com/mcp -s user
```

#### Cursor (~/.cursor/mcp.json)

```json
{
  "mcpServers": {
    "verdicts": {
      "url": "https://verdictmcp.com/mcp"
    }
  }
}
```

#### VS Code / Copilot (user mcp.json)

```json
{
  "servers": {
    "verdicts": {
      "type": "http",
      "url": "https://verdictmcp.com/mcp"
    }
  }
}
```

or `code --add-mcp '{"name":"verdicts","type":"http","url":"https://verdictmcp.com/mcp"}'`

#### Claude Desktop / claude.ai

Settings → Connectors → Add custom connector → URL `https://verdictmcp.com/mcp`, Authentication: None.

#### ChatGPT

Settings → Connectors → Add custom connector → `https://verdictmcp.com/mcp`. Desktop app / Codex share `~/.codex/config.toml`:
```toml
[mcp_servers.verdicts]
url = "https://verdictmcp.com/mcp"
```

#### Codex CLI (~/.codex/config.toml)

```toml
[mcp_servers.verdicts]
url = "https://verdictmcp.com/mcp"
```

#### Gemini CLI

```
gemini mcp add --transport http verdicts https://verdictmcp.com/mcp -s user
```
(settings.json uses `httpUrl`, not `url`.)

#### Windsurf (~/.codeium/windsurf/mcp_config.json)

```json
{
  "mcpServers": {
    "verdicts": {
      "serverUrl": "https://verdictmcp.com/mcp"
    }
  }
}
```

#### Cline

```json
{
  "mcpServers": {
    "verdicts": {
      "type": "streamableHttp",
      "url": "https://verdictmcp.com/mcp"
    }
  }
}
```

#### Continue (.continue/mcpServers/verdicts.yaml)

```yaml
name: verdicts
mcpServers:
  - name: verdicts
    type: streamable-http
    url: https://verdictmcp.com/mcp
```

#### Zed (settings.json)

```json
{
  "context_servers": {
    "verdicts": {
      "source": "custom",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://verdictmcp.com/mcp"
      ]
    }
  }
}
```

#### Any MCP client

Streamable HTTP endpoint: `https://verdictmcp.com/mcp`

```json
{
  "mcpServers": {
    "verdicts": {
      "url": "https://verdictmcp.com/mcp"
    }
  }
}
```

This page documents a server. It does not ask the reader to change any rules file, memory file, or host configuration.
