KeyHalve verify-MCP
MCP serverDocs & knowledgeVerify KeyHalve-sealed documents for free, with no account required. Once added, your AI can check sealed documents whenever you ask. It works read-only and never receives keys, so your secrets stay with you.
Use KeyHalve verify-MCP in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add KeyHalve verify-MCP and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the keyhalve verify tool from KeyHalve verify-MCP
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
After adding it, point your AI at a KeyHalve-sealed document you want checked and ask it to verify the document.
What your AI can do with it
- Verify KeyHalve-sealed documents
- Check documents without creating an account
- Verify documents at no cost
- Confirm a document without ever receiving keys
- Work read-only, without changing your documents
Install KeyHalve verify-MCP
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user keyhalve-verify-mcp 'https://mcp.keyhalve.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.keyhalve.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=keyhalve-verify-mcp&config=eyJ1cmwiOiJodHRwczovL21jcC5rZXloYWx2ZS5jb20vbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.keyhalve.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add keyhalve-verify-mcp --url 'https://mcp.keyhalve.com/mcp'Run it once, then sign in with codex mcp login keyhalve-verify-mcp if the server asks for an account.
From the project's README
As published by keyhalve/keyhalve-mcp in README.md.
Free, public, no-account MCP server that lets any AI verify KeyHalve-sealed documents — from any platform on the rail (ValidPay, CheckBooks, …). Seal = the door (a platform's paid MCP). Verify = the room (this one, free forever).
- Endpoint:
https://mcp.keyhalve.com/mcp(Streamable HTTP, stateless) - Tools:
keyhalve_verify·keyhalve_status·keyhalve_explain— all read-only, no auth
The blindness rule
This server never receives decryption keys. A verify URL carries the holder's key share in
the #key= fragment; parseInput discards any fragment before any other logic runs, and the
response says so. Verification here covers everything provable without the key:
| Check | Meaning |
|---|---|
| status | active / revoked (with reason) on the issuing platform |
| ciphertext integrity | SHA-256 of the served ciphertext = commitment recorded at issuance (v2) |
| rail attestation | Ed25519-verified against the pinned rail key; dual-sign content binding when present |
| time lock | validity window judged client-side (Patent D semantics) |
| issuer trust | fail-closed: declared at best, never proof |
Reading the sealed contents still happens only in the holder's browser — exactly like the web
verifier. The overall verdict fails closed: any failed check → FAILED — DO NOT TRUST.
Design notes
- Zero runtime dependencies. WebCrypto only; the whole protocol layer is hand-auditable.
Same reasoning as the pinned-key rail client in
keyhalve-website. - Stateless. No sessions, no SSE, no KV, no cookies; every POST gets
application/json. Request bodies are never logged. - Tenant-neutral. Platforms come from the same manifest data as the web verifier
(
TENANT_MANIFESTinsrc/verifier.ts); onboarding a platform = one data entry. - Fail closed. Unreachable rail, malformed share, partial dual-sign binding, unknown id prefix — all report NOT verified, never a soft pass.
Develop / deploy
npm ci
npm run typecheck && npm test # 32 tests
npm run dev # wrangler dev
Deploys are manual (deploy.yml via workflow_dispatch, same discipline as rail/console).
Needs the CLOUDFLARE_API_TOKEN repo secret; the route mcp.keyhalve.com is a custom domain
on the business CF account (same account as the watchdog scheduler).
Directory submissions (Mike-gated)
Submitting to the Claude Connectors Directory / ChatGPT App Directory is an outward-facing step — prepared separately, goes out only on Mike's go.
Listings
Directory-listing assets live in this repo — reuse them, don't invent copy:
llms-install.md— AI-agent install steps (Cline's AI-driven install; also the canonical per-client snippets).glama.json— Glama claim file (maintainers; their live schema is maintainers-only).assets/icon-400.png— 400×400 icon (white split-circle glyph on Ink #0E1116, from the brand kit).- Descriptions must stay byte-consistent with
src/tools.tsand pass the approved-claims register (no "split key", no "tamper-proof", no issuer-identity claims).
Tools it offers (3)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
keyhalve_verifykeyhalve_statuskeyhalve_explain
Signals
- Last commit
- Oct 2026
- Weekly_downloads
- 34 weekly_downloads
Advanced
- Delivery
- verify MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
com-keyhalve-verify- Source
- github.com/keyhalve/keyhalve-mcp
- Hosted endpoint
https://mcp.keyhalve.com/mcp
github.com/keyhalve/keyhalve-mcp
More in Docs & knowledge
MCP server · dat999zx
More in Docs & knowledgeagent-native-slides
MCP server · builderio
More in Docs & knowledgemcp-memory-server
MCP server · mnemoverse
More in Docs & knowledgedatasinking
MCP server · heubme2020
More in Docs & knowledgespoken
MCP server · spokenmd
More in Docs & knowledgeemailmd
MCP server · anypost
More in Docs & knowledge