mcpField
A
Agent Receipts

Agent Receipts

ローカル
github.com/webaesbyaminAI・エージェント1今日更新

Agent Receipts について

Agent Receiptsは、AIエージェント向けのローカル記憶・行動監査システムで、記憶や操作にEd25519署名付きの検証可能なレシートを付与します。記憶の出所や操作を追跡したい開発者向けで、データはローカルに保存されます。

主な機能

  1. 01セッションをまたぐエンティティ関係の記憶
  2. 02記憶と操作への署名付きレシート
  3. 03レシートと来歴チェーンの検証
  4. 04検証可能な記憶バンドルの入出力
  5. 05ローカルSQLiteストレージ
  6. 06CLIとローカルダッシュボード

活用シーン

  1. 01エージェントのセッション間でプロジェクトや好みを保持
  2. 02エージェント操作の入出力を検証
  3. 03記憶した事実の出所を追跡
  4. 04記憶をエクスポートし別のインスタンスで検証

MCP 対応

MCP サーバーは、AIエージェント向けに記憶、操作追跡、レシート検証、制約、評価、記憶バンドルのツールを公開します。READMEにはClaude Code、Claude Desktop、Cursorでの設定例があります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agent-receipts": {
"command": "npx",
"args": [
"-y",
"@agent-receipts/mcp-server"
]
}
}
}
起動コマンドnpx -y @agent-receipts/mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@agent-receipts/mcp-server0.5.0

ツール

24

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
actionstringはい記録するアクション名(例:“generate_code”、“analyze_data”)
input_hashstringはい入力データの事前計算済み SHA-256 ハッシュ。形式は "sha256:hexstring"
receipt_typeenumいいえレシートのタイプ:“action”(デフォルト)、“verification”、“judgment”、または“arbitration”action | verification | judgment | arbitration
output_hashstring|nullいいえ出力データの事前計算済み SHA-256 ハッシュ。形式は "sha256:hexstring"
output_summarystring|nullいいえ出力の人が読める要約
modelstring|nullいいえ使用した AI モデル
tokens_inanyいいえ入力トークン数
tokens_outanyいいえ出力トークン数
cost_usdanyいいえUSD 建ての費用
latency_msanyいいえレイテンシ(ミリ秒)
tool_callsanyいいえアクション中に呼び出されたツール
tagsanyいいえ分類用タグ
confidenceanyいいえ信頼度スコア(0~1)
metadataobjectいいえ任意のメタデータ
parent_receipt_idstring|nullいいえチェーンの親レシート ID
chain_idstringいいえチェーン ID(指定がない場合は自動生成)
statusenumいいえ初期ステータス:“pending”(デフォルト。後で完了)または“completed”pending | completed | failed | timeout
constraintsarrayいいえ評価する制約定義の配列(タイプ:max_latency_ms、max_cost_usd、min_confidence、required_fields、status_must_be、output_schema)
expires_atstringいいえこのレシートの有効期限となる ISO 日時
ttl_msnumberいいえ現在からの有効期間(ミリ秒)

詳細

Agent Receipts

AI エージェントはすべてを記憶し、その記憶を証明できます。

暗号学的なレシートで裏付けられた、AI エージェント向けの永続メモリです。エージェントが学習するすべての事実は署名され、追跡可能で、第三者が独立して検証できます。クラウドは不要です。

ライブデモ インタラクティブなガイド npm バージョン ライセンス:MIT

インタラクティブデモを試す · 30 秒でインストール · 他との違い


問題点

AI エージェントを使って開発しているとします。Claude Code が認証モジュールをリファクタリングし、「完了しました。すべてのテストに合格しました」と報告します。エージェントが顧客向けの見積もりを作成し、正しい価格を適用したと言います。アシスタントは先週のあなたの好みを覚えています。しかし、なぜそう判断したのか、あるいはその判断が正しいのかを確認できません。

次の 3 つの問題があります。

  1. エージェントはセッションが変わるとすべてを忘れます。 会話のたびにゼロから始まります。コンテキストが失われ、同じことを何度も説明し直すことになります。

  2. エージェントが記憶していても、その中身を確認できません。 プラットフォームのメモリはブラックボックスです。何を、いつ、なぜ保存したのか確認できません。修正、エクスポート、検証もできません。

  3. エージェントが実際に何をしたかを証明する方法がありません。 ログは変更可能です。エージェントは自分でログを書きます。「ファイルを 3 つ更新し、すべてのテストに合格しました」――本当にそうでしょうか。エージェント自身の作業について、その言葉を信じるしかありません。

Agent Receipts ができること

実際に使えるメモリ

エージェントはセッションをまたいで、人物、プロジェクト、ツール、設定、事実などを構造化された形で永続的に記憶できます。単純なキーと値のストアではありません。すべての事実が、それを生み出した会話に紐づく、エンティティと観察事項のグラフです。

# Your agent learns something
memory_observe → "User prefers TypeScript, uses Neovim, building a SaaS called ModQuote"

# Next session, it already knows
memory_context → loads everything: entities, observations, relationships, preferences

# You can search it
memory_recall → "what tech stack does the user prefer?" → structured results

# You can forget (and the forget itself is tracked)
memory_forget → soft delete with audit trail

システムプロンプトを追加すると、エージェントがこれを自動的に処理します。メモリを手動で管理する必要はありません。

本物の証明

メモリの観察事項やエージェントのアクションが発生するたびに、署名付き JSON ドキュメントであるレシートが生成されます。レシートには次の情報が含まれます。

  • Ed25519 署名 — 改ざんを防ぎ、第三者が独立して検証できます
  • 入出力のハッシュ — 何が入力され、何が出力されたかを正確に証明します(生データは保存されません)
  • タイムスタンプ — 発生時刻と完了時刻
  • エージェント ID — 実行したエージェント
  • 来歴チェーン — あらゆるメモリを、それを生み出した会話までたどれます

これはログではありません。ログはエージェント自身が自らについて書く、変更可能なテキストファイルです。レシートは暗号学的な証明であり、あなたやサーバー、エージェントを信頼しなくても、第三者が検証できます。

すべてローカルで実行
npx @agent-receipts/mcp-server

これだけです。API キーも、アカウントも、クラウドも、月額料金も不要です。データがマシンの外に送信されることもありません。SQLite データベースは ~/.agent-receipts/ に保存されます。オフラインでも動作します。

これが必要な理由

私は ModQuote を開発していました。自動車保護施工店向けに、AI エージェントが見積もりを作成するマルチテナント SaaS です。実際のお金が動き、実際のお客様がいて、実際の法的責任が伴います。

Claude が 2,400 ドルの PPF 見積もりを作成したとき、私は答えが必要でした。どの車両データを受け取ったのか?どの価格設定ルールを適用したのか?お客様が価格に異議を唱えた場合、何が起きたのかを証明できるのか?エージェント自身が記録したログではなく、暗号学的な証明で。

既存のツールを調べました。

  • Mem0 — 優れたメモリー機能がありますが、証明はできません。情報を記憶できますが、いつ、なぜ学習したのかは証明できません。メモリーは変更可能です。
  • Langfuse — 優れた可観測性機能がありますが、これはトレーシングであり、証明ではありません。ログはシステム内部のもので、第三者が検証できません。
  • Zep — 時系列ナレッジグラフですが、ホスト型で中身が不透明です。

どれも、次の問いには答えられませんでした。「この特定のエージェントが、この特定の入力を使って、この特定の時刻に、この特定のアクションを実行したことを、システム外部の人に証明できますか?」

そこで Agent Receipts を開発しました。今では、見積もりの生成ごとに署名付きレシートが作成されます。すべてのメモリーには来歴チェーンがあります。そして「エージェントはどうやってその金額を算出したのか?」と聞かれたとき、自分で検証できるレシートを渡せます。

何が違うのか

Agent ReceiptsMem0LangfuseZep
メモリー署名付きのエンティティ・観察グラフスマート抽出+統合メモリーなし時系列ナレッジグラフ
証明Ed25519 署名付きレシートなし変更可能なトレースなし
検証オフラインで、誰でも、サーバー不要なしなしなし
インフラストラクチャnpx だけで完了。設定不要。抽出に LLM が必要クラウドまたはセルフホストクラウド API
コスト永久に無料(ローカル)無料プラン、その後は有料無料プラン、その後は有料有料
エクスポート暗号検証対応のポータブルバンドルエクスポート可能API エクスポートなし
監査証跡不変のレシートチェーン変更可能変更可能なログ変更可能

Agent Receipts は、これらのツールの改良版ではありません。別の種類のツールです。

Mem0 が答えるのは、「エージェントは何を記憶しているか?」 Langfuse が答えるのは、「LLM パイプラインで何が起きたか?」 Agent Receipts が答えるのは、「それを証明できますか?」

はじめに

1. MCP サーバーを追加する

Claude Code:

claude mcp add agent-receipts -- npx @agent-receipts/mcp-server

Claude Desktop(claude_desktop_config.json)/Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "agent-receipts": {
      "command": "npx",
      "args": ["@agent-receipts/mcp-server"]
    }
  }
}
2. システムプロンプトを追加する

これにより、メモリーをいつ記録し、コンテキストをいつ呼び出し、アクションをいつ追跡するかをエージェントに指示でき、自動的に動作します。

npx @agent-receipts/cli prompts claude-code

出力をプロジェクトの指示またはシステムプロンプトにコピーします。

3. 使い始める

エージェントは次のことを行うようになります。

  • セッション開始時に memory_context を呼び出し、あなたについて把握している情報を読み込む
  • 記憶する価値のある情報を学んだときに memory_observe を呼び出す
  • 重要なアクションを実行したときに track_action を呼び出す
  • すべてに Ed25519 で署名する
4. 動作を確認する
npx @agent-receipts/dashboard    # Web UI at localhost:3274
npx @agent-receipts/cli stats    # Terminal overview
npx @agent-receipts/cli memory entities  # See what your agent remembers
5. インストール前に試す

インタラクティブデモを実行 → — メモリー、検証、バンドルのエクスポートを 60 秒で体験できます。インストールは不要です。

含まれるもの

  • 24 個の MCP ツール — メモリー、アクション、検証、制約、判断、請求、バンドル
  • 21 個の SDK メソッド — TypeScript API 全機能
  • 14 個の CLI コマンド+9 個のメモリーサブコマンド — ターミナル中心
  • 18 個のダッシュボードページ — レシート、メモリーグラフ、チェーン、エージェント、制約、判断、請求書
  • 492 個のテスト — TypeScript の any はゼロ、ESLint 警告はゼロ
  • Ed25519+SHA-256 — @noble/ed25519 を使用(監査済み、純粋な JavaScript)
  • SQLite+FTS5 — ローカル優先の全文メモリー検索

ポータブルメモリーバンドル

エージェントのメモリー全体を、検証可能な単一のファイルとしてエクスポートできます。

npx @agent-receipts/cli memory export > my-project.bundle.json

バンドルには、すべてのエンティティ、観察、関係性、それらを作成したレシート、そしてすべてを検証するために必要な公開鍵が含まれます。別のエージェント、別のチーム、または別の Agent Receipts インスタンスに渡せば、相手はあなたを信頼することなく、すべての事実を検証できます。

リンク

インタラクティブデモブラウザーで60秒間お試しいただけます
ライブダッシュボードサンプルデータを含むダッシュボード全体をご覧いただけます
仕組みレシートの構造、メモリモデル、ModQuote のストーリー
npm6つのパッケージすべて
SDK API リファレンス全文(21メソッド)
アクションの追跡
  • ar.track(params) — ハッシュを自動生成して完了済みのアクションを追跡します
  • ar.start(params) — 保留中のレシートを作成します
  • ar.complete(receiptId, params) — 保留中のレシートを完了します
  • ar.verify(receiptId) — レシートの Ed25519 署名を検証します
  • ar.get(receiptId) — ID でレシートを取得します
  • ar.list(filter?) — フィルタリングとページネーションを指定してレシートを一覧表示します
  • ar.getPublicKey() — 署名用の公開鍵を取得します
  • ar.getJudgments(receiptId) — レシートの判定結果を取得します
  • ar.cleanup() — 期限切れのレシートを削除します
  • ar.generateInvoice(options) — レシートから請求書を生成します
メモリ
  • ar.context(params?) — セッション初期化用のメモリコンテキスト全体を取得します
  • ar.observe(params) — メモリの観察結果を保存します(常にレシートを作成します)
  • ar.recall(params?) — メモリを検索します(デフォルトでは記録せず、レシートを作成する場合は audited: true を指定します)
  • ar.forget(params) — 観察結果またはエンティティを論理削除します(常にレシートを作成します)
  • ar.entities(filters?) — エンティティを一覧表示します
  • ar.relate(params) — エンティティ間の関係を作成します
  • ar.provenance(observationId) — 来歴チェーンを取得します
  • ar.memoryAudit(params?) — メモリ監査レポートを取得します
バンドル
  • ar.exportBundle(params?) — ポータブルで検証可能なメモリバンドルをエクスポートします
  • ar.importBundle(bundle, params?) — メモリバンドルをインポートして検証します
エイリアス
  • ar.emit(params) — track() のエイリアスです
MCP ツールリファレンス全文(24ツール)
ツール説明主なパラメーター
track_actionハッシュを自動生成してエージェントのアクションを追跡しますaction, input, output, constraints
create_receipt事前計算したハッシュを使用してレシートを作成しますaction, input_hash, output_hash
complete_receipt結果を指定して保留中のレシートを完了しますreceipt_id, output, status
verify_receipt暗号署名を検証しますreceipt_id
get_receiptID でレシートを取得しますreceipt_id
list_receiptsフィルタリングしてレシートを一覧表示しますagent_id, status, chain_id
get_chainチェーン内のすべてのレシートを取得しますchain_id
get_public_keyEd25519 公開鍵をエクスポートします—
judge_receiptAI Judge による評価を開始しますreceipt_id, rubric
complete_judgment保留中の判定を完了しますreceipt_id, verdict, score
get_judgmentsレシートのすべての判定結果を取得しますreceipt_id
cleanup期限切れのレシートを削除しますdry_run, cleanup_memory
generate_invoiceレシートから請求書を生成しますfrom, to, format
get_startedはじめに読むためのガイド—
memory_contextセッション初期化用のコンテキスト全体を取得しますscope, max_entities
memory_observeメモリの観察結果を保存しますentity_name, entity_type, content
memory_recall保存済みのメモリを検索しますquery, entity_type, scope
memory_forget観察結果またはエンティティを論理削除しますentity_id または observation_id
memory_entities既知のエンティティを一覧表示しますentity_type, scope, query
memory_relateエンティティ間の関係を作成しますfrom_entity_id, to_entity_id, type
memory_provenance観察結果の来歴チェーンを取得しますobservation_id
memory_auditメモリ操作の監査レポートを取得しますagent_id, from, to
memory_export_bundleポータブルなメモリバンドルをエクスポートしますentity_ids, include_receipts
memory_import_bundleメモリバンドルをインポートして検証しますbundle, skip_existing
CLI の完全なリファレンス
コマンド説明
initデータディレクトリを作成し、署名鍵を生成します
keys [--export] [--import]署名鍵を表示、エクスポート、またはインポートします
inspect <id|file>レシートを整形して表示します
verify <id|file> [--key]レシートの署名を検証します
list [--agent] [--status] [--json]フィルターを指定してレシートを一覧表示します
chain <chain_id> [--tree]レシートチェーンを表示します
judgments <id> [--json]レシートに対する判定を一覧表示します
cleanup [--dry-run]有効期限が切れたレシートを削除します
statsレシートの統計情報を集計します
export <id|--all> [--pretty]レシートを JSON 形式でエクスポートします
invoice --from --to [--format]請求書を生成します
seed [--demo] [--count] [--clean]デモデータを登録します
watch [--agent] [--action]新しいレシートを監視します
prompts <client>セットアップガイド(claude-code、cursor、system)
memory contextメモリーコンテキストの概要
memory observe <name> <type> <content>観察内容を保存します
memory recall [query]メモリーを検索します
memory entities [--type]エンティティを一覧表示します
memory forget <id>観察内容またはエンティティを忘れます
memory auditメモリー監査レポート
memory provenance <obs_id>プロベナンスチェーン
memory exportメモリーを JSON 形式でエクスポートします
memory import <file>メモリーをインポートします
設定
環境変数説明デフォルト
AGENT_RECEIPTS_DATA_DIRデータディレクトリのパス~/.agent-receipts
AGENT_RECEIPTS_AGENT_IDデフォルトのエージェント IDlocal-agent
AGENT_RECEIPTS_ORG_ID組織 IDlocal-org
AGENT_RECEIPTS_ENVIRONMENT環境ラベルproduction
RECEIPT_SIGNING_PRIVATE_KEYEd25519 秘密鍵(16 進数)自動生成

ストレージ:

~/.agent-receipts/
├── keys/
│   ├── private.key    # Ed25519 private key (mode 0600)
│   └── public.key     # Ed25519 public key
├── receipts.db        # SQLite database (receipts + memory)
└── config.json        # Agent and org configuration

パッケージ

パッケージ説明
@agent-receipts/schemaZod スキーマと TypeScript 型
@agent-receipts/cryptoEd25519 署名、検証、鍵管理
@agent-receipts/mcp-server24 個のツールを備えた MCP サーバー
@agent-receipts/sdkTypeScript SDK(21 個のメソッド)
@agent-receipts/cliコマンドラインインターフェース
@agent-receipts/dashboardミッションコントロールの Web UI

ロードマップ

  • クラウドティア — チームダッシュボード、複数エージェント間のメモリー同期、組織間検証
  • セマンティック検索 — 埋め込み表現を活用したメモリー検索
  • フレームワークアダプター — LangChain、CrewAI、AutoGen との統合
  • 組織間の信頼ブリッジ — 2 つの組織が互いのエージェントのレシートを検証

ライセンス

MIT


Amin Suleiman が開発 — ModQuote と Agent Receipts を開発しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。