{"name":"io.github.SPAZIO-GENESI/attest-mcp-remote","slug":"spazio-genesi-attest-mcp-remote","title":null,"description":"Zero-install remote MCP server for proof-of-existence file attestation.","url":"https://mcp.market/server/spazio-genesi-attest-mcp-remote","rating":null,"grade":"D","score":48,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-22T15:27:03.000Z","license":"MIT"},"uptime":{"percent":0,"checks":28,"ok":0,"last_checked_at":"2026-11-04T05:40:25.243Z","last_ok_at":"2026-10-18T18:35:51.683Z","latency_ms":496},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/SPAZIO-GENESI/attest-mcp-remote","website":"https://attestazione.spaziogenesi.org","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://attest-mcp-remote.it-e3f.workers.dev/mcp"}],"packages":[],"tools":[{"name":"attest_hash","description":"Attest a work: the service binds the SHA-256 fingerprint to a server-side timestamp and signs it (HMAC). Requires a credential (device flow via `authorize`, or an API key header). Optional declared metadata (title/author/year/notes) are normalized and BOUND by the signature — immutable after issuance, but they remain self-declared (they don't prove authorship). Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sha256":{"type":"string","description":"SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot."},"name":{"description":"File name (descriptive only, shown on the certificate).","type":"string"},"size":{"description":"File size in bytes (descriptive only).","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"type":{"description":"MIME type (descriptive only).","type":"string"},"titolo":{"description":"Declared title of the work (bound by the signature).","type":"string"},"autore":{"description":"Declared author (bound by the signature).","type":"string"},"anno":{"description":"Declared year/version (bound by the signature).","type":"string"},"note":{"description":"Declared notes (bound by the signature).","type":"string"}},"required":["sha256"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"authorize","description":"Start the device-flow authorization to attest works in this session (up to 20 attestations, 24h). Returns a link the USER must open in a browser and approve (anti-bot check included). After the user approves, call `complete_authorization`. Not needed if the connection already carries an API key header, or for verification tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"check_anchor","description":"Check whether a work's SHA-256 fingerprint has an OpenTimestamps proof anchored in Bitcoin. The proof is created at attestation time and matures (pending → Bitcoin-confirmed) within a few hours.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sha256":{"type":"string","description":"SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot."}},"required":["sha256"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"complete_authorization","description":"Complete the device-flow authorization after the user approved in the browser. Polls the service briefly; if approval hasn't happened yet, just call this tool again.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"create_certificate_pdf","description":"Generate and archive the certificate PDF for a fingerprint attested in this session with `attest_hash`. The PDF is cryptographically signed, anchored in Bitcoin (OpenTimestamps) and archived server-side; this tool returns the permanent links (the PDF itself is downloadable from its URL — it is never inlined here).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"sha256":{"type":"string","description":"SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot."}},"required":["sha256"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"lookup_certificate","description":"Look up whether a work's SHA-256 fingerprint has an attestation certificate in the public archive, and get its permanent links (public certificate page, PDF download, OpenTimestamps proof, browser verification). Trust model: this information is reachable only by whoever knows the fingerprint.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sha256":{"type":"string","description":"SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot."}},"required":["sha256"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"service_status","description":"Health of the Spazio Genesi attestation service components: worker (attestation engine), archive (certificate storage), signer (PDF cryptographic signature), anchor (Bitcoin/OpenTimestamps calendars). Values: ok | degraded | down | n/d.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"verify_attestation","description":"Verify the server HMAC signature of an attestation issued by the Spazio Genesi service. Confirms that the attestation string (fingerprint + timestamp) and any declared metadata are authentic and untampered. Note: this checks the SIGNATURE only. Whether a given file matches the fingerprint must be checked locally by re-hashing the file. If the certificate carried declared metadata (title/author/year/notes), they must be provided EXACTLY as printed for the signature to verify.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sha256":{"type":"string","description":"SHA-256 fingerprint of the work: 64 hexadecimal characters. Compute the SHA-256 locally if you have code execution (`sha256sum <file>` / `shasum -a 256 <file>` / `certutil -hashfile <file> SHA256`). NEVER send file bytes or base64 through tool arguments: this server never receives files. If you cannot compute a hash locally, point the user to the website (https://attestazione.spaziogenesi.org, full privacy: hashing happens in the browser) or the Telegram bot @SGAttestBot."},"attestazione":{"type":"string","description":"The attestation string exactly as printed on the certificate: \"SHA-256:<hash>@<ISO timestamp>Z\""},"hmac":{"type":"string","description":"The server HMAC signature exactly as printed on the certificate (base64, 44 characters ending with '=')."},"titolo":{"description":"Declared title, exactly as printed (only if the certificate shows it).","type":"string"},"autore":{"description":"Declared author, exactly as printed (only if the certificate shows it).","type":"string"},"anno":{"description":"Declared year/version, exactly as printed (only if the certificate shows it).","type":"string"},"note":{"description":"Declared notes, exactly as printed (only if the certificate shows them).","type":"string"}},"required":["sha256","attestazione","hmac"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":48,"grade":"D","scanned_at":"2026-10-25T04:58:05.557Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-25T04:58:05.512Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":0,"max":20,"notes":["remote unreachable: HTTP 500"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (endpoint requires auth); not counted"]},"auth":{"score":5,"max":15,"notes":["no auth information"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"reliability.unreachable","severity":"high","component":"reliability","title":"Remote endpoint did not respond","detail":"HTTP 500"}],"inputs":{"probes":[{"url":"https://attest-mcp-remote.it-e3f.workers.dev/mcp","reachable":false,"authRequired":false,"latencyMs":720,"error":"HTTP 500"}],"packages":[],"repo":{"found":true,"owner":"SPAZIO-GENESI","repo":"attest-mcp-remote","archived":false,"pushedAt":"2026-10-22T15:27:03Z","stars":0,"forks":0,"openIssues":8,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/161314620?v=4","ownerCreatedAt":"2024-02-26T11:12:15Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/161314620?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-22T15:27:03.000Z","score":23}}}},"grade_history":[{"kind":"downgrade","fromGrade":"B","toGrade":"D","reason":"score 48: Remote endpoint did not respond","createdAt":"2026-10-25T04:58:05.906Z"}],"reviews":[]}