SPAZIO-GENESI

attest-mcp

Community SPAZIO-GENESI
Updated

attest-mcp

MCP server for Spazio Genesi's attestationservice — attest, verify, and check the existence of digital works from any MCP-capableAI agent (Claude Code, Claude Desktop, etc.).

Full privacy: file bytes never leave your device. The fingerprint (SHA-256) iscomputed locally, streamed from disk — only the hash and optional metadata are sent.

What it does

The attestation service timestamps a file's SHA-256 fingerprint, signs it (HMAC), andcan produce a signed PDF certificate plus an OpenTimestamps proof anchored in Bitcoin.This server exposes that service as MCP tools, so an agent can attest and verify workson your behalf without a browser.

Install

Claude Desktop — one command, no manual JSON editing:

npx -y @spazio-genesi/attest-mcp-setup

This finds your claude_desktop_config.json (Windows/macOS/Linux), adds theattest-mcp entry, and backs up the original file first. It refuses to touchanything if the existing file isn't valid JSON — it never guesses. RestartClaude Desktop afterwards. To remove it again: add --uninstall. To previewwithout writing: add --dry-run.

Claude Code:

claude mcp add attest-mcp -- npx -y @spazio-genesi/attest-mcp

Manual / other clients — add this to your MCP client's config:

{
  "mcpServers": {
    "attest-mcp": {
      "command": "npx",
      "args": ["-y", "@spazio-genesi/attest-mcp"]
    }
  }
}

Authentication

Two ways to authenticate, matching the underlying service:

  1. API key (for partner integrations, issued manually by Spazio Genesi):set the IMGAUTH_API_KEY environment variable.
  2. Device flow (for personal/agent use): call the authorize tool with noarguments. It returns a URL — open it, approve with the human-verificationwidget, then call authorize again with the returned code. The sessiontoken (24h, 20 attestations) is saved to ~/.config/attest-mcp/credentials.json(permissions 600 where supported) and used automatically after that.

Either way, the credential only unlocks the anti-bot check on attestation — theserver-side timestamp, cryptographic signature, and rate limits are unchanged.

Tools

Tool What it does
authorize Start or continue the device-flow authorization.
attest_file Hash a local file (streamed) and attest it.
get_certificate_pdf Mint a fresh signed PDF, or recover an already-archived one, saved to disk.
verify_file Hash a local file and check it against a declared hash + signature.
verify_certificate Verify a certificate's signature without a local file.
check_anchor Check/download the OpenTimestamps (Bitcoin) proof.
service_status Traffic-light status of the attestation service.

Configuration

Env var Default Purpose
IMGAUTH_API_KEY API key credential, bypasses the device flow.
IMGAUTH_BASE_URL https://imgauth.spaziogenesi.org Override for local development (http://localhost:8787).
IMGAUTH_CERT_PAGE_BASE https://attestazione.spaziogenesi.org Override for the permanent-certificate-page base URL.

Known limitation

The certificate PDF and its text are in Italian (Spazio Genesi is an Italiannon-profit and the certificate is a legal-facing document). The MCP tooldescriptions and this README are in English for an international audience.

Development

npm install
npm test          # unit tests (hash vectors)
IMGAUTH_BASE_URL=http://localhost:8787 npm start   # against a local `wrangler dev`

License

MIT — see LICENSE. This is a client for the attestation service; theservice itself (imgauth) is AGPL-3.0.

MCP Server · Populars

MCP Server · New

    ROCTUP

    1C Metacode MCP Server

    MCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С

    Community ROCTUP
    nhevers

    r0x-os

    Official SDK, Claude Code plugin and facilitator docs for r0x, the x402 facilitator for Robinhood Chain.

    Community nhevers
    scarletkc

    Vexor

    A semantic search engine for files and code.

    Community scarletkc
    marmutapp

    SuperBased Observer

    Local-first cost & token tracking for Claude Code, Cursor, Codex & 23 more AI coding agents — proxy-accurate per-model spend, an MCP server your agent can query, and an opt-in team rollup. 100% local, no telemetry.

    Community marmutapp
    Intuition-Lab

    Persome

    Local-first macOS Runtime that turns cross-app activity into an inspectable personal model for MCP agents.

    Community Intuition-Lab