mcpField
S
sdk

sdk

ローカル
mnemopay.comAI・エージェント84 日前に更新

sdk について

MnemoPayは、AIエージェントを開発する方向けのガバナンスSDKで、エージェントランタイムと決済レールの間に位置します。チャーター、予算管理、承認、検証可能な監査記録により、決済などの重要な操作を統制します。

主な機能

  1. 01チャーターとポリシーの適用
  2. 02予算管理と人による承認
  3. 03ハッシュチェーン監査記録と監査バンドル
  4. 04エージェントのレピュテーション評価
  5. 05複数の決済レール

活用シーン

  1. 01エージェントの決済予算の制限
  2. 02重要な操作への承認要求
  3. 03規制対象ワークフローの監査証拠作成

MCP 対応

SDKは、ツール呼び出しの計測・課金、レピュテーション評価、監査可能な領収記録を備えたMCPサーバーの構築に使えます。明示的にマウントできるMnemoPay MCPサーバーも含まれます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"com-mnemopay-sdk": {
"command": "npx",
"args": [
"-y",
"@mnemopay/sdk"
],
"env": {
"MNEMOPAY_API_KEY": "<MNEMOPAY_API_KEY>",
"MNEMOPAY_PERSIST_DIR": "<MNEMOPAY_PERSIST_DIR>"
}
}
}
}
起動コマンドnpx -y @mnemopay/sdk
設定が必要な環境変数
MNEMOPAY_API_KEYシークレットMnemoPay API key from https://mnemopay.com/dashboard
MNEMOPAY_PERSIST_DIRDirectory where the local ledger + memory store persist (default: ~/.mnemopay)

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

パッケージ
npm@mnemopay/sdk1.14.2

ツール

14

掲載時のツール一覧 · 4 日前に更新

パラメーター型必須説明
tagsarrayいいえ分類用のタグ(任意)
contentstringはい記憶する内容
importancenumberいいえ重要度スコア(0-1)。省略した場合は自動でスコア付けされます。

詳細

MnemoPay

npm version PyPI version smithery badge License

重大な結果を伴うアクションを実行する AI エージェントのためのガバナンスレイヤーです。 憲章に基づくミッションの範囲、人間の承認を挟んだポリシー適用、FiscalGate による予算の適用、EU AI Act 第 12 条の監査バンドル、エージェントの評判スコア(300~850)、改ざんの痕跡が残る MerkleAudit チェーンを備えています。アクションが資金を移動させる場合も、インフラを変更する場合も対応します。

MnemoPay は、決済レール(Stripe、Paystack、Lightning、Stripe MPP、x402、Google AP2)の上位、エージェントのランタイム(LangChain、CrewAI、Claude Agent SDK、独自のループ)の下位に位置します。レールは資金を動かし、ランタイムは判断を下します。MnemoPay はルールを宣言し、予算を適用し、その証拠を生成します。

決済は、重大な結果を伴うアクションの一種です。同じ憲章、ポリシー、承認、監査の経路が、運用ツールにも適用されます。処理が決済を完了させるのか、ノードを停止させるのかにかかわらず、基本機能は変わりません。

npm install @mnemopay/sdk

初めての方へ: docs/QUICKSTART.md から始めてください。60 秒、3 ステップで、動作するコードを試せます。

ドキュメント: クイックスタート · アーキテクチャ · 権限 · アクション台帳 · インテグレーション(OpenAI/Anthropic/Gemini/Cohere/Mistral/LangGraph) · リコール · FiscalGate · 監査バンドル(EU AI Act 第 12 条) · サブパスインポートのルール · Claude Agent SDK ガイド · バンドラー:Vite · Webpack · Bun

コミュニティ: ライセンス(Apache 2.0) · 変更履歴 · コントリビューション · 行動規範 · セキュリティ · ディスカッション · 初めての方におすすめの Issue

証拠: トラストハブ(事業体、KYB、Apple Team ID、第 12 条の監査チェーン — 5 分以内で検証可能) · ベンチマーク(100 万オペレーション、敵対的入力を 100% 検出、台帳の不整合 $0) · PyPI の Python SDK(1.1.0 以降、TS の全レールと同等)

import MnemoPay, {
  Charter, FiscalGate, MerkleAudit,        // governance primitives
  AgentReputationScoring, BehavioralEngine, // trust + reputation
  StripeRail, X402Rail, GoogleAP2Rail,      // rails
} from "@mnemopay/sdk";

const agent = MnemoPay.quick("my-agent");

await agent.remember("User prefers monthly billing");
const tx = await agent.charge(25, "Monthly API access");   // FiscalGate hold
await agent.settle(tx.id);                                  // FiscalGate capture

// Agent Reputation Score — portable, 300-850 range. NOT FICO-brand, NOT a consumer
// credit report, NOT governed by FCRA. Scores agents (software), not humans.
const scorer = new AgentReputationScoring();
const result = scorer.compute({ transactions: [tx], createdAt: new Date(), /* ... */ });
// → { score: 672, rating: "good", feeRate: 0.015, trustLevel: "standard" }

14 個のモジュール。ハッシュチェーン台帳。憲章/FiscalGate/第 12 条監査バンドル。6 種類の決済レール。20 万オペレーションのストレステスト済み。Apache 2.0。

MnemoPay が該当しないもの: 銀行でも、送金業者でも、Stripe の代替でも、エージェントフレームワークでも、コンプライアンスプラットフォームでもありません。決済レールとランタイムの間にある、ルールと証拠のレイヤーです。


ガバナンスの遅延(サブ秒の不変条件)

「サブ秒のガバナンス」はマーケティング文句ではなく、テスト済みの不変条件です。tests/bench/governance-latency.bench.ts のベンチマークでは、vitest bench を使って各ガバナンスのホットパスを測定し、シナリオごとに grep 可能な [gov-bench] のサマリー行を出力します。以下の数値は、npm run bench:governance の定常状態におけるパーセンタイルです(開発マシンで実行した結果です。お使いのハードウェアでは異なる場合があります。重要なのは相対的な順序です)。

ホットパスp50p95p99マシン
policy.evaluateAction(EU AI Act、単一の tool_call)2.1 µs2.8 µs5.0 µsIntel i5-1035G1 @ 1.0 GHz · Node 25.9 · Windows 11
MerkleAudit.record(追記+チェーンハッシュ)20 µs45 µs150 µsIntel i5-1035G1 @ 1.0 GHz · Node 25.9 · Windows 11
MnemoPayLite.remember() の自動アンカー付きエンドツーエンド(Ed25519)1.0 ms1.7 ms2.5 msIntel i5-1035G1 @ 1.0 GHz · Node 25.9 · Windows 11

イベントごとのホットパス(evaluateAction、MerkleAudit.record)はどちらも、EU AI Act のポリシーゲート全体の評価と監査チェーンへの書き込みを、1 ミリ秒の中で 2 桁の余裕をもって完了します。Ed25519 の署名、シーケンス処理、チェーンへの出力を含むエンドツーエンドの remember() パスも、「サブ秒のガバナンス」の範囲内に十分収まり、3 桁分の余裕があります。

CI で強制されるガード仕様 tests/governance/latency-invariant.test.ts は、すべての npm test で縮退モードのサンプルを実行し、policy.evaluateAction の p95 が 1 ms を超えて悪化した場合、または MerkleAudit.record の p95 が 5 ms を超えて悪化した場合に失敗します。上限はジッターで失敗しないようにしつつ、約 10 倍の性能低下を検出できる値に設定されています。

再現方法: npm run bench:governance(vitest.bench のハーネス全体)または npm test -- latency-invariant(CI の上限チェック)。


ネイティブレール

各レールは、StripeRail/PaystackRail/LightningRail と同じ PaymentRail インターフェースを備えています。

レール内容
StripeMPPRailStripe Machine Payments Protocol — Stripe 固定の API 2026-03-04.preview を介し、Tempo ネットワーク上の暗号資産デポジットとしてルーティングされるエージェント決済
X402RailCoinbase x402(HTTP 402 の復活)— EIP-3009 の transferWithAuthorization を介した Base L2 上の USDC。署名者を差し替え可能(viem/ethers/noble を持ち込み可能)。SDK に暗号資産関連の依存関係はありません。
GoogleAP2RailGoogle Agent Payment Protocol(FIDO Alliance、AP2 v0.2)。Mandate VC + Intent VC + HTTP 決済。署名を生成する前に、ポリシーを事前適用します(上限、期限、通貨、受取人)。

さらに、Spatial governance fold があります。attachSpatialEvidence() は、実世界のエージェント(ドローン、ロボット)向けに、GridStamp の存在証明を使って MerkleAudit チェーンに共同署名します。疎結合で、gridstamp の実行時依存関係はありません。

より小さく安全な利用者向けのサブパスインポート

MnemoPay のモジュールを 1 つだけ使う場合は、パッケージのルートではなく、そのサブパスをインポートしてください。これにより MCP サーバーやその他の stdio ツールの不要な出力を抑え、使わないミドルウェアがバンドルに含まれるのを防ぎ、依存関係の境界を明確にできます。

import { localEmbed, cosineSimilarity } from "@mnemopay/sdk/recall";
import { StripeRail, X402Rail } from "@mnemopay/sdk/rails";
import { SQLiteStorage } from "@mnemopay/sdk/storage";
import { CommerceEngine } from "@mnemopay/sdk/commerce";

SDK のすべての機能を使う場合は、ルートインポートを使用してください。@mnemopay/sdk/mcp は、MnemoPay MCP サーバーを意図的にマウントする場合に限って使用してください。


Swarm(安定版 — v1.11+)

@mnemopay/sdk/swarm は、browse.sh が公開スキルカタログとして提供していた、これまで欠けていた部分です。私たちの実装では、さらに独自の機能を加えています。Swarm 内のすべてのエージェントが DID を持ち、すべてのアクションがエージェントごとの上限と合計上限に基づいて FiscalGate による事前チェックを受け、すべての TaskResult が共有 Article-12 監査チェーンに追記され、すべてのスキル呼び出しが SDK のほかの部分ですでに使われているものと同じハッシュチェーン付き台帳を通じて課金されます。

CLI: npx @mnemopay/swarm list · npx @mnemopay/swarm demo — mnemopay-swarmをご覧ください。

import { Swarm } from "@mnemopay/sdk/swarm";
import { AuditChain } from "@mnemopay/sdk/governance";
import { open } from "@mnemopay/browser";   // any BrowserProvider works

const provider = await someProviderFactory();
const swarm = new Swarm({
  size: 4,
  provider,
  did: "did:mp:abc...",
  budget: { perAgent: 0.25, total: 1.00 },
  audit: { chain: new AuditChain() },
});

const run = await swarm.spawn([
  { id: "t1", skillId: "ramp.com/expense-create",  prompt: "submit $42 lunch" },
  { id: "t2", skillId: "linear/issue-create",      prompt: "file UI bug" },
  { id: "t3", skillId: "cloudflare/dns-record-set", prompt: "add CNAME" },
]);

const results = await swarm.gather(run);
const final   = await swarm.recombine(results, "merge-json");

利用する場面。 複数ソースの調査、プラットフォーム横断の課題トリアージ、A/B テスト形式の「3 つのエージェントに尋ねて、多数決の答えを採用する」など、問題に取り組むためにブラウザーセッションを N 個並行して開くような場面で、監査バンドルを 1 つにまとめ、予算枠を 1 つにし、課金処理も 1 か所に集約したい場合に使います。

3 つの再結合戦略(独自の戦略も指定できます)。

  • first-success — 最初の ok:true タスクの出力を返します。どの答えでもよい競争パターンに最適です。
  • majority-vote — ok:true のタスクのうち、最も多く出現した出力を返します。合意が重要な事実抽出に最適です。
  • merge-json — ok:true のオブジェクト出力をすべて、キーをソートしてディープマージします(実行ごとに決定的な結果になります)。
  • concat — 文字列の出力を、起動順に \n で連結します。
  • または、任意の (results) => unknown コールバックを渡します。

スキルカタログ。 公開リストは mcp.mnemopay.com/skills にあります。カタログは意図的に小規模に保たれ、正確な表示を心がけています。認定パートナーのバッジは、正式なパートナーシップの締結後にのみ表示されます。それ以外はすべて verified: false, status: 'pending-partner' と表示されるため、どの信頼レベルの相手なのかを正確に把握できます。

BrowserSwarm — ブラウザーセッションをネイティブに並列展開(1.11.0 から安定版)

@mnemopay/sdk/swarm/browser は、タスクごとに型付きステップシーケンス(goto / act / extract / screenshot / wait)を指定できるように Swarm を拡張し、@mnemopay/browser への遅延接続を提供します(オプションのピア依存関係です。SDK をインストールしても Playwright はインストールされません)。各タスクにはそれぞれ専用のブラウザーセッションが割り当てられ、各ステップは browser.step イベントとして共有監査チェーンに追記されます。また、ステップで例外が発生してもそのタスクだけが終了し、ほかのセッションは実行を続けます。

import { BrowserSwarm } from "@mnemopay/sdk/swarm/browser";
const swarm = new BrowserSwarm({
  size: 3, provider: undefined as never,
  budget: { perAgent: 0.25, total: 1.00 },
  browser: { provider: "stagehand" },
});
const run = await swarm.spawn([
  { id: "amzn", prompt: "amazon price",  steps: [{type:"goto", url:"https://amazon.com/dp/X"},  {type:"extract", selector:"#priceblock_ourprice"}] },
  { id: "bby",  prompt: "best buy price", steps: [{type:"goto", url:"https://bestbuy.com/site/X"},{type:"extract", selector:".priceView-customer-price"}] },
  { id: "tgt",  prompt: "target price",   steps: [{type:"goto", url:"https://target.com/p/X"},   {type:"extract", selector:"[data-test=product-price]"}] },
]);
const results = await swarm.gather(run);   // BrowserTaskResult[] with .screenshots + .extractedData

課題は github.com/mnemopay/mnemopay-sdk から報告してください。

監査専用ミドルウェア — ストリーミングとディスク上のチェーンに対応した .audit(client)(1.11.0-alpha.0)

プロンプトの変更が一切違反となる一方で、Article-12 テレメトリーは引き続き必要なチャットウィジェットや規制対象のパイプライン向けです。

import { AuditChain } from "@mnemopay/sdk/governance/audit-chain";
import { AnthropicMiddleware } from "@mnemopay/sdk/middleware/anthropic-audit";

const chain = new AuditChain({ path: "./.audit-chain/llm.jsonl" });  // file-backed since 1.11.0-alpha.0
const client = AnthropicMiddleware.audit(new Anthropic(), { chain });

// .create AND .stream now both emit one `llm.call` event per call. Streams
// that get cancelled mid-iteration emit `partial: true` with tokens-so-far.
for await (const chunk of client.messages.stream({ model, max_tokens, messages })) { /* ... */ }

@mnemopay/sdk/middleware/openai-audit は、OpenAI 向けの同等のインターフェースを提供します。chat.completions.create({ stream: true }) は自動的にインターセプトされます(最終的な使用量ブロックを取得するには、stream_options: { include_usage: true } を渡してください)。


MCP サーバーを構築していますか?こちらから始めましょう。

MCP サーバーをリリースし、1 回ごとの課金(サブセント単位でも)を行いたい場合、MnemoPay が最適です。

  • Lightning レールによるサブセント決済(手数料のため Stripe/Paystack では実現不可能)
  • agent.charge(amount, toolName) によるツールごとの計測 — 2 行のコードで実装できます
  • エージェント評価スコアリングが悪質な呼び出し元を自動的に制限 — 300〜850 の評価スコア、無料ティアと有料ティア
  • すべてのユーザーが監査できる暗号技術によるレシート — 「信じてくれ」という課金はありません
  • 導入する最初の 10 個の MCP サーバーは無期限で無料です。今後変更する場合は 90 日前の書面通知を条件とします(リポジトリを添えてメールしてください)
import MnemoPay from "@mnemopay/sdk";
const agent = MnemoPay.quick("my-mcp-server");

// Inside your tool handler:
const tx = await agent.charge(0.002, "embed_document");  // 0.2¢
if (tx.status === "blocked") return { error: "Payment declined" };
await agent.settle(tx.id);
// ... run the tool

ゼロ設定のスターターから、本番環境の Lightning レール、そしてエージェント評価スコアリングによる制限まで。同じ API で実現できます。


MnemoPayの差別化ポイント

5社の競合企業には8,700万ドルが投資されていますが、以下の10機能のうち3つを超えて備えている企業はありません。

機能MnemoPayMem0(2,400万ドル)Skyfire(950万ドル)Kite(3,300万ドル)Payman(1,400万ドル)
永続メモリありありなしなしなし
決済レール(3種類)ありなしUSDC のみステーブルコイン銀行のみ
エージェント ID(KYA)ありなし開発中パスポートなし
エージェント評判スコア(300~850)ありなしなしなしなし
行動ファイナンスありなしなしなしなし
メモリの完全性(Merkle)ありなしなしなしなし
EWMA 異常検知ありなしなしなしなし
複式簿記台帳ありなしなしなしなし
自律型コマースありなしなしなしなし
マルチエージェントネットワークありなし一部対応一部対応なし
スコア10/101/102/102/101/10

エージェント評判スコア

AI エージェント向けの画期的なクロスセッション評判スコアリングシステムです。5つの要素を用い、300~850の範囲でスコアを算出します(消費者信用スコアとして開発者にもなじみのある方式です。MnemoPayはFair Isaac Corporationまたは消費者信用調査機関とは提携していません)。

import { AgentReputationScoring } from "@mnemopay/sdk";

const scorer = new AgentReputationScoring();
const result = scorer.compute({
  transactions: await agent.history(1000),
  createdAt: agentCreationDate,
  fraudFlags: 0,
  disputeCount: 0,
  disputesLost: 0,
  warnings: 0,
  budgetCap: 5000,
  memoriesCount: agent.memories.size,
});

console.log(result.score);      // 742
console.log(result.rating);     // "very_good"
console.log(result.feeRate);    // 0.013 (1.3%)
console.log(result.trustLevel); // "high"
console.log(result.requiresHITL); // false
要素重み測定内容
支払い履歴35%成功率、異議申し立て、直近の取引を重視
信用利用率20%支出と予算上限の比較。適正範囲は10~30%
履歴の長さ15%アカウントの経過期間、活動密度
行動の多様性15%取引相手、カテゴリ、金額の範囲
不正記録15%不正フラグ、敗訴した異議申し立て、警告
スコア範囲評価信頼レベル手数料率
800-850最高全面的な信頼1.0%
740-799非常に良い高い信頼1.3%
670-739良い標準1.5%
580-669公正制限付き1.9%
300-579低い最小限+HITL2.5%

行動ファイナンスエンジン

ノーベル賞受賞者ダニエル・カーネマンと共同研究者による、査読済みの行動経済学を採用しています。すべてのパラメーターは、公開済みの研究を出典としています。

import { BehavioralEngine } from "@mnemopay/sdk";

const behavioral = new BehavioralEngine();

// Prospect Theory (Kahneman & Tversky, 1992)
// Losses hurt 2.25x more than gains feel good
behavioral.prospectValue(100);   // { value: 57.5, domain: "gain" }
behavioral.prospectValue(-100);  // { value: -129.5, domain: "loss" }

// Should the agent wait before buying?
const cooling = behavioral.coolingOff(2000, 5000); // amount, monthly income
// → { recommended: true, hours: 3.2, riskLevel: "high", regretProbability: 0.65 }

// Frame spending as goal delay (2.25x more effective than gain framing)
const frame = behavioral.lossFrame(200, {
  name: "Emergency Fund", target: 10000, current: 3000, monthlySavings: 500
});
// → "This $200 purchase delays your Emergency Fund goal by 12 days."

// Save More Tomorrow (Thaler & Benartzi, 2004)
const smart = behavioral.commitmentDevice(0.035, 0.03, 4);
// → { finalRate: 0.095, explanation: "3.5% → 9.5% over 4 raise cycles" }

// Predict regret from purchase history
behavioral.recordRegret({ amount: 300, category: "gadgets", regretScore: 8, timestamp: "..." });
const prediction = behavioral.predictRegret(400, "gadgets");
// → { probability: 0.72, triggerCoolingOff: true }

研究出典: Tversky & Kahneman 1992、Laibson 1997、Thaler & Benartzi 2004、Barber & Odean 2000、Nunes & Dreze 2006、Shiller 2000。


メモリの完全性(Merkle ツリー)

改ざんを検知できるメモリです。誰かがエージェントのメモリを注入、変更、削除すると、Merkle ルートが変化するため、すぐに検知できます。

import { MerkleTree } from "@mnemopay/sdk";

const tree = new MerkleTree();

// Every memory write adds a leaf
tree.addLeaf("mem-1", "User prefers monthly billing");
tree.addLeaf("mem-2", "Last purchase was $25 API access");

// Take periodic snapshots
const snapshot = tree.snapshot();
// → { rootHash: "a3f2...", leafCount: 2, snapshotHash: "b7c1..." }

// Later: check if memories were tampered
const check = tree.detectTampering(snapshot);
// → { tampered: false, summary: "Integrity verified. 2 memories, root matches." }

// Prove a specific memory exists without revealing others
const proof = tree.getProof("mem-1");
MerkleTree.verifyProof(proof); // true

防御対象: MemoryGraft による注入、気付かれない削除、コンテンツの改ざん、リプレイ攻撃、並べ替え攻撃。


異常検知(EWMA+行動フィンガープリンティング+カナリア)

侵害されたエージェントを検知する、独立した3つのシステムです。

import { EWMADetector, BehaviorMonitor, CanarySystem } from "@mnemopay/sdk";

// 1. EWMA: real-time streaming anomaly detection
const detector = new EWMADetector(0.15, 2.5, 3.5, 10);
detector.update(100); // normal
detector.update(100); // normal
detector.update(9999); // → { anomaly: true, severity: "critical", zScore: 8.2 }

// 2. Behavioral fingerprinting: detect hijacked agents
const monitor = new BehaviorMonitor({ warmupPeriod: 10 });
// Build profile over time
monitor.observe("agent-1", { amount: 100, hourOfDay: 14, chargesPerHour: 2 });
// Sudden change = suspected hijack
monitor.observe("agent-1", { amount: 9999, hourOfDay: 3, chargesPerHour: 50 });
// → { suspected: true, severity: "critical", anomalousFeatures: 3 }

// 3. Canary honeypots: plant traps for compromised agents
const canary = new CanarySystem();
const trap = canary.plant("transaction");
canary.check(trap.id, "rogue-agent");
// → { severity: "critical", message: "CANARY TRIGGERED: Agent compromised" }

数式: mu_t = alpha * x_t + (1 - alpha) * mu_{t-1}。|x_t - mu_t| > k * sigma_t の場合にアラートを発します(Roberts 1959、Lucas & Saccucci 1990)。


メモリ(知識ベースの複利的成長)

従来型の RAG 検索ではありません。MnemoPayのメモリは複利的に成長します。取引のたびに関連するコンテキストが強化され、弱いメモリは時間とともに薄れ、強いメモリは統合されます。Karpathyが「LLM Wiki」と表現したものと同じパターンを、決済と信頼に応用しています。

  • エビングハウスの忘却曲線 — メモリは時間とともに自然に薄れていきます
  • ヘッブの法則による強化 — 成功した取引に関連するメモリを強化します
  • RL フィードバックループ — rlFeedback(ids, reward) がエージェントのアクション後に EWMA による重要度の更新を適用します
  • 統合 — 弱いメモリを自動的に削除し、重要な情報を保持します
  • 意味的想起 — 直近のメモリだけでなく、関連性に基づいてメモリを検索します
  • メモリあたり100KB — 文字列だけでなく、豊富なコンテキストを保存できます
// After a recall + action, signal usefulness with rlFeedback
const memories = await agent.recall("user preferences", 5);
// ... agent acts on recalled memories ...
await agent.rlFeedback(memories.map(m => m.id), +1.0);   // +1 = useful, -1 = not useful
永続化アダプターの選択

Recall は、プラグイン可能な PersistenceAdapter によって支えられています。デプロイ構成に応じて選択してください。

アダプターインフラ最適な用途インポート
MemoryAdapter(デフォルト)なし開発、テスト、一時的なエージェント組み込み
SQLiteAdapter単一ファイル(better-sqlite3)単一ノード、ローカル優先、エッジ@mnemopay/sdk/storage
PostgresAdapter / NeonAdapterPostgres + pgvectorホスト型/マルチノードの本番環境(Neon、Supabase、RDS/Aurora、Cloud SQL)@mnemopay/sdk/recall/postgres

PostgresAdapter と NeonAdapter は、同じ pgvector ベースの実装です。 「Neon」はホスト型 Postgres を指すだけなので、インフラに合った名前を使用してください。

import { MnemoPay } from "@mnemopay/sdk";

// Via MnemoPay.create — { type: "postgres" } (alias of "neon")
const agent = await MnemoPay.create({
  agentId: "agent-1",
  persist: { type: "postgres", url: process.env.DATABASE_URL! },
});

// Or construct the adapter directly
import { PostgresAdapter, postgresMigrationSql } from "@mnemopay/sdk/recall/postgres";
const adapter = new PostgresAdapter({ url: process.env.DATABASE_URL! });

スキーマ(vector(384) 列と HNSW コサインインデックス)は、最初の書き込み時に自動作成されます。独自のマイグレーションツールで管理するには、postgresMigrationSql(table?, dimensions?) の DDL を実行し、skipBootstrap: true を渡してください。 オプションのピア依存関係が必要です:npm install pg

信用ストリークとバッジ

エージェントは時間をかけて信頼を獲得します。決済の連続成功によってストリークが伸び、バッジの獲得や手数料の引き下げにつながります。

const rep = await agent.reputation();
console.log(rep.streak);
// → { currentStreak: 47, bestStreak: 312, streakBonus: 0.094 }

console.log(rep.badges);
// → [
//   { id: "first_settlement", name: "First Settlement", earnedAt: 1712700000000 },
//   { id: "streak_50", name: "Streak Master", earnedAt: 1712900000000 },
//   { id: "volume_10k", name: "High Roller", earnedAt: 1713100000000 },
// ]
バッジ条件
初回決済決済を1回完了
ストリーク 10決済を10回連続で完了
ストリーク 50決済を50回連続で完了
取引量 $1K決済総額が$1,000以上
取引量 $10K決済総額が$10,000以上
完璧な記録決済100回以上、異議申し立て0件

返金または異議申し立てが発生すると、ストリークはリセットされます。ストリークボーナスは複利的に信用度を高め、最大+10%になります。

ハッシュチェーン型台帳

すべての台帳エントリーは、SHA-256ハッシュチェーンを介して前のエントリーにリンクされています。エントリーが変更されるとチェーンが切断され、verify() が即座に検出します。

const summary = agent.ledger.verify();
console.log(summary.chainValid);     // true
console.log(summary.chainIntegrity); // 1.0 (100% of links verified)

メモリの Merkle 整合性と取引の HMAC を組み合わせることで、MnemoPay は独立した3つの改ざん検知システムを提供します。

決済(セント単位で正確な複式簿記)

  • 複式簿記 — すべての借方に貸方があり、常に残高はゼロになります
  • エスクローのフロー — 請求 -> 保留 -> 決済 -> 返金(Stripe/Square と同様の形式)
  • 取引量に応じた手数料 — 累計取引量に基づき1.9% / 1.5% / 1.0%
  • 3つの決済レール — Paystack(アフリカ)、Stripe(グローバル)、Lightning(BTC)
  • セント単位で正確な整数演算 — 50の同時稼働エージェントによる200,000件の取引でストレステスト済み、誤差ゼロ

アイデンティティ(KYA コンプライアンス)

  • 暗号学的アイデンティティ — HMAC-SHA256 キーペア、リプレイ保護
  • 機能トークン — 支出上限付きのスコープ指定権限
  • 取引相手の許可リスト — エージェントが取引できる相手を制限
  • キルスイッチ — すべてのトークンを即座に失効

不正検知(ML グレード)

  • 頻度チェック — 分/時間/日ごとの上限
  • Isolation Forest — 教師なし ML による異常検知
  • 地理情報の活用 — 国の追跡、急速な移動の検知、OFAC 制裁への対応
  • 適応型エンジン — 非対称 AIMD、不正操作対策、サーキットブレーカー、PSI ドリフト検知

マルチエージェントコマース

  • CommerceEngine — 委任条件、エスクロー、承認コールバックを備えた自律型ショッピング
  • MnemoPayNetwork — エージェントの登録、取引の実行、共有メモリコンテキスト
  • サプライチェーン — 10段階のエージェントチェーン、100エージェントのマーケットプレイスをすべてテスト済み

Claude Agent SDK との統合

Opus オーケストレーターが Sonnet/Haiku サブエージェントを起動する Claude Agent SDK のパターン向けに、専用設計された2つのプリミティブです。

想起結果の1時間プロンプトキャッシュ

MnemoPay の想起結果を Claude のシステムプロンプトに含める場合は、formatForClaudeCache() を使用して、cache_control: { type: "ephemeral", ttl: 3600 } を含むコンテンツブロックを出力します。Anthropic API はこのプレフィックスを最大1時間キャッシュします。キャッシュ読み取りの料金は、通常の入力料金のおよそ10%です。安定した想起プレフィックスとウォーム状態の1時間キャッシュを使用した場合、想起部分の入力トークンで通常85~92%のコスト削減が確認されています。実際の結果は、呼び出し頻度とメモリーセットの安定性によって異なります。

import MnemoPay, { formatForClaudeCache } from "@mnemopay/sdk";
import Anthropic from "@anthropic-ai/sdk";

const agent = MnemoPay.quick("my-agent");
const anthropic = new Anthropic();

// Option A: recall() directly returns a cache block
const cacheBlock = await agent.recall("user preferences", 10, {
  formatForClaudeCache: true,
});

// Option B: convert an existing memory array (no extra recall call)
const memories = await agent.recall("user preferences", 10);
const cacheBlock2 = MnemoPay.formatForClaudeCache(memories);
// OR: formatForClaudeCache(memories) from the module directly

const response = await anthropic.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  system: [
    { type: "text", text: "You are a helpful assistant.", cache_control: { type: "ephemeral" } },
    cacheBlock,  // ← MnemoPay recall cached for 1 hour
  ],
  messages: [{ role: "user", content: userMessage }],
});

シリアライズされたテキストはメモリー ID 順に並べ替えられるため、同一のメモリーセットからはバイト単位で同一の出力が生成されます。これにより、後続のターンでキャッシュプレフィックスがヒットします。

サブエージェントごとのコスト帰属

マルチエージェントパイプラインで、どのサブエージェントがいくら使ったかを追跡します。監査可能な状態を保つため、複式記帳のペアとして記録されます。

import MnemoPay, { SubagentCostTracker } from "@mnemopay/sdk";

const orchestrator = MnemoPay.quick("orchestrator");

// After each Claude API call, record the cost:
orchestrator.subagentCosts.attributeSubagentCost({
  parentAgentId: "orchestrator",
  subagentId: "researcher-1",
  subagentRole: "researcher",
  modelId: "claude-sonnet-4-6",
  inputTokens: 5000,
  outputTokens: 2000,
  cacheReadTokens: 8500,   // tokens served from the 1h recall cache
  cacheWriteTokens: 500,
  cacheWriteTtl: "1h",
});

// At end of pipeline, get breakdown ordered by cost:
const breakdown = orchestrator.subagentCosts.subagentCostBreakdown("orchestrator");
// → [{ subagentId, subagentRole, modelId, totalCostUsd, cacheSavingsUsd, ... }]

const totalSaved = orchestrator.subagentCosts.totalCacheSavings("orchestrator");

使用する料金表:2026年の Anthropic 公開料金(Opus 4.7:$5/$25/M、Sonnet 4.6:$3/$15/M、Haiku 4.5:$1/$5/M。キャッシュ読み取り:0.1倍、1時間の書き込み:2倍)。料金が変更された場合は、src/subagent-cost.ts の MODEL_PRICING を更新してください。

統合手順の詳細は、docs/agent-sdk-guide.md を参照してください。


決済レール

すべてのレールは同じ PaymentRail インターフェース(createHold / capturePayment / reversePayment)を実装しています。エージェントのコードに手を加えることなく、レールを切り替えられます。

レール対応範囲
StripeRailカード(USD、EUR、GBP など)
PaystackRailアフリカ(NGN、GHS、ZAR、KES)
LightningRailBTC の1セント未満の少額決済
StripeMPPRailStripe MPP 経由の Tempo での暗号資産入金
X402RailEIP-3009 transferWithAuthorization 経由の Base 上の USDC
GoogleAP2RailAP2 v0.2 の委任に基づく決済(FIDO Alliance)
import {
  PaystackRail, StripeRail, LightningRail,
  StripeMPPRail, X402Rail, GoogleAP2Rail,
} from "@mnemopay/sdk";

const paystack  = new PaystackRail(process.env.PAYSTACK_SECRET_KEY!);
const stripe    = new StripeRail(process.env.STRIPE_SECRET_KEY!);
const lightning = new LightningRail(LND_URL, MACAROON);

const mpp   = new StripeMPPRail(process.env.STRIPE_SECRET_KEY!);
const x402  = new X402Rail({ signer: yourEip3009Signer });   // bring-your-own crypto
const ap2   = new GoogleAP2Rail({ mandate, endpoint, signer });

const agent = MnemoPay.quick("my-agent", { paymentRail: paystack });
Stripe — 保存済み顧客情報を使った実カード決済

ブラウザーへの切り替えなしで、ユーザーの保存済みカードに課金するエンドツーエンドのフローです。

import MnemoPay, { StripeRail } from "@mnemopay/sdk";

const rail = new StripeRail(process.env.STRIPE_SECRET_KEY!);
const agent = MnemoPay.quick("agent-1", { paymentRail: rail });

// 1. Create a Stripe customer (one-time, persist cus_... to your DB)
const { customerId } = await rail.createCustomer("[email protected]", "Jerry O");

// 2. Collect a card via Stripe.js: create a SetupIntent, return client_secret
//    to the browser, let Stripe Elements confirm it. You receive pm_... from
//    the webhook or confirmation callback. Save it alongside the customer.
const { clientSecret } = await rail.createSetupIntent(customerId);
// → hand clientSecret to frontend, get back paymentMethodId after confirm

// 3. Charge the saved card later, off-session, no user interaction needed
const tx = await agent.charge(25, "Monthly API access", undefined, {
  customerId,
  paymentMethodId: "pm_saved_from_step_2",
  offSession: true,
});

// 4. Settle (captures the hold) or refund (releases it)
await agent.settle(tx.id);

Paystack でも authorizationCode を使って同じパターンに対応しています。

const tx = await agent.charge(5000, "NGN invoice", undefined, {
  email: "[email protected]",
  authorizationCode: "AUTH_abc123", // from an earlier Paystack transaction
});

MCP サーバー

npx @mnemopay/sdk init
# or
claude mcp add mnemopay -s user -- npx -y @mnemopay/sdk

デフォルトのツールグループ:essentials(14個のツール、約1Kトークン)。 インストールできる MCP サーバーの中でも特に軽量です。MnemoPay はデフォルトでメモリー、ウォレット、tx のみを読み込むため、エージェントのコンテキスト予算を圧迫しません。

  • memory:remember、recall、forget、reinforce、consolidate
  • wallet:balance、profile、history、logs
  • tx:charge、settle、refund、dispute、receipt_get

さらに必要な場合は、明示的に有効にしてください。

npx @mnemopay/sdk --tools=all       # all 95 tools
npx @mnemopay/sdk --tools=agent     # essentials + commerce + hitl + payments + webhooks
npx @mnemopay/sdk --tools=reputation  # Agent Reputation Scoring only

グループ:memory、wallet、tx、commerce、hitl、payments、webhooks、 reputation、security、governance、identity、skills、spatial、 agent_os、organization_admin、operator。エイリアス:essentials(デフォルト)、 agent、all。MNEMOPAY_TOOLS 環境変数でも設定できます。

v1.3.0 の重大な変更: デフォルトが all から essentials に変更されました。フラグなしで commerce/hitl/webhooks/fico/security を利用できることを前提としていた場合は、--tools=all または --tools=agent を指定してください。CHANGELOG を参照してください。


ミドルウェア

想起を意識せずに使えるドロップインプロキシです。チャット呼び出しのたびに、上位のメモリーをシステムコンテキストとして自動挿入し、その後にやり取りを保存します。すべてのプロバイダーで同じ Middleware.wrap(client, agent) 形式を使用します。

// OpenAI
import { mnemoPayMiddleware } from "@mnemopay/sdk/middleware/openai";

// Anthropic
import { mnemoPayMiddleware } from "@mnemopay/sdk/middleware/anthropic";

// Gemini
import { GeminiMiddleware } from "@mnemopay/sdk/middleware/gemini";

// Cohere (v2 chat API)
import { CohereMiddleware } from "@mnemopay/sdk/middleware/cohere";
const cohere = CohereMiddleware.wrap(new CohereClientV2({ token }), agent);

// Mistral
import { MistralMiddleware } from "@mnemopay/sdk/middleware/mistral";
const mistral = MistralMiddleware.wrap(new Mistral({ apiKey }), agent);

// LangGraph
import { mnemoPayTools } from "@mnemopay/sdk/langgraph";

アーキテクチャ

スタック全体の図とモジュール一覧は、docs/architecture.md を参照してください。

┌──────────────────────────────────────────────────────────────────┐
│                       MnemoPay SDK                                │
│              Governance · Memory · Payments · Identity            │
├─────────────────────────────────────────────────────────────────┤
│ GOVERNANCE  Charter · FiscalGate · Article 12 · MerkleAudit      │
│             mission scope, budget enforcement, audit bundles     │
├──────────┬──────────┬───────────┬─────────────────────────────────┤
│  Memory  │ Payments │ Identity  │  Agent Reputation Scoring       │
│          │          │           │  300-850, 5-component           │
│ remember │ charge   │ KYA       ├─────────────────────────────────┤
│ recall   │ settle   │ tokens    │  Behavioral Finance             │
│ reinforce│ refund   │ perms     │  prospect theory, nudges        │
│ forget   │ dispute  │ killswitch├─────────────────────────────────┤
│          │          │           │  Anomaly Detection              │
│          │          │           │  EWMA + fingerprinting          │
├──────────┴──────────┴───────────┼─────────────────────────────────┤
│     Double-Entry Ledger         │  Merkle Integrity               │
│  debit + credit = always zero   │  tamper-evident memory          │
├─────────────────────────────────┼─────────────────────────────────┤
│     Fraud Guard (ML-grade)      │  Canary Honeypots               │
│  velocity + geo + adaptive      │  compromise detection           │
├─────────────────────────────────┴─────────────────────────────────┤
│ SPATIAL    GridStamp adapter — proof-of-presence for embodied      │
│            agents (drones, robots). Loose-coupled, fail-closed.    │
├──────────────────────────────────────────────────────────────────┤
│ RAILS  Stripe · Paystack · Lightning · StripeMPP · x402 · AP2    │
│        same PaymentRail interface — drop-in swap, no agent diff   │
└──────────────────────────────────────────────────────────────────┘

モジュールの安定性

MnemoPay はセマンティックバージョニングに従っています。安定性の段階から、2.0 より前にモジュールの公開 API がどの程度変更される可能性があるかを確認できます。詳細な契約については、VERSIONING.md をご覧ください。

モジュールインポート安定性備考
メモリー/想起@mnemopay/sdk/recall安定remember · recall · reinforce · forget
決済@mnemopay/sdk安定charge · settle · refund · dispute、セント単位の精度
複式簿記台帳@mnemopay/sdk安定debit+credit=0、ハッシュチェーン化
アイデンティティ(KYA)@mnemopay/sdk/identity安定Ed25519、ケイパビリティトークン、キルスイッチ
エージェント評判スコアリング@mnemopay/sdk安定5 要素、300~850
不正/異常@mnemopay/sdk安定速度、位置情報、EWMA、カナリア
決済レール(Stripe/Paystack/Lightning)@mnemopay/sdk/rails安定単一の PaymentRail インターフェース
ガバナンス — ポリシー@mnemopay/sdk/governance/policy安定1 秒未満の evaluateAction
ガバナンス — 監査チェーン@mnemopay/sdk/governance/audit-chain安定Merkle イベントストリーム、Article 12 エクスポート
ガバナンス — チャーター/Article 12@mnemopay/sdk/governance安定ミッションの適用範囲+EU AI Act バンドル
ガバナンス — 承認ルーティング@mnemopay/sdk/governance/approvalベータHITL キュー+routeVerdict
ガバナンス — リスク分類@mnemopay/sdk/governance/riskベータLow→Critical の段階+プリセットポリシー
ガバナンス — アクション台帳@mnemopay/sdk/governance/action-ledgerベータ「エージェントが何をしたか」を記録する型付きレコード
MnemoSkills(ガバナンス対象スキル)@mnemopay/sdk/skillsベータバージョン管理、権限設定、課金可能な機能 — examples/08-invoice-collector.ts をご覧ください
空間/GridStamp@mnemopay/sdk/governanceベータ存在証明、疎結合、フェイルクローズ
レール — x402 / AP2 / StripeMPP@mnemopay/sdk/railsアルファ新興のエージェント決済標準
Swarm@mnemopay/sdk/swarm安定spawn / gather / recombine / stop;ユニットテスト 27 件
Swarm CLI@mnemopay/swarm安定カタログの一覧表示/インストール/デモ
BrowserSwarm/音声@mnemopay/sdk/swarm/browser安定オプションのピア依存関係 @mnemopay/browser

テスト

npm test    # full test suite across 12 files
  • core.test.ts — メモリー、決済、ライフサイクル、評判スコアリング、行動、Merkle、EWMA、カナリア、連続記録、バッジ
  • fraud.test.ts — 速度、異常、手数料、異議申し立て、リプレイ検出
  • geo-fraud.test.ts — 位置情報シグナル、信頼、制裁
  • identity.test.ts — KYA、トークン、権限
  • production-100k.test.ts — 10 万件の操作、同時実行エージェント 10 体、ハッシュチェーン検証、ドリフトゼロ
  • stress-200k.test.ts — 20 万件の実環境ストレステスト:エージェント 50 体、バーストトラフィック、競合状態、返金の急増、メモリーリーク検出
  • ledger.test.ts — 複式簿記、照合
  • network.test.ts — マルチエージェント、取引、サプライチェーン
  • paystack.test.ts — レール、Webhook、送金
  • stress.test.ts — 1000 サイクルの精度、並列操作
  • recall.test.ts — セマンティック検索、減衰、強化

ライセンス

Apache License 2.0 — LICENSE をご覧ください。

Copyright 2026 J&B Enterprise LLC.


サードパーティへの帰属表示

src/recall/observations.ts のエンティティ観察書き込みパス(エンティティごとの統合サマリー、デバウンスによる再生成、セッションをまたぐ集約)は、vectorize-io/hindsight(MIT、Copyright (c) 2025 Vectorize AI, Inc.)を派生元としています。上流の通知全文は NOTICE と移植されたファイルのヘッダーに保持されています。


商標および規制に関する通知

Agent Reputation Scoring は、自律型ソフトウェアエージェント向けの信頼性スコアリングシステムであり、消費者信用情報の報告を目的としたものではありません。Fair Credit Reporting Act(FCRA)で定義される消費者レポートを作成するものではなく、FCRA の規制対象ではありません。MnemoPay は消費者信用情報機関ではありません。

MnemoPay は銀行、送金業者、保険会社ではなく、顧客の預金を保有しません。決済はサードパーティの決済ネットワーク(Stripe、Paystack、Lightning Network)を通じて処理されます。MnemoPay は、開発者に代わってこれらのネットワークに接続するソフトウェアであり、金融機関ではありません。

「FICO」は Fair Isaac Corporation の登録商標です。MnemoPay およびその Agent Reputation Scoring モジュールは、Fair Isaac Corporation と提携、承認、または派生関係にありません。AgentCreditScore と AgentFICO のエクスポート名は、以前のベータ版との後方互換性を保つために残されている非推奨の別名であり、今後のメジャーバージョンで削除される予定です。


Jeremiah Omiagbo が開発しました

コメント

MCP は初めてですか?

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

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