otskit-mcp について
otskit-mcpは、文書のハッシュをBitcoinに記録し、タイムスタンプ証明を管理するOpenTimestampsサーバーです。作成や確認状況の監視、検証に対応し、ローカルファイルや外部証明も扱えます。
主な機能
- 01Bitcoinタイムスタンプの作成
- 02保留中の証明の更新
- 03タイムスタンプ証明の検証
- 04保存済み記録の確認と一覧表示
- 05ローカルファイルのハッシュ計算と記録
- 06更新待ち記録の監視
活用シーン
- 01文書ハッシュへのタイムスタンプ付与
- 02証明の確定状況の確認
- 03外部証明によるファイル検証
- 04保留中の記録と再試行の追跡
MCP 対応
MCP互換エージェントに、タイムスタンプの作成、更新、検証、確認、一覧表示、監視、ファイルのハッシュ計算ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@otskit/mcp
OpenTimestamps MCP サーバー — AI エージェントを通じて、Bitcoin タイムスタンプの付与、更新、検証を行います。
MCP 対応のエージェントであれば利用できる一連のツールを提供し、会話の中からドキュメントにタイムスタンプを付与したり、承認状況を監視したり、Bitcoin ブロックチェーンに対して証明を検証したりできます。
OpenTimestamps プロトコルの独立した実装です。OpenTimestamps プロジェクトとは関係がなく、同プロジェクトからの承認や保守も受けていません。
承認にかかる時間について: タイムスタンプの付与後、Bitcoin によって承認されるまで、証明は
pendingの状態になります。通常は約60分以内に承認されますが、ネットワークが混雑している場合は数時間かかることがあります。監視にはots-mcp watchまたはupgrade_timestampを使用してください。pendingの証明は失敗した証明ではありません。
インストール
npm install -g @otskit/mcp
エージェントのセットアップ
ots-mcp setup claude # Claude Desktop
ots-mcp setup claude-code # Claude Code CLI
ots-mcp setup codex # Codex CLI
各コマンドはエージェントの設定ファイルに MCP エントリーを書き込み、ファイルがすでに存在する場合は .bak バックアップを作成し、ots-mcp がすでに設定されている場合は処理をスキップします。変更を適用するには、その後エージェントを再起動してください。
CLI コマンド
| コマンド | 説明 |
|---|---|
ots-mcp serve | MCP サーバーを起動します(stdio トランスポート) |
ots-mcp stamp <sha256> | Bitcoin カレンダーに対して SHA-256 ハッシュにタイムスタンプを付与します |
ots-mcp upgrade <id> | 保留中のタイムスタンプが承認されたか確認します |
ots-mcp verify <id> | Bitcoin に対してタイムスタンプを検証します |
ots-mcp list [status] | タイムスタンプを一覧表示します(pending / confirmed / failed) |
ots-mcp watch [minutes] | 保留中のタイムスタンプを監視し、期限が来たものの更新を試みます(デフォルト:30分、最小:15分) |
ots-mcp check-pending | 保留中のすべてのタイムスタンプに対して更新を1回実行します |
ots-mcp scheduler install|remove|status | 自動更新用の OS レベルのスケジューラーを管理します |
ots-mcp backup [dest] | SQLite データベースをバックアップします |
ots-mcp setup <claude|claude-code|codex> | エージェント用に MCP を設定します |
エージェントに公開されるMCPツール
| ツール | 説明 |
|---|---|
create_timestamp | SHA-256 ハッシュを4つの公開OTSカレンダーにタイムスタンプします |
upgrade_timestamp | 保留中のタイムスタンプがBitcoinで確認済みかどうかを確認します |
verify_timestamp | タイムスタンプを検証します。指定されたBitcoinブロックより前にハッシュが存在していたことを証明します |
verify_external_proof | ローカルのスタンプストアを変更せずに、ホワイトリストに登録されたローカルファイルを外部の.ots証明と照合して検証します |
inspect_timestamp | ネットワークに接続せずに、保存された証明ファイルを調べます |
list_pending | ステータス、再試行回数、フィルターを指定してタイムスタンプを一覧表示します |
watch | 保留中のタイムスタンプを監視し、期限が来たアップグレードを試みるターミナルウィンドウを開きます |
hash_file | ローカルファイルのSHA-256を計算し、64文字の16進数文字列として返します(ネットワーク接続なし) |
stamp_file | ローカルファイルのSHA-256を計算し、1ステップでBitcoinにタイムスタンプします |
データディレクトリ
すべてのデータは~/.ots-mcp/に保存されます:
~/.ots-mcp/
ots-mcp.db # SQLite database (stamps, proof files)
config.json # Optional config overrides
ots-mcp.log # Log file
設定
デフォルト設定を上書きするには、~/.ots-mcp/config.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"
]
}
開発
npm run build # production build
npm run dev # watch mode
npm test # run tests
依存関係
@otskit/client- OTSカレンダーのクライアント(プロトコルエンジンである@otskit/coreを含みます)@modelcontextprotocol/sdk- MCP SDKnode-sqlite3-wasm- ローカルデータベース(純粋なWASMで、ネイティブコンパイルは不要です)
Node.js >= 20が必要です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。