# KeyHalve - verify sealed documents (remote · mcp.keyhalve.com)

Free, no-account verification of KeyHalve-sealed documents. Read-only; never receives keys.

- Trust score: 58/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.keyhalve.com`: 58/100 (this document), [markdown](https://verifymcp.io/servers/com-keyhalve-verify/mcp.md), [page](https://verifymcp.io/servers/com-keyhalve-verify/mcp)
- npm · `@keyhalve/verify-mcp`: 35/100, [markdown](https://verifymcp.io/servers/com-keyhalve-verify/keyhalve-verify-mcp.md), [page](https://verifymcp.io/servers/com-keyhalve-verify/keyhalve-verify-mcp)

## Channel facts

- Endpoint: `https://mcp.keyhalve.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## 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**: 49/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 3 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 not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 363 tokens (~121/item across 3 items; 3 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **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**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add --transport http com-keyhalve-verify https://mcp.keyhalve.com/mcp
```

### Codex

```toml
[mcp_servers.com-keyhalve-verify]
url = "https://mcp.keyhalve.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-keyhalve-verify": {
      "type": "remote",
      "url": "https://mcp.keyhalve.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-keyhalve-verify --url https://mcp.keyhalve.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-keyhalve-verify:
    url: "https://mcp.keyhalve.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-keyhalve-verify": {
      "type": "http",
      "url": "https://mcp.keyhalve.com/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 58)

First indexed and scored.

## MCP tools (3)

### `keyhalve_verify` (~154 tokens)

Verify a KeyHalve-sealed document. Accepts a verify URL, the raw text of a KeyHalve QR code, or a document id (vp_…, kh_…, cb_…). Returns the cryptographic verdict: whether the seal exists, its live status (active/revoked/expired), ciphertext integrity against the issuance commitment, the KeyHalve rail's independent attestation, the validity window, and the issuer's trust context. This tool NEVER decrypts sealed contents — any decryption key in the URL fragment is discarded unread; contents are only readable by opening the verify URL in a browser.

Input parameters:

- `input` (string, required): A KeyHalve verify URL, QR-code text, or bare document id.

### `keyhalve_status` (~85 tokens)

Live status of a KeyHalve-sealed document by id: active, revoked (with reason/time), or outside its validity window. Lighter than keyhalve_verify — status only, no integrity or rail checks. Use for "is this still good right now?"

Input parameters:

- `document_id` (string, required): The document id, e.g. vp_…, kh_…, cb_….

### `keyhalve_explain` (~63 tokens)

Plain-language explanation of what a KeyHalve verification verdict means and why it can be trusted (blind rail, three-share custody, commitments, revocation). Optionally focused on one topic.

Input parameters:

- `topic` (string): Optional single topic; omit for the overview.

## Diagnostics

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

## Score history

- 2026-08-03: 58

## Links

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