attest-mcp-remote
Allows verification of attestations anchored to the Bitcoin blockchain via OpenTimestamps proof lookup.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@attest-mcp-remoteVerify the attestation for this SHA-256: 9f86d081884c7d659a2feaa0c55ad015a"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
attest-mcp-remote
Listed on the official MCP Registry as
io.github.SPAZIO-GENESI/attest-mcp-remote.
Remote MCP server (Streamable HTTP) for the Spazio Genesi digital-work attestation service. Zero install: add the URL as a connector in your MCP client and start verifying and attesting.
No file ever transits — by design. MCP has no reliable client→server file
channel, and this service doesn't want one: every tool works on the SHA-256
fingerprint of the work. Agents with code execution compute it locally
(sha256sum <file>), so the file never leaves the machine it lives on — not
even through this server. For local-file tooling use the stdio package
@spazio-genesi/attest-mcp;
for humans, the website (in-browser
hashing, full privacy) or the Telegram bot @SGAttestBot.
Status
In production. Live at https://attest-mcp-remote.it-e3f.workers.dev/mcp.
All 8 tools implemented, tested, and validated end-to-end against production,
including a real zero-install run from claude.ai (connector by URL, human
Turnstile approval, certificate PDF issued and archived).
Related MCP server: knobe-mcp-server
Tools
Tool | Auth | What it does |
| none | Health of worker / archive / signer / Bitcoin anchor |
| none | OpenTimestamps proof lookup for a fingerprint |
| none | Verify the server HMAC signature of an attestation |
| none | Archive lookup + permanent links for a fingerprint |
| starts device flow | User approves once in the browser (anti-bot check) |
| device flow | Claims the 24h session token (kept in session state, never echoed) |
| session token or API key header | Bind a fingerprint to a signed server timestamp |
| session-scoped | Generate + archive the certificate PDF, returns permanent links |
Credentials: either the zero-config device flow above, or an
Authorization: Bearer sg_k_… header on the connection (e.g. Claude Code:
claude mcp add --transport http attest <url> --header "Authorization: Bearer sg_k_…").
Self-service keys: https://imgauth.spaziogenesi.org/developer/keys
Develop
npm install
npm run dev # wrangler dev (default port 8787)
node test/smoke.mjs http://127.0.0.1:8787test/smoke.mjs drives the Streamable HTTP transport end-to-end (initialize →
tools/list → tools/call) against real, public production data (read-only).
test/smoke-auth.mjs covers the credentialed flow and is a local-only
harness: it needs an isolated imgauth wrangler dev (own --persist-to
state, SIGNER_URL emptied) because the user-approval step is simulated by
writing the local D1 directly — see the header comment in the file.
⚠️ When bumping the version
This server is also advertised through an MCP Server Card published by the web interface, which repeats this server's name, version and endpoint:
https://attestazione.spaziogenesi.org/.well-known/mcp/server-card.json
→ file: imgauthweb/.well-known/mcp/server-card.jsonThat file is not generated from this repository, so a version bump here
silently makes it wrong. When you change version in package.json and
server.json, update serverInfo.version in the card too — same release, same
day. (Publishing a card that misstates the version is the same class of problem
as an openapi.json left behind: a descriptor that lies is worse than none.)
Security
Report vulnerabilities → /sicurezza/
(responsible disclosure policy, safe harbor for good-faith research) — this
repo has no security.txt of its own (Worker with no static assets), but
the policy covers the whole project, including this workers.dev service.
License
MIT — © Spazio Genesi ETS. This is a pure client of the public imgauth API; it defines no API contract of its own.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceDocument verification MCP server enabling AI agents to verify file authenticity by computing SHA-256 fingerprints locally and checking Bitcoin-anchored proofs via OpenTimestamps.514MIT
- AlicenseAqualityCmaintenanceMCP server for sealing, verifying, and reading KNOBE Protocol v1 documents with human-confirmed authorship, ensuring document provenance and integrity.5Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for Spazio Genesi's attestation service that enables AI agents to attest, verify, and check digital works with full privacy, as file bytes never leave the device.7146MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for issuing and scanning TDM reservation signals (HTTP, HTML, robots.txt, C2PA) and signing training-run liability shields to ensure EU AI Act compliance.MIT
Related MCP Connectors
Remote MCP for C2PA intake verifier MCP, structured receipts, audit logs, and reviewer-ready evidenc
Remote MCP for C2PA disclosure policy MCP, structured receipts, audit logs, and reviewer-ready evide
Personal MCP server for humans who create. Proof of authorship, license control.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SPAZIO-GENESI/attest-mcp-remote'
If you have feedback or need assistance with the MCP directory API, please join our Discord server