mcpField
S
Sellat

Sellat

Local
sellat.appLegal & Government0Updated 6d ago

About Sellat

Sellat is a local MCP server for creating and checking file-existence proofs through SELLAT. It hashes files on the user's machine and anchors proofs on Polygon and Bitcoin, while keeping file contents local.

Key features

  1. 01Find files by name locally
  2. 02Compute local SHA-256 hashes
  3. 03Create blockchain-anchored proofs
  4. 04Add qualified eIDAS seals
  5. 05Check proofs and evidence packages
  6. 06Download certificates and evidence

Use cases

  1. 01Record when a contract file existed
  2. 02Check a proof against a local file
  3. 03Track Polygon and Bitcoin anchoring
  4. 04Save a certificate or evidence package

MCP support

Exposes SELLAT file-finding, hashing, proof, status, sealing, download, and verification tools to MCP clients. File contents remain local; stamping sends the hash, name, and size to SELLAT.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"skanthemore-sellat": {
"command": "npx",
"args": [
"-y",
"sellat-mcp"
],
"env": {
"SELLAT_API_TOKEN": "<SELLAT_API_TOKEN>",
"SELLAT_DOWNLOAD_DIR": "<SELLAT_DOWNLOAD_DIR>",
"SELLAT_API_URL": "<SELLAT_API_URL>"
}
}
}
}
Run commandnpx -y sellat-mcp
Environment variables to set
SELLAT_API_TOKENSecretYour Sellat API key (sellat_…), from sellat.app → Dashboard → API
SELLAT_DOWNLOAD_DIRWhere certificates and evidence packages are saved (default: the system's downloads folder)
SELLAT_API_URLAnother Sellat environment (default: https://sellat.app)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmsellat-mcp0.3.3

Tools

9

Saved tool list · updated 6d ago

ParameterTypeRequiredDescription
pathstringYesAbsolute path of the file (~ is expanded).

Details

From the project README

sellat-mcp

tests M8ven Score

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.

Setup

Claude Desktop: one click
  1. Download 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.
  2. Paste your API key when it asks: create a free account at sellat.app, then a key in your dashboard (API keys). Without a key you can still find, fingerprint and verify files.

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.

Other clients

You need Node.js 18 or later, and the API key as above.

Claude Code

claude mcp add sellat -e SELLAT_API_TOKEN=sellat_… -- npx -y sellat-mcp

Gemini CLI

gemini mcp add -e SELLAT_API_TOKEN=sellat_… sellat npx -y sellat-mcp

Cursor, Claude Desktop without the extension, and other clients (.cursor/mcp.json, claude_desktop_config.json, …):

{
  "mcpServers": {
    "sellat": {
      "command": "npx",
      "args": ["-y", "sellat-mcp"],
      "env": { "SELLAT_API_TOKEN": "sellat_…" }
    }
  }
}
VariableDefault
SELLAT_API_TOKEN—your API key (SELLAT_API_KEY is accepted too)
SELLAT_DOWNLOAD_DIRthe system's downloads folderwhere certificates and packages are saved
SELLAT_API_URLhttps://sellat.appanother SELLAT environment

Tools

ToolWhat it doesKeyNetwork
sellat_findfind a file by name in Downloads, Desktop, Documents and Pictures (localized names included); names only, never contentsnonone
sellat_hashSHA-256 of a local filenonone
sellat_stampprotect a file: hash locally, create the proof; qualified: true adds the qualified eIDAS sealyesSELLAT (hash only)
sellat_statusstate of a proof: Polygon anchor, Bitcoin, seal, URLsyesSELLAT
sellat_listthe account's proofs, newest firstyesSELLAT
sellat_sealthe qualified timestamp (eIDAS, RFC 3161) for an existing proof; spends one sealyesSELLAT
sellat_accountplan, seals left, today's proof budgetyesSELLAT
sellat_downloadsave the PDF certificate, the evidence package (ZIP) or the seal's .tsr; never overwritesyesSELLAT
sellat_verifycheck a file against a proof.json, an evidence .zip or a proof id: Merkle path recomputed locally, anchor checked on a public Polygon nodenopublic RPC (and SELLAT only to fetch a proof by id)

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.

Timing

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.

Payments

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.

What a proof proves

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).

Develop

npm install
node --test
npm run bundle   # dist/sellat.mcpb, the Claude Desktop extension

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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.