sellat_hash
Fingerprint a file
Compute the SHA-256 fingerprint of a local file. Runs entirely on this machine: nothing is sent anywhere. Useful to compare two files or to check a fingerprint someone gave you.
path必填
io.github.skanthemore由 GitHub 账号 skanthemore 发布v0.3.3更新于 Nov 7, 2026
为任意 MCP 客户端的文件提供存在性证明:本地哈希,锚定于 Polygon 和 Bitcoin。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
Proof of existence for files from any MCP client: hashed locally, anchored on Polygon and Bitcoin.
Sellat 的本地 MCP 服务;无需登录;STDIO;9 个工具。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
The official MCP server for SELLAT: ask Claude, Cursor or any MCP client to protect a file, follow its proof, add the qualified eIDAS seal or verify a proof, all from the chat.
"Protect ~/Contracts/draft-v3.pdf with Sellat." "Has the proof of my last photo reached Bitcoin yet?" "Check this file against the evidence package in my Downloads."
Your files never leave your machine. The server runs locally, hashes the
file on your computer and sends SELLAT only its SHA-256 (plus the name and
size shown on the certificate). It is a thin layer over the
sellat-cli client and the
sellat-verify offline verifier.
sellat.mcpb from the latest release
and open it. Claude Desktop shows an install dialog; it brings its own
Node.js, so there is nothing else to install.Then just talk: "protect the contract I downloaded yesterday". Claude finds the file in your Downloads, Desktop, Documents or Pictures folder (whatever they are called on your system) and asks you which one if several fit.
A file you drag into the chat goes to the model, not to this server: say where it is saved instead, or let Claude find it.
You need Node.js 18 or later, and the API key as above.
Claude Code
Gemini CLI
Cursor, Claude Desktop without the extension, and other clients
(.cursor/mcp.json, claude_desktop_config.json, …):
Stamping the same file twice returns the first proof (the earlier date is the stronger one), and a retried call never creates a second proof.
A proof is anchored on Polygon in a Merkle batch: within minutes on the Pro account, at the end of a fixed four-hour UTC slot on the free account (00, 04, 08, 12, 16 and 20 h). Bitcoin, through OpenTimestamps, confirms some hours later. The qualified seal is issued at once. The server tells the model this, so it does not promise a blockchain transaction in seconds.
Nothing is ever paid through the MCP server. Protecting files is free within the account's daily budget. The qualified seal spends a seal from the account (new accounts get a welcome seal); with none left the tool answers with the link to buy a pack on the website, where the invoice, VAT and withdrawal terms live. The model is told to give you that link and to request a seal only when you asked for one.
That these exact bytes existed no later than the anchored time, verifiable by
anyone without trusting SELLAT. On its own it does not prove authorship or
ownership. sellat_verify checks the file, the Merkle path and the Polygon
anchor, and reads the anchoring block's time from the chain — the only date
it states as proven (a proof whose own date differs fails; offline checks
the math and states no date). It does not check the qualified seal's .tsr
(any RFC 3161 tool does, e.g. openssl ts -verify).
Release: bump version in package.json, manifest.json and VERSION in
src/server.mjs; npm publish; npm run bundle and attach
dist/sellat.mcpb to a GitHub release.
MIT licence.
来源:README.md,提交 06f382f
Fingerprint a file
Compute the SHA-256 fingerprint of a local file. Runs entirely on this machine: nothing is sent anywhere. Useful to compare two files or to check a fingerprint someone gave you.
path必填Find a file
Find files on this computer by name, in the user's Downloads, Desktop, Documents and Pictures folders (their real names on this system), newest first. Reads names only, never contents. Use it whenever the user refers to a file without giving its path. With no query it lists the most recent files.
querywherefoldermodified_within_daysProtect a file
Create a SELLAT proof of existence for a local file. The file is hashed on this machine and only its SHA-256 (plus the name and size) is sent; the file itself never leaves the computer. Stamping the same file again returns the existing proof (the earlier date is the stronger one). Set qualified=true only when the user explicitly asked for the qualified eIDAS seal: it spends one seal from the account.
namepath必填qualifiedProof status
The current state of a proof: whether its batch is anchored on Polygon, the Bitcoin confirmation, the qualified seal and its URLs.
proof_id必填List proofs
The account's proofs, newest first, one page at a time.
limitcursorAdd the qualified seal
Issue the qualified electronic timestamp (eIDAS, RFC 3161) for an existing proof. Spends one seal from the account: call it only when the user explicitly asked for it. With no seals left it returns the link to buy them on the web. Calling it again on a sealed proof returns the existing seal without spending another.
proof_id必填Account
The account's plan, qualified seals remaining, custody usage and today's proof budget, with the link to buy seals.
无需输入参数。
Download certificate or evidence
Save a proof document to this computer: the PDF certificate, the evidence package (ZIP with proof.json, the OpenTimestamps file and instructions to verify without SELLAT) or the RFC 3161 token of the qualified seal (.tsr). Never overwrites an existing file.
kind必填langproof_id必填directoryVerify a proof
Check that a file matches a SELLAT proof and that the proof is really anchored on the blockchain, without trusting SELLAT: the file is hashed locally, the Merkle path is recomputed, and a public blockchain node is asked whether the anchoring transaction carries the root. Give the proof as a proof.json or an evidence package (.zip), or as a proof id (its public proof.json is then fetched from SELLAT — the checks themselves stay independent). Does not check the qualified seal's .tsr. Needs no API key.
offlineproof_idfile_path必填proof_path已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
claude mcp add sellat -e SELLAT_API_TOKEN=sellat_… -- npx -y sellat-mcpgemini mcp add -e SELLAT_API_TOKEN=sellat_… sellat npx -y sellat-mcp{ "mcpServers": { "sellat": { "command": "npx", "args": ["-y", "sellat-mcp"], "env": { "SELLAT_API_TOKEN": "sellat_…" } } }}npm installnode --testnpm run bundle # dist/sellat.mcpb, the Claude Desktop extension