mcpField
S
SPR (Sealed Payment Record)

SPR (Sealed Payment Record)

ローカル
github.com金融データ01 週間前に更新

SPR (Sealed Payment Record) について

SPRは、AIエージェントの支払い意図と決済内容を、企業の鍵で封印して記録するローカルシステムです。独立して検証できる支払い証跡を必要とするエージェント運用者、財務チーム、監査担当者向けです。

主な機能

  1. 01支払い意図と決済記録の封印
  2. 02宣言した条件に基づく支払い確認
  3. 03紛争対応証拠のエクスポート
  4. 04公開鍵による封印記録の検証
  5. 05ローカル台帳とx402対応

活用シーン

  1. 01エージェントの支払い目的と上限の記録
  2. 02支払先、金額、重複支払いの確認
  3. 03チャージバック対応の証拠準備
  4. 04エクスポートした支払い台帳の検証

MCP 対応

ローカルのSPR MCPサーバーは、支払い意図の記録、意図に沿った支払いかの確認、決済の記録を行うツールを公開します。記録はローカル台帳に封印されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"network-luca-spr": {
"command": "npx",
"args": [
"-y",
"@luca-network/spr-mcp"
],
"env": {
"SPR_AGENT_ID": "<SPR_AGENT_ID>",
"SPR_ENTITY": "<SPR_ENTITY>",
"SPR_DIR": "<SPR_DIR>",
"SPR_TIME_ZONE": "<SPR_TIME_ZONE>",
"SPR_BINDING": "<SPR_BINDING>"
}
}
}
}
起動コマンドnpx -y @luca-network/spr-mcp
設定が必要な環境変数
SPR_AGENT_IDThe agent's ID, such as agt_research
SPR_ENTITYThe company the agent pays for
SPR_DIRThe book's folder (default ./spr-books); it holds the company's private key
SPR_TIME_ZONEThe company's time zone for accounting dates (default UTC)
SPR_BINDINGon, to return the nonce to sign with each x402 intent

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

パッケージ
npm@luca-network/spr-mcp0.2.0

ツール

9

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

パラメーター型必須説明
railstringいいえ
productstringいいえ任意:購入するもの。例:API プラン、データセット、SKU
purposestringはい支払いの理由を1文で記載します。監査担当者が読む内容です。
currencystringいいえ
expires_instringいいえISO 8601 期間(PT1H、P3D)
counterpartystringいいえ
max_amount_minorintegerいいえお支払いいただける上限額
expected_amount_minorintegerいいえ

詳細

SPR:封印済み支払い記録

AI エージェントがデータ、コンピューティング、サービスの代金を支払っても、財務チームや監査担当者には、それぞれの支払いの目的が分かりません。SPR は、エージェントが行うすべての支払いについて、支払いの前後に記録し、会社独自の鍵を使って会社のマシン上で封印します。誰でも封印を検証できます。Luca を含め、どのサービスも信頼する必要はありません。

npx -y @luca-network/spr-mcp

無料で利用できるオープンソースです:Apache-2.0。ロイヤリティフリーの特許コミットメントも付属します(PATENTS.md)。

AI ツールから使う

以下の各セットアップでは、同じ MCP サーバーをマシン上で実行します。SPR_AGENT_ID(エージェント)とSPR_ENTITY(支払いを行う会社)を設定してください。記録はSPR_DIRに保存されます。

Claude Desktop:claude_desktop_config.jsonに追加します。

{ "mcpServers": { "spr": { "command": "npx", "args": ["-y", "@luca-network/spr-mcp"],
  "env": { "SPR_AGENT_ID": "agt_research", "SPR_ENTITY": "Example Co", "SPR_DIR": "/Users/you/spr-books" } } } }

Cursor:.cursor/mcp.jsonに同じブロックを追加します。

Claude Code:

claude mcp add spr -e SPR_AGENT_ID=agt_research -e SPR_ENTITY="Example Co" -- npx -y @luca-network/spr-mcp

OpenAI Agents SDKおよびLangChain(JavaScript):

import { SprBook, toOpenAIAgentsTools, toLangChainTools } from "@luca-network/spr-sdk";
const book = new SprBook({ dir: "./books", agentId: "agt_research", entity: "Example Co" });
const tools = toOpenAIAgentsTools(book, tool);   // tool from "@openai/agents"; or toLangChainTools(book, tool)

CrewAI、Microsoft Agent Framework、Google ADK、Claude Agent SDK(Python):それぞれ数行で MCP サーバーに接続できます。examples/を参照してください。

その他の MCP クライアント:上記の2つの設定を使い、stdio 経由でnpx -y @luca-network/spr-mcpを実行します。

エージェントは支払いの前にrecord_intentを呼び出し、check_paymentで、支払いが申告内容の範囲内にあるか、指定した受取人に支払われるか、すでに支払い済みではないかを確認してから、支払い後にrecord_settlementを呼び出します。各記録は台帳のフォルダーに封印されます。

販売者側の台帳も、受け取った支払いについて同じように機能します。購入者自身が封印したインテント、購入者の認証方法、注文および決済処理の参照情報を保持し、チャージバックへの回答用に1件の支払いの証拠をエクスポートできます(export_dispute_pack)。

記録には次の情報が示されます。

  • 支払い前にエージェントが申告した内容:目的、支出可能な上限額、許可の有効期限。
  • 実際に支払われた金額、使用された決済レール、支払先、支払い日時。
  • 支払いが申告内容の範囲内に収まったかどうか。
  • x402 の支払いでは、支払いがどの申告に基づいて行われたかをチェーン自体が記録したかどうか。支払者は、封印済みインテントのフィンガープリントに署名し、それを支払いの nonce とします。

このリポジトリには次のものが含まれます。

パス内容
SPEC.mdフォーマット、ドラフト1
packages/spr@luca-network/spr。JavaScript および TypeScript 向けの依存関係のないリファレンスライブラリと、テストベクトルおよびspr-verify
packages/spr-sdk@luca-network/spr-sdk:エージェントの支払いをローカルで封印します。x402 用のwithLuca(fetch)と、OpenAI Agents SDK および LangChain 向けのツールを備えています
packages/spr-mcp@luca-network/spr-mcp:同じ呼び出しを MCP サーバーとして提供します。Claude Desktop、Cursor、自分のエージェントで使用できます(npx @luca-network/spr-mcp)
pythonPython 用のspr-sdk:同じフォーマットと同じ台帳を使用します

1行で x402 の支払いを封印する

import { SprBook } from "@luca-network/spr-sdk";
import { withLuca } from "@luca-network/spr-sdk/x402";

const book = new SprBook({ dir: "./books", agentId: "agt_research", entity: "Example Co" });
const pay = withLuca(book, { signer: account });

const res = await pay("https://data.example/prices", {
  luca: { purpose: "Market data for the pricing model", max_amount_minor: 20000, currency: "USDC" },
});
res.luca.record;   // sealed, matched to its intent, bound on chain

Luca を使わずに何でも検証する

npx spr-verify ./books-export --key company.pem    # a package, and whose it is
python -m spr ./books-export --key company.pem
npx spr-verify --vectors                           # the library against the test vectors
python -m spr --vectors                            # the Python SDK against the same vectors

company.pemは会社の公開鍵です。会社から入手し、パッケージから入手することはありません(book.publicKey()で取得できます)。--keyを指定しない場合、検証ツールが示すのは、パッケージに含まれる鍵との整合性だけであり、その旨も表示されます。

セキュリティ上の問題については、SECURITY.mdを参照してください。

任意の言語で実装する場合、packages/spr/vectors/vectors.jsonと同じ結果を返せば準拠しています。

ローカル SPR とホステッド Luca

ここにあるパッケージはお使いのマシン上で動作し、Luca への呼び出しは行いません。Luca のホステッドサービスは、本を送信できる別の製品です。

ローカル SPR(これらのパッケージ)ホステッド Luca
動作する場所お使いのマシン、お使いのフォルダー、お使いのキーLuca のサービス
記録する内容支払い前の意図と支払い後の内容を、エージェントの報告どおりに記録します同じ内容に加え、決済レール自体が報告する支払い内容
確認する制限宣言された意図:上限、有効期限、取り消しの有無、指定された受取人。同じ請求書への二重払い。任意で、本に含まれる mandate.json(制限、受取人、繰り返しの期間)も確認します。このファイルはフォルダーを管理する人が作成するため、authority: "self-declared" として報告されますLuca で財務チームが承認した委任
決済レールからの確認ありません。記録されるのはエージェントの報告内容です決済レールから取得した支払い内容と、検出された差異
会計処理ありません勘定科目への分類(US GAAP、IFRS、税務)、ERP への仕訳の記帳、月次決算
証跡spr-verify または python -m spr で誰でも確認できるシール監査人が確認できる証跡と、月次監査パッケージ
費用無料、Apache-2.0Luca アカウント

財務部門がキーを登録すれば、1 回の呼び出しで本を移行できます:book.sendToLuca()。Luca は保存する前にすべてのシールを確認します。

本を Luca に送信する(任意)

財務部門が Luca に本のキーを一度登録し(book.registerWithLuca)、その後 book.sendToLuca() で本を送信します。Luca は保存する前にすべてのシールを確認し、同じ本を再送信しても変更はありません。アカウントについては [email protected] にお問い合わせください。

変更点

各バージョンでの変更内容と、アップグレード時に必要になる可能性のある変更については、CHANGELOG.md をご覧ください。

ステータス

これはフォーマットのドラフト 1、ライブラリのバージョン 0.1 です。利用される中で変更が加わることを想定しています。問題や不足している点があればお知らせください。issue を作成するか、[email protected] までご連絡ください。

ライセンス

コードは Apache License 2.0 です。LICENSE をご覧ください。このコードを使用するかどうかにかかわらず、誰でもフォーマットを実装できるようにする Luca の特許に関する取り組みは、PATENTS.md に記載されています。

Luca(luca.network)は、エージェントの支払いをホステッド環境で会計処理するために SPR を使用しています。これには、決済レールの読み取り、US GAAP および IFRS に基づく分類、ERP への記帳、取引相手と合意したラベル、決算が含まれます。

コメント

MCP は初めてですか?

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

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