On this page

Gridcoin Stamp: MCP Server

Give an AI agent the ability to timestamp a document on the Gridcoin blockchain. The agent hashes the file, the hash is anchored on-chain, and the file itself never moves. It talks the Model Context Protocol, so anything that speaks MCP can use it.

Overview

The server is a thin wrapper over the same public API that powers stamp.gridcoin.club. It exposes three tools an agent can call: one to stamp a document, one to check a stamp and fetch its proof, and one to see whether the service is funded. No account, no API key, no payment. A SHA-256 is computed on your machine and only the 64-character hash is ever sent.

Two ways to run it: as a local process your agent launches over stdio, or as a hosted endpoint your agent connects to over HTTP. Both expose the same tools.

Sourcenpm

Tools

stamp_document

Hash a document and anchor it on-chain. Give it a precomputed sha256, some text, or (running locally) the path to a file. It returns a public proof-page URL right away; the downloadable certificate follows once the stamp confirms.

check_stamp

Look a stamp up by hash or id. Once it is confirmed on-chain the tool hands back the block, transaction id, UTC timestamp, the proof page, the PDF certificate, and an explorer link.

get_wallet_status

Report whether the service is funded and can accept new stamps. Handy for an agent to check before it tries to stamp anything.

Local setup

Most desktop agents (Claude Desktop, Cursor, Windsurf, VS Code, Zed) launch MCP servers locally. Add one entry to your client's MCP config and it runs on demand with npx, no global install:

mcp config
{
"mcpServers": {
"gridcoin-stamp": {
"command": "npx",
"args": ["-y", "grc-stamp-mcp"]
}
}
}

Running locally, the server can also hash a file straight off your disk: point stamp_document at an absolute path and it reads and hashes the file on your machine, sending only the digest. To stamp against the test network instead, add "env": { "NETWORK": "testnet" }.

Hosted endpoint

Agents that connect to remote servers rather than launching them (ChatGPT, for one) can use the hosted endpoint over HTTP. Point the client at the URL:

remote mcp config
{
"mcpServers": {
"gridcoin-stamp": {
"url": "https://stamp.gridcoin.club/mcp"
}
}
}

The hosted server cannot see your disk, so it accepts only a precomputed sha256 or inline text; the local-file path is a local-only convenience. Everything else behaves the same.

Privacy and cost

The service is free. Stamping burns a trivial amount of GRC from a shared service wallet, not from you, which is deliberate: the point is to put the Gridcoin chain to work notarizing things. To keep that subsidy sane the hosted endpoint caps how many stamps it accepts per minute and pauses if the wallet ever runs low. Reads (checking a stamp, checking wallet status) are never limited.

Privacy is the whole design. Your document is hashed where it lives, on your machine or in your CI, and only the SHA-256 travels. There is nothing to upload and nothing on-chain but a 64-character fingerprint.

Proof and certificates

Every stamp gets a public proof page at /proof/<hash>, and once it is confirmed on-chain a downloadable PDF certificate at /proof/<hash>/certificate.pdf. The certificate carries the hash, the block and transaction, the UTC timestamp, and a QR code back to the proof page. The tools return both URLs, so an agent can hand a human something to open and keep, not just a transaction id.

The certificate appears a few minutes after stamping, when the transaction is mined. Until then check_stamp reports the stamp as pending and returns the proof page only.

Learn more

Full configuration, the exact tool schemas, and how to run the server yourself live in the package README. If you wire it into something, I'd genuinely like to hear what you built.


Stamp service wallet balance: 3176.45498617 grc
Address: SHpqN8xEjy2HHTnAGfgJjwFThuqzLbBs6i
Current block height: 4,039,976

Made with by @gridcat · Part of Gridcoin Club ↗ · Terms · Testnet