dmt-receipts について
dmt-receiptsは、エージェントの記憶をTAP/Ordinals用ペイロードとして準備・検証するローカルstdio MCPサーバーです。Bitcoin上の記憶データを保存・確認したい開発者向けで、トランザクションの送信や手数料の支払いは行いません。
主な機能
- 015項目の記憶JSONの正規化
- 02TAP/Ordinals刻印レシピの生成
- 03記憶ダイジェストの再計算
- 04刻印内容の取得と照合(任意)
活用シーン
- 01エージェントの記憶を刻印用に準備
- 02刻印と元データの一致確認
- 03ブラウザーで記憶を準備・検証
MCP 対応
ローカルstdio MCPサーバーとして動作し、`prepare_memory`と`verify_inscription`ツールをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
DMT Receipts
TAP Protocol/Ordinalsを介した、ポータブルでBitcoin上に恒久保存されるエージェントメモリーです。
DMT Receiptsは、ローカルstdio MCPサーバー(prepare_memory、verify_inscription)とブラウザデモを提供します。5つのフィールドを持つdmt-memory/v1 JSONオブジェクトを、インスクリプション可能なペイロードに変換します。恒久保存とは、TAP("p":"tap")のもと、メモリーのバイト列がOrdinalsインスクリプションのコンテンツとしてBitcoin L1に記録されることを意味します。メモリーとインスクリプションID/txidは、ご自身で管理するストレージに保存してください。prepare_memoryの実行後、ステータスは準備完了です。ウォレットまたはOrdinalsツールでバイト列をインスクリプションし、Bitcoinの手数料を支払います。
ライブサイト · プロトコルの手順 · リポジトリの紹介 · 完全な仕様 · TAP仕様
メンテナー:github.com/Colchora
まずはこちら
ライブサイトでは、ブラウザー上でメモリーの準備と検証ができます。データはアップロードされません。レシートはエクスポートするまでlocalStorageに保存されます。このパッケージは、ローカルMCPサーバーと同じプロトコルを使用します。npmレジストリには公開されていないため、クローンからインストールする(下記参照)か、サイトをご利用ください。
| 内容 | 場所 |
|---|---|
| インストールせずにメモリーを準備する | ライブアプリ → アンカー |
| インスクリプションを検証する | ライブアプリ → 検証 |
| このブラウザーに保存されたレシート | ライブアプリ → レシート |
| ローカルツールを試す | npm ciの後にnode examples/run-demo.mjsを実行 |
| エージェント用インデックス(ツール、実行方法、デモ) | このリポジトリのllms.txt |
| 正式なバイト列の規則 | ライブサイトのllms.txt |
| 完全なプロトコル | spec.md |
| 機械可読なマニフェスト | agent.json |
| MCPレジストリID | io.github.Colchora/dmt-receipts(server.json、glama.json) |
任意の支援金はインスクリプション手数料とは別です:支援と買い戻し。
レシートで証明できること、できないこと
| レシートで証明できること | レシートでは証明できないこと |
|---|---|
これらの正規化されたバイト列がBitcoinトランザクションでOrdinalsコンテンツとしてインスクリプションされたこと(inscription_id/コンテンツが一致する場合)。 | そのバイト列を誰が作成または所有しているか。作成者を証明するには、別の署名方式が必要です。 |
ローカルのverify_inscriptionでダイジェストを再計算し、必要に応じて公開インスクリプションコンテンツを取得して照合できます。 | メモリーの真実性、正確性、独創性、意図、または独占的所有権。 |
| TAPインデクサー/Ordinalsエクスプローラーで、このリポジトリとは独立してインスクリプションを確認できます。 | ハッシュのみを使った無料のカレンダー証明。インスクリプション手数料は実際のBitcoin手数料です。 |
このMCPサーバーはトランザクションのブロードキャストも手数料の支払いも行いません。prepare_memoryの実行後のステータスは、インスクリプション済みではなく準備完了です。
デモ
Node.js 18 以降が必要です。npm ci で依存関係をインストールし、dist/index.js をビルドします。サーバーは標準入力で MCP を使用し、クライアントが接続するまで起動したままになります。
git clone https://github.com/Colchora/dmt-receipts.git
cd dmt-receipts
npm ci
node examples/run-demo.mjs
このスクリプトは examples/demo-memory.json に対して prepare_memory を呼び出し、次に inscription id を指定せずに verify_inscription を呼び出します。成功すると、次のように表示されます。
| チェック | 値 |
|---|---|
sha256 | 76f3f9ff531cecbfe46e676e932f9b0d9d02b3d7c04e5a558924a8092cb0294b |
byte_length | 170 |
status | prepared |
matches_expected_sha256 | true |
ok | バイト列が inscription されるまでは false |
メモリが準備済みの状態にとどまっている間、ok は false のままです。正規のバイト列と一致する inscription の内容があれば、その後の検証が成功します。同じ数値は examples/expected-digest.json にも記載されています。
Cursor はビルド後に .cursor/mcp.json を読み込みます。${workspaceFolder} はそのファイルがあるディレクトリを指します。
{
"mcpServers": {
"dmt-receipts": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"]
}
}
}
Claude Desktop などのクライアントでは、ビルド済みファイルへの絶対パスを使用します。
{
"mcpServers": {
"dmt-receipts": {
"command": "node",
"args": ["/absolute/path/to/dmt-receipts/dist/index.js"]
}
}
}
examples/demo-memory.json にある 5 つのフィールド(agent_id、key、content、tags、created_at)を指定して prepare_memory を呼び出します。inscription_id を取得するまでは、返された memory と sha256 を fetch_content: false、include_trac: false とともに verify_inscription に渡します。
ツール:
prepare_memory— メモリを正規化してハッシュ化し、Ordinals/TAP の inscription レシピ(UTF-8 のコンテンツ+任意のdtaポインター)を返します。verify_inscription— ダイジェストを再計算し、任意で inscription の内容を取得して比較し、エクスプローラーのリンクを返します。
手順:examples/README.md。エージェントのインデックス:llms.txt。プロトコルのバイト列:ライブ版 llms.txt。
準備、inscription、検証
agent_id、key、contentを指定してprepare_memoryを呼び出します。inscription_recipe.content_utf8を TAP Wallet または任意の Ordinals/TAP ツールで Ordinals コンテンツ(application/jsonまたはtext/plain)として inscription します。任意の TAPdta(≤512 bytes)には、トークンデプロイのフローでsha256:<hex>を格納できます。inscription_id/txidとともにメモリを保存します。- メモリと
inscription_idを指定してverify_inscriptionを呼び出します。
同じ準備と検証の手順は、インストールせずにブラウザーでも実行できます:Anchor、続いて Verify。
正規のメモリ形式
コンパクトな UTF-8 JSON で、末尾に改行を付けず、キーを Unicode コードポイント順に並べ、非 ASCII 文字はエスケープせずに記述します。
{"agent_id":"demo-agent","content":"Remember this exact state.","created_at":"2026-11-05T17:00:00Z","key":"notes/hello","tags":["demo"]}
| フィールド | 型 | 備考 |
|---|---|---|
agent_id | string | エージェントの固定識別子です。 |
key | string | メモリのキー、スラッグ、またはパスです。 |
content | string、object、array、number、または boolean | ネストされた値は JSON 互換である必要があります。 |
tags | string の配列 | タグがない場合は [] を使用します。 |
created_at | string | ISO-8601 UTC 形式で、末尾は Z、精度は秒単位です。 |
| (拡張フィールド) | 任意の JSON 値 | 追加のフィールドはすべてのフィールドとともに並べ替えられ、ハッシュに含まれます。prepare_memory は追加のツール引数を保持します。 |
プロトコルとプライバシー
Inscription の内容は Bitcoin 上で公開されます。秘密情報を inscription しないでください。このツールが独自のバックエンドにメモリのバイト列をアップロードすることはありません。検証中にコンテンツを取得する場合は、公開エクスプローラーに接続します。
ライセンス
MIT
サポートと Tap 買い戻し
任意の、信頼に基づく資金提供はライブサイトで受け付けています。
メモリの準備/inscription ツールは、マイナー/inscriber に支払う Bitcoin ネットワークの inscription 手数料を除き、無料です。このリポジトリはカード決済を処理しません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。