# Verify SCITT receipts from Forestrie transparency logs, offline

Checks SCITT receipts from Forestrie transparency logs against a trust root you hold. No network, no account, no key.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: forestrie
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/forestrie/mcp-verify
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/verify-scitt-receipts-from-forestrie-transparency-logs-offline

## What it does

The `@forestrie/mcp-verify` server exposes four tools to your agent. `verify_receipt` answers whether a given set of payload bytes was sequenced under a particular entry id. `verify_grant_receipt` reports whether a signer had the right to write at all. `verify_self` checks the release receipt shipped inside the package, and `decode_receipt` only renders the CBOR — it confirms nothing.

You pick the root yourself: `genesis`, `known-log-key`, `known-accumulator` or `checkpoint-chain`. With a signature root the check runs locally in your own process. The accumulator roots compare the peak against a value outside the operator's reach, so a divergent view of history gets caught. Every result reports sealing, split-view, append-authority and attribution, each as `ok`, `failed` or `not_answered_by_this_root`. That third value is an answer in its own right; a client that hides it drops information the user needs.

A contract root (a Safe) will not verify offline, because that needs a chain read and this package never makes one. Supply an ERC-1271 record as `ks256Attestation` instead, fetched elsewhere beforehand. A 20-byte `ks256Address` only claims which log it owns. Rotate a Safe's delegate and you need one attestation per certificate, passed as the `ks256Attestations` array.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add verify -- npx -y @forestrie/mcp-verify
```

### Codex

**Platform CLI**
```bash
codex mcp add verify-scitt-receipts-from-forestrie-transparency-logs-offline -- npx -y @forestrie/mcp-verify
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "verify-scitt-receipts-from-forestrie-transparency-logs-offline": {
            "command": "npx",
            "args": [
                "-y",
                "@forestrie/mcp-verify"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "verify-scitt-receipts-from-forestrie-transparency-logs-offline": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@forestrie/mcp-verify"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add verify-scitt-receipts-from-forestrie-transparency-logs-offline npx -y @forestrie/mcp-verify
```

## When to use it
- confirm exact payload bytes landed in a transparency log at a given entry
- check that a signer was authorized to write
- detect a split view between the history you see and the published one
- decode what a receipt actually contains
- verify the provenance of the package's own release

## Example prompts
- Verify this file's SCITT receipt against the `genesis` root I saved at registration
- Decode the receipt and show me what is inside, skip signature checking
- Run `verify_self` on the release receipt for this package

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12110
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/en/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP server · ★ 7718
- [jshookmcp](https://affpapa.org/en/nevibecode/mcp/jshookmcp.md) — MCP server · ★ 2066
- [OpenOSINT](https://affpapa.org/en/nevibecode/mcp/openosint.md) — MCP server · ★ 1816

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
