otskit-mcp
Stamp, upgrade, and verify Bitcoin timestamps via AI agents using the OpenTimestamps protocol. No API keys required.
README
<p align="center"> <img src="https://raw.githubusercontent.com/OTSkit/OTSkit-MCP/master/docs/header.png" alt="OTSkit.ts MCP" width="480" /> </p>
@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.
Note on confirmation times: After stamping, a proof is
pendinguntil Bitcoin confirms it. This typically takes ~60 minutes but can take several hours during network congestion. Useots-mcp watchorupgrade_timestampto monitor. A pending status is not an error.
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
| 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 |
MCP tools exposed to agents
| 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 |
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 |
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,
"esplora_url": "https://blockstream.info/api",
"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/core- OpenTimestamps core logic@otskit/client- OTS calendar client@modelcontextprotocol/sdk- MCP SDKnode-sqlite3-wasm- local database (pure WASM, no native compilation)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.