otskit-mcp

otskit-mcp

Stamp, upgrade, and verify Bitcoin timestamps via AI agents using the OpenTimestamps protocol. No API keys required.

Category
Visit Server

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

CI npm version npm downloads TypeScript Node License Glama 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.

Note on confirmation times: After stamping, a proof is pending until Bitcoin confirms it. This typically takes ~60 minutes but can take several hours during network congestion. Use ots-mcp watch or upgrade_timestamp to 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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured