The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Otskit MCP listing page.
OpenTimestamps MCP server - stamp, upgrade, and verify Bitcoin timestamps via AI agents.
Exposes a set of tools to any MCP-compatible agent so it can timestamp documents, monitor confirmation status, and verify proofs against the Bitcoin blockchain - all from a conversation.
This is an independent implementation of the OpenTimestamps protocol. It is not affiliated with, endorsed by, or maintained by the OpenTimestamps project.
Note on confirmation times: After stamping, a proof is
pendinguntil Bitcoin confirms it. Confirmations typically arrive within ~60 minutes, but can take several hours during network congestion. Useots-mcp watchorupgrade_timestampto monitor. A pending proof is not a failed proof.
Each command writes the MCP entry into the agent's config file, makes a .bak backup if the file already exists, and skips if ots-mcp is already configured. Restart the agent afterwards to apply the changes.
| Command | Description |
|---|---|
ots-mcp serve | Start the MCP server (stdio transport) |
ots-mcp stamp <sha256> | Stamp a SHA-256 hash against Bitcoin calendars |
ots-mcp upgrade <id> | Check if a pending stamp has been confirmed |
ots-mcp verify <id> | Verify a stamp against Bitcoin |
ots-mcp list [status] | List stamps (pending / confirmed / failed) |
ots-mcp watch [minutes] | Monitor pending stamps and attempt due upgrades (default: 30 min, minimum: 15 min) |
ots-mcp check-pending | Run one upgrade pass over all pending stamps |
ots-mcp scheduler install|remove|status | Manage OS-level scheduler for auto-upgrades |
ots-mcp backup [dest] | Backup the SQLite database |
ots-mcp setup <claude|claude-code|codex> | Configure MCP for an agent |
| Tool | Description |
|---|---|
create_timestamp | Stamp a SHA-256 hash against 4 public OTS calendars |
upgrade_timestamp | Check if a pending stamp has been confirmed in Bitcoin |
verify_timestamp | Verify a stamp - proves hash existed before a given Bitcoin block |
verify_external_proof | Verify a whitelisted local file against its external .ots proof, without changing the local stamp store |
inspect_timestamp | Inspect a stored proof file without network calls |
list_pending | List stamps with status, retry count, and filters |
watch | Open a terminal window monitoring pending stamps and attempting due upgrades |
hash_file | Compute the SHA-256 of a local file and return it as a 64-char hex string (no network calls) |
stamp_file | Compute SHA-256 of a local file and stamp it on Bitcoin in one step |
All data is stored in ~/.ots-mcp/:
Create ~/.ots-mcp/config.json to override defaults:
@otskit/client - OTS calendar client (brings in @otskit/core, the protocol engine)@modelcontextprotocol/sdk - MCP SDKnode-sqlite3-wasm - local database (pure WASM, no native compilation)Requires Node.js >= 20.