DefaultVerifier MCP

DefaultVerifier MCP

Verifies signed SAR v0.1 settlement receipts offline using Ed25519 signatures and bundled key registry.

Category
Visit Server

README

DefaultVerifier MCP — Phase A

Agent-native MCP server for DefaultVerifier. Phase A starts with verification, not emission.

What this is

An MCP server that exposes DefaultVerifier's verification surface to AI agents. It verifies signed SAR v0.1 settlement receipts locally — offline, no network required.

Doctrine:

Capability ≠ Authority
Authority ≠ Execution
Execution ≠ Verification
Verification must leave evidence

Phase A tools

verify_receipt

Verify a signed SAR v0.1 receipt locally.

  • Offline — no network calls
  • Canonicalizes using RFC 8785 / JCS
  • Verifies Ed25519 signature against bundled public key registry
  • Returns typed result with status (tool outcome) and verdict (issuer's signed outcome)

Key semantics:

  • status=PASS means the signature and digest are cryptographically valid
  • verdict is the issuer-signed outcome from the receipt itself (PASS/FAIL/INDETERMINATE)
  • A valid FAIL receipt returns { status:"PASS", verdict:"FAIL" }
  • A tampered receipt returns { status:"INVALID" }

get_verification_log

Return entries from DefaultVerifier's local verification log (/var/www/html/verified.json).

  • Local file only in Phase A
  • Preserves the file's disclaimer and non-endorsement language
  • Does not add endorsement language

Boundaries (what DefaultVerifier does NOT claim)

  • Does not prove payment finality
  • Does not prove legal settlement finality
  • Does not execute tasks
  • Does not approve actions
  • Does not release or custody funds
  • Does not imply partnership, endorsement, or official integration
  • Does not issue TrustScores

How to run

npm install
npm test       # run self-tests (requires all tests to pass before commit)
npm start      # starts on 127.0.0.1:3013 (dev only — do not deploy directly)

Health check: curl http://127.0.0.1:3013/healthz

MCP endpoint: http://127.0.0.1:3013/mcp

Local-first design

verify_receipt requires no network. It uses:

  • keys/sar-keys.json — bundled public key registry (kid-01, kid-02, kid-03)
  • Node.js built-in crypto for Ed25519 verification
  • canonicalize npm package (RFC 8785/JCS) for byte-for-byte parity with the Python verifier

Key registry

Includes three production keys:

  • sar-prod-ed25519-01 — original key
  • sar-prod-ed25519-02 — rotation 2
  • sar-prod-ed25519-03 — current key (used by recent receipts)

Fixtures

File Expected result
sar-v0.1-pass.json status PASS, verdict PASS
sar-v0.1-fail.json status PASS, verdict FAIL
sar-v0.1-indeterminate.json status PASS, verdict INDETERMINATE
sar-v0.1-current-kid03.json status PASS, kid sar-prod-ed25519-03
tampered-receipt.json status INVALID

Future phases

  • Phase B: resolve_receipt — resolve a receipt_id to its canonical source
  • Phase C: resolve_chain — follow a receipt chain
  • Phase D: check_issuer — issuer registry lookup
  • Phase E: emit_receipt_optional — optional emission surface
  • Phase F: TrustProfile

Port assignment

Dev port: 127.0.0.1:3013 (not proxied — do not expose without nginx config review)

Production settlement-witness-mcp remains on port 3003 and is not modified by this repo.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured