MCP server: One MCP server.

OTSkit

@alexalves87MCP server · External

Stamp, upgrade, and verify Bitcoin timestamps via AI agents. No API keys required.

Blockchain datav0.2.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

OTSkit MCP
From the README

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@otskit/mcpv0.2.1

Run

npx -y @otskit/mcp

MCP client config

{
  "mcpServers": {
    "otskit": {
      "command": "npx",
      "args": [
        "-y",
        "@otskit/mcp"
      ]
    }
  }
}
README3 min read

OTSkit MCP

@otskit/mcp

CI npm version npm downloads TypeScript Node Coverage Quality Gate License smithery badge

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.

OTSkit MCP server on Glama — security, license and quality rating plus download count

Note on confirmation times: After stamping, a proof is pending until Bitcoin confirms it. Confirmations typically arrive within ~60 minutes, but can take several hours during network congestion. Use ots-mcp watch or upgrade_timestamp to monitor. A pending proof is not a failed proof.

Install

bash
npm install -g @otskit/mcp

Agent setup

bash
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

CommandDescription
ots-mcp serveStart 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-pendingRun one upgrade pass over all pending stamps
ots-mcp scheduler install|remove|statusManage 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

ToolDescription
create_timestampStamp a SHA-256 hash against 4 public OTS calendars
upgrade_timestampCheck if a pending stamp has been confirmed in Bitcoin
verify_timestampVerify a stamp - proves hash existed before a given Bitcoin block
verify_external_proofVerify a whitelisted local file against its external .ots proof, without changing the local stamp store
inspect_timestampInspect a stored proof file without network calls
list_pendingList stamps with status, retry count, and filters
watchOpen a terminal window monitoring pending stamps and attempting due upgrades
hash_fileCompute the SHA-256 of a local file and return it as a 64-char hex string (no network calls)
stamp_fileCompute SHA-256 of a local file and stamp it on Bitcoin in one step

Data directory

All data is stored in ~/.ots-mcp/:

text
~/.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:

json
{
  "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

bash
npm run build    # production build
npm run dev      # watch mode
npm test         # run tests

Dependencies

Requires Node.js >= 20.

Similar modules

Browse Blockchain data