Witnessd

vip.witnessdPublished by witnessd.vipv0.1.1Updated Oct 24, 2026

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

Overview

AI-generated overview

Lets an assistant have a public URL or API response independently fetched, hashed, timestamped and archived, returning a signed certificate.

What you can do
Witnessd is a neutral third-party witness service. Its witness_url tool independently fetches a public URL or API endpoint, hashes and timestamps the response, archives it, and returns a snapshot id plus a signed certificate. get_certificate returns the manifest, Ed25519 signature, Merkle proof and Base anchor transaction for any snapshot id, and retrieve_snapshot returns the archived response body with its certificate. Snapshot hashes are Merkle-batched hourly and anchored on Base so certificates can be verified without trusting the operator.
When to use it
Useful when a dispute might later depend on what a URL or API returned at a specific moment: witnessing a counterparty's published price or terms before transacting, or recording what a third-party API returned before acting on it. Also lets third parties obtain the archived evidence for a snapshot id.
Requirements
Runs locally over stdio via the npm package witnessd-mcp (npx -y witnessd-mcp); desktop-only, no web executable. Needs network access to the witnessd service (default overridable with WITNESSD_URL) and one payment credential: either EVM_PRIVATE_KEY (a wallet key holding USDC on Base) or WITNESSD_API_KEY (a prepaid credit key). No account login is declared.
Before you install
Paid per call: witness_url costs $0.02 and retrieve_snapshot $0.05, auto-paid in USDC on Base via x402 when EVM_PRIVATE_KEY is set; use a small dedicated wallet, never a main one. Both EVM_PRIVATE_KEY and WITNESSD_API_KEY are secrets. Certificates (hashes, timestamps, proofs) are public, while archived content is delivered only to paying requesters. Witnessing is limited to publicly visible pages, bodies up to 10 MB.

Installation

In SourceWeft

  1. Open Witnessd in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

witnessd-mcp

MCP server for witnessd — a neutral third-party witness for the machine-readable web.

Give your agent the ability to create tamper-evident evidence: witnessd independently fetches any public URL or API endpoint, hashes and timestamps the response, archives it, and issues a signed certificate. Snapshot hashes are Merkle-batched hourly and anchored on Base, so certificates verify forever — by anyone, without trusting the operator.

Use it before transacting with a counterparty ("witness their published price/terms"), before acting on third-party data ("witness what the API returned"), or whenever a dispute might later hinge on what a URL said at a moment in time.

Quick install

You useRun this
Claude Code (skill + MCP server in one step)/plugin install witnessd --marketplace jschunter/witnessd-mcp
Any agent with Agent Skills (Cursor, Codex, Copilot, Gemini CLI and others)npx skills add jschunter/witnessd-mcp
Any MCP client, MCP server onlynpx -y witnessd-mcp (config below)

The skill (plugin/skills/witnessd/SKILL.md) teaches an agent when a neutral witness is worth two cents: before paying an unfamiliar seller, before acting on third-party data, or when asked to prove what a page said. It also sets spending rules: at most 5 paid calls per task without approval, a one-line report of each call, and no paid retries in a loop. The MCP server gives the agent the tools.

On older Claude Code versions, run /plugin marketplace add jschunter/witnessd-mcp and then /plugin install witnessd@witnessd.

Tools

ToolPriceWhat it does
witness_url$0.02Independent fetch + hash + timestamp + archive of a URL right now; returns snapshot id + signed certificate
get_certificatefreeCertificate for any snapshot id: manifest, Ed25519 signature, Merkle proof, Base anchor transaction
retrieve_snapshot$0.05The archived response body + certificate — works for any snapshot id, any payer (this is how third parties obtain evidence)

Install

bash
npx -y witnessd-mcp

Claude Desktop / Cursor config:

json
{  "mcpServers": {    "witnessd": {      "command": "npx",      "args": ["-y", "witnessd-mcp"],      "env": {        "EVM_PRIVATE_KEY": "0x…"      }    }  }}

Payment — two options

Set one of these environment variables:

  • EVM_PRIVATE_KEY — a wallet key holding USDC on Base. The server auto-pays each call via x402 (the buyer only signs; no ETH needed for gas). Use a small dedicated wallet, never your main one.
  • WITNESSD_API_KEY — a prepaid credit key (buy a $1 pack via POST https://witnessd.vip/api/credits, x402-payable).

Optional: WITNESSD_URL to point at a different witnessd instance (default https://witnessd.vip).

Verify without trusting us

Certificates are self-verifying: leaf_hash = sha256(canonical-json(manifest)), Ed25519-signed, Merkle-proven into an hourly batch root anchored on Base (calldata 0x + wtns1 + root). Standalone checker: witnessd.vip/verify.js.

Privacy & scope

Certificates (hashes, timestamps, proofs) are public; archived content is delivered only to paying requesters and never republished. witnessd only witnesses what any stranger can see — no logins, no private networks, bodies ≤10 MB. Machine-readable service docs: llms.txt · openapi.json · /.well-known/x402.

MIT license.

Source: README.md at commit 69eabdc

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts