# xProof (remote · xproof.app)

Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.

- Trust score: 70/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `xproof.app`: 70/100 (this document), [markdown](https://verifymcp.io/servers/jasonxkensei-xproof/xproof.md), [page](https://verifymcp.io/servers/jasonxkensei-xproof/xproof)

## Channel facts

- Endpoint: `https://xproof.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 13 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2162 tokens (~144/item across 15 items; 13 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http jasonxkensei-xproof https://xproof.app/mcp
```

### Codex

```toml
[mcp_servers.jasonxkensei-xproof]
url = "https://xproof.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jasonxkensei-xproof": {
      "type": "remote",
      "url": "https://xproof.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add jasonxkensei-xproof --url https://xproof.app/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  jasonxkensei-xproof:
    url: "https://xproof.app/mcp"
```

### Other

```json
{
  "mcpServers": {
    "jasonxkensei-xproof": {
      "type": "http",
      "url": "https://xproof.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 69, 0)

- [functional regression] Schema quality: 126 → 144
- [functional] New tool “require_coherence_anchor”
- [functional] New tool “check_coherence”

### 2026-07-31 (score 69, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 68, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 66)

First indexed and scored.

## MCP tools (13)

### `register_trial` (~103 tokens)

START HERE if you have no API key. Get 10 free on-chain certifications instantly — no wallet, no credit card, no account required. Call this once with any agent_name, receive a pm_ key, then use certify_file or audit_agent_session immediately. Takes under 1 second.

Input parameters:

- `agent_name` (string, required): A short identifier for your agent (e.g. 'trading-bot', 'my-langchain-agent'). Must be unique across the platform.

### `certify_file` (~123 tokens)

Create a blockchain certification for a file. Records the SHA-256 hash on MultiversX blockchain as immutable proof of existence and ownership. Cost: $0.01 per certification, paid in EGLD.

Input parameters:

- `author_name` (string): Name of the certifier (default: AI Agent, max 128 chars)
- `file_hash` (string, required): SHA-256 hash of the file (64 hex characters)
- `filename` (string, required): Original filename with extension (max 255 chars)
- `webhook_url` (string): Optional HTTPS URL for on-chain confirmation callback

### `certify_with_confidence` (~401 tokens)

Create a staged blockchain certification with a confidence score. Use this when your decision builds progressively — certify at 60% (initial assessment), 80% (pre-commitment), and 100% (final decision). Each stage shares the same decision_id, creating an on-chain audit trail of the decision process. Governance: set reversibility_class='irreversible' for actions that cannot be undone — xproof will flag a policy violation if confidence_level < 0.95. Cost: $0.01 per certification.

Input parameters:

- `author_name` (string): Name of the certifying agent (default: AI Agent, max 128 chars)
- `confidence_level` (number, required): Confidence score from 0.0 to 1.0. Typical values: 0.6 (initial), 0.8 (pre-commitment), 1.0 (final).
- `decision_id` (string, required): Shared UUID linking all confidence stages for the same decision. Generate once and reuse across all stages.
- `file_hash` (string, required): SHA-256 hash of the decision or output file (64 hex characters)
- `filename` (string, required): Original filename with extension (e.g. decision.json, max 255 chars)
- `reversibility_class` (string): Governance: how reversible is this action? 'reversible' = can be undone, 'costly' = reversible but expensive, 'irreversible' = cannot be undone (on-chain settlement, data deletion, sent email). When…
- `threshold_stage` (string, required): Named stage of the decision: initial (first assessment), partial (gathering info), pre-commitment (almost certain), final (committed).
- `who` (string): Agent identity (wallet address, name, or agent ID)
- `why` (string): Reason or instruction hash driving this decision

### `verify_proof` (~46 tokens)

Verify an existing xproof certification. Returns proof details including file hash, timestamp, blockchain transaction, and verification status.

Input parameters:

- `proof_id` (string, required): UUID of the certification to verify

### `get_proof` (~56 tokens)

Retrieve a proof in structured JSON or Markdown format. Use JSON for machine processing, Markdown for LLM consumption.

Input parameters:

- `format` (string): Output format: json or md
- `proof_id` (string, required): UUID of the certification

### `discover_services` (~24 tokens)

Discover available xproof certification services, pricing, and capabilities. No authentication required.

### `audit_agent_session` (~354 tokens)

Certify an AI agent's work session on the MultiversX blockchain BEFORE executing any critical action (trade, deploy, data access). Returns a proof_id compliance certificate. The agent MUST call this tool before acting — certification failure blocks execution. Governance: set reversibility_class='irreversible' for actions that cannot be undone — a policy violation is flagged if confidence_level < 0.95 on irreversible decisions. Schema: https://xproof.app/.well-known/agent-audit-schema.json

Input parameters:

- `action_description` (string, required): Human-readable description of the specific action
- `action_type` (string, required): Category of the action being certified
- `agent_id` (string, required): Identifier of the agent making the decision
- `context` (object): Optional additional context (model version, environment, tool chain, etc.)
- `decision` (string, required): Agent's decision about whether to proceed
- `inputs_hash` (string, required): SHA-256 of all inputs analyzed before making the decision
- `reversibility_class` (string): Governance: how reversible is this action? 'reversible' = can be undone at low cost, 'costly' = reversible but expensive (fees, slippage, delay), 'irreversible' = cannot be undone (on-chain settlemen…
- `risk_level` (string, required): Assessed risk level of the action
- `risk_summary` (string): Optional brief risk analysis justifying the decision
- `session_id` (string, required): Unique session identifier (UUID or timestamp-based)
- `timestamp` (string, required): ISO 8601 timestamp of when the decision was made

### `check_attestations` (~106 tokens)

Check domain-specific attestations for an AI agent wallet on xproof. Returns active attestations issued by third-party certifying bodies (healthcare, finance, legal, security, research). Each active attestation adds +50 to the agent's trust score (max +150 from 3 attestations). Use this to verify an agent's credentials before delegating a sensitive task.

Input parameters:

- `wallet` (string, required): MultiversX wallet address (erd1...) of the agent to check

### `investigate_proof` (~167 tokens)

Reconstruct the full 4W audit trail for a contested agent action. Returns WHO (agent identity + SIGIL), WHAT (SHA-256 hash on-chain), WHEN (MultiversX block timestamp), WHY (decision chain anchored before acting). Includes verification summary with intent_preceded_execution flag, chronological timeline of WHY/WHAT proofs, and session heartbeat anchor. Requires x402 payment ($0.01 USDC on Base via X-PAYMENT header) or API key authentication. Without payment, returns payment requirements with USDC address and amount.

Input parameters:

- `proof_id` (string, required): UUID of any proof in the action pair — WHY (reasoning), WHAT (action), or heartbeat session proof
- `wallet` (string, required): Agent wallet address (erd1...) that owns the proof

### `submit_outcome` (~121 tokens)

Submit the actual outcome for a decision previously anchored with metadata.confidence_level. Computes the confidence gap (anchored − actual) and stores it for calibration tracking. Operator-only — you must own the proof. Each proof can only have one outcome.

Input parameters:

- `outcome_score` (number, required): Actual outcome quality (0.0 = complete failure, 1.0 = fully successful)
- `proof_id` (string, required): UUID of the certification that was anchored with metadata.confidence_level
- `visibility` (string): Whether this outcome is publicly visible (default: public)

### `get_calibration` (~115 tokens)

Query an agent's calibration quality over time: mean confidence gap, variance, bias label (overconfident / underconfident / calibrated), and per-decision time series. Fully public — use this to evaluate another agent before trusting it. agentId accepts a MultiversX wallet address (erd1...) or internal user id.

Input parameters:

- `agent_id` (string, required): Agent wallet address (erd1...) or internal user id
- `n` (integer): Number of recent outcomes to include (default 50, max 200)

### `check_coherence` (~237 tokens)

Anchor your agent's reasoning as an immutable WHY proof BEFORE executing an action. Implements the Prove Before Act / Coherence Layer pattern. Pass intent (goal), context (facts considered), and decision (action about to execute). Receives: proof_id, coherence_anchor (SHA-256 of the payload), timestamp. Link the returned proof_id to your WHAT proof via certify_file metadata.why_proof_id to complete the full 4W audit trail. Cost: $0.01 per anchor (same as certify_file).

Input parameters:

- `context` (string, required): Relevant facts, constraints, and inputs considered before the decision (e.g. 'BTC RSI=38, allocation 2.1%, policy v3.1')
- `decision` (string, required): The specific action the agent is about to execute (e.g. 'BUY 0.5 BTC at market')
- `intent` (string, required): The agent's stated goal or objective for this action (e.g. 'Optimize portfolio allocation for Q3')
- `who` (string): Agent identifier — wallet address, agent name, or model id (default: derived from API key owner)

### `require_coherence_anchor` (~286 tokens)

Policy gate: verify a valid, unexpired coherence anchor (WHY proof) exists for a given intent BEFORE allowing an action to execute. Call this from an orchestrator before delegating a sub-action. Pass either the exact intent_hash (the coherence_anchor returned by check_coherence) or the same intent + context + decision payload (the anchor hash is recomputed deterministically). Returns { allowed, anchor_id, expires_at }. If allowed=false, block execution and call check_coherence first. Free — no credit consumed.

Input parameters:

- `context` (string): The facts considered — must be byte-identical to the check_coherence call
- `decision` (string): The action to execute — must be byte-identical to the check_coherence call
- `intent` (string): The stated goal — must be byte-identical to the check_coherence call (used with context + decision to recompute the anchor hash)
- `intent_hash` (string): The coherence_anchor hash returned by check_coherence (64 hex chars). Fastest path — pass this if you have it.
- `max_age_minutes` (integer): Anchor validity window in minutes (default 120 = 2h). Anchors older than this are considered expired/divergent.
- `who` (string): Agent identifier — must match the value used in check_coherence (default: derived from API key owner)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/jasonxkensei-xproof/xproof#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 69
- 2026-08-01: 69
- 2026-07-31: 69
- 2026-07-30: 68
- 2026-07-29: 68
- 2026-07-28: 67
- 2026-07-27: 66
- 2026-07-26: 66

## Links

- Remote endpoint: https://xproof.app/mcp
- Repository: https://github.com/jasonxkensei/xProof
- Changelog RSS feed: https://verifymcp.io/servers/jasonxkensei-xproof/xproof/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/jasonxkensei-xproof/xproof/changelog.json
- HTML version of this page: https://verifymcp.io/servers/jasonxkensei-xproof/xproof
