@otskit/mcp
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.
Install
npm install -g @otskit/mcp
Agent setup
ots-mcp setup claude # Claude Desktop
ots-mcp setup claude-code # Claude Code CLI
ots-mcp setup codex # Codex CLI
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.
CLI commands
MCP tools exposed to agents
Data directory
All data is stored in ~/.ots-mcp/:
~/.ots-mcp/
ots-mcp.db # SQLite database (stamps, proof files)
config.json # Optional config overrides
ots-mcp.log # Log file
Configuration
Create ~/.ots-mcp/config.json to override defaults:
{
"stamp_enabled": true,
"scheduler_interval_minutes": 30,
"retry_max_attempts": 20,
"calendar_timeout_ms": 10000,
"calendars": [
"https://alice.btc.calendar.opentimestamps.org",
"https://bob.btc.calendar.opentimestamps.org",
"https://finney.calendar.eternitywall.com",
"https://btc.calendar.catallaxy.com"
]
}
Development
npm run build # production build
npm run dev # watch mode
npm test # run tests
Dependencies
@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.