# witnessd [Health: Active]

**Category:** 🔑 Cryptography  
**Repository:** https://github.com/jschunter/witnessd-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 138  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/witnessd

## Description
Neutral third-party witness: independently fetch, hash, timestamp, archive any URL or API response.

## Tools
Capabilities this server exposes over MCP:

- **witness_url** — Have witnessd — a neutral third party — independently fetch a URL or API endpoint right now, hash and timestamp the response, archive it, and return a signed certificate. The snapshot is Merkle-anchored on Base within the hour. Use before/after transacting with a counterparty to create dispute evidence of what their endpoint said.
- **get_certificate** — Fetch the (free) signed certificate for a witnessd snapshot id, including the Merkle inclusion proof and Base anchor transaction once batched. Anyone can verify it independently.
- **retrieve_snapshot** — Retrieve the archived response body (base64) plus certificate for a witnessd snapshot id. Paid endpoint; works for any snapshot id, including ones witnessed by other parties — this is how you obtain evidence of what an endpoint said at a past moment.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "witnessd": {
    "command": "npx",
    "args": ["-y","witnessd-mcp"],
    "env": {
      "EVM_PRIVATE_KEY": "",
      "WITNESSD_API_KEY": "",
      "WITNESSD_URL": ""
    }
  }
}
```

**Requires environment variables:** `EVM_PRIVATE_KEY`, `WITNESSD_API_KEY`, `WITNESSD_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What witnessd MCP server does

witnessd MCP server gives an MCP-compatible agent a neutral way to record what a public web page or API endpoint returned at a particular time. The service fetches the target independently, hashes the response, timestamps the snapshot, archives it, and issues a signed certificate. This creates evidence for situations where the content may later change, such as published prices, terms, or third-party data used in a transaction.

The service is limited to content available to an unauthenticated stranger. It does not access logged-in resources or private networks, and response bodies are limited to 10 MB. Certificates expose hashes, timestamps, and verification data publicly, while archived content is delivered to paying requesters rather than republished.

## How it works

Call `witness_url` with a URL or API endpoint to create a snapshot. The response includes a snapshot ID and signed certificate. Snapshot hashes are combined into hourly Merkle batches and anchored on Base. A certificate contains the manifest, Ed25519 signature, Merkle inclusion proof, and Base anchor transaction once the batch is anchored.

Anyone can independently verify the certificate. The documented verification process derives a leaf hash from the canonical JSON manifest, checks the Ed25519 signature, validates the Merkle proof, and checks the Base anchor. A standalone verifier is available at witnessd.vip/verify.js.

## Setup and configuration

Run the server with:

```bash
npx -y witnessd-mcp
```

Configure an MCP client to launch the command with `npx`, the `-y` and `witnessd-mcp` arguments, and payment credentials in its environment. Set one payment option:

- `EVM_PRIVATE_KEY`: a wallet key holding USDC on Base. Calls are paid automatically through x402; the buyer signs payments and does not need ETH for gas.
- `WITNESSD_API_KEY`: a prepaid credit key purchased from the witnessd credits endpoint.

Use a dedicated wallet for `EVM_PRIVATE_KEY` rather than a primary wallet. `WITNESSD_URL` can point the server at another witnessd instance; the default is `https://witnessd.vip`.

Claude Code can install the plugin and skill through its marketplace. Agents that support Agent Skills can add the repository with `npx skills add jschunter/witnessd-mcp`; running `npx -y witnessd-mcp` provides the MCP server without the skill.

## Tools and capabilities

- `witness_url` costs $0.02 and independently fetches, hashes, timestamps, and archives a URL or API response. It returns the snapshot ID and signed certificate.
- `get_certificate` is free and returns certificate data for any snapshot ID, including the manifest, signature, Merkle proof, and Base anchor transaction when available.
- `retrieve_snapshot` costs $0.05 and returns the archived response body as base64 together with its certificate. It can retrieve snapshots created by other parties, allowing a requester to obtain evidence for an existing snapshot.

## Limitations and notes

Certificates are public, so their hashes, timestamps, and proofs can be inspected by others. Archived response content is restricted to paying requesters. The service witnesses only publicly accessible responses and cannot establish what a private or authenticated endpoint returned. The skill bundled with the repository recommends no more than five paid calls per task without approval, reporting each call in one line, and avoiding paid retry loops.

The project is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/witnessd/readme_

