lightning-memory について
lightning-memoryは、Lightning経済圏のAIエージェント向けに、取引を記録し、ベンダーの評判、支出、信頼情報を追跡する永続メモリーサーバーです。NostrのIDと同期、決済前チェックに加え、任意でL402クエリーゲートウェイを利用できます。
主な機能
- 01エージェントのメモリー保存と検索
- 02ベンダー評判と支出の追跡
- 03決済異常の検出と予算確認
- 04Nostrリレー経由のメモリー同期
- 05信頼性・コンプライアンスツール
- 06L402従量制クエリーゲートウェイ
活用シーン
- 01エージェントの取引履歴を確認
- 02決済前にベンダーと予算を確認
- 03リレー経由でエージェントの記憶を同期
- 04他のエージェントに有料検索を提供
MCP 対応
MCP サーバーとして、エージェントのメモリー、Lightningのベンダー情報、決済安全、信頼性・コンプライアンス、ゲートウェイ探索のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Lightning Memory
Lightning 経済圏における AI エージェントの永続メモリです。
課題
AI エージェントは L402 経由で Lightning を使って sats を支払いますが、何を購入したかを記憶できません。セッションを開始するたびに、すべてがゼロから始まります。ベンダーは毎回見知らぬ相手です。価格はすべて額面どおりに受け入れられます。昨日 500 sats を支払ったエージェントは、今日の 5,000 sat の請求が価格の急騰なのか、通常の価格なのかを判断できません。
解決策
L1: Bitcoin — settles
L2: Lightning — pays
L3: Lightning Memory — remembers
Lightning Memory は、エージェントに永続メモリ、ベンダーインテリジェンス、支払い安全ゲートを提供します。エージェントは支出履歴から学習し、ベンダーの評判を追跡し、価格の異常を検知し、予算を適用し、他のエージェントと信頼シグナルを共有できます。
インタラクティブデモ — エージェントが学習し、被害に遭い、悪質な相手を回避する様子をご覧ください。
エージェント経済圏の構築 — 信頼、予算、コンプライアンス、メモリマーケットプレイスについて説明します。
対象ユーザー
- ベンダーの評判と支出管理を必要とする、L402 で支払いを行うエージェント
- Bitcoin/Lightning 上で自律型エージェントを構築する開発者
- MCP 互換の AI エージェント(Claude、GPT、または任意の MCP クライアント)を実行するすべての方
クイックスタート
pip install lightning-memory
lightning-memory # starts MCP server
Claude Code で設定する
{
"mcpServers": {
"lightning-memory": {
"command": "lightning-memory"
}
}
}
Claude Desktop で設定する
{
"mcpServers": {
"lightning-memory": {
"command": "python",
"args": ["-m", "lightning_memory.server"]
}
}
}
比較
| 機能 | Lightning Memory | Mem0 | 生ファイルストレージ | メモリなし |
|---|---|---|---|---|
| Lightning/L402 に対応 | はい | いいえ | いいえ | いいえ |
| ベンダーの評判を追跡 | はい | いいえ | 手動 | いいえ |
| 支出異常の検知 | はい | いいえ | いいえ | いいえ |
| Nostr アイデンティティ(BIP-340) | はい | いいえ | いいえ | いいえ |
| リレー同期(NIP-78) | はい | いいえ | いいえ | いいえ |
| 全文検索+セマンティック検索 | はい | はい | いいえ | いいえ |
| エージェント間のナレッジマーケット | はい(L402 ゲートウェイ) | いいえ | いいえ | いいえ |
| 予算の適用 | はい | いいえ | いいえ | いいえ |
| KYC/信頼プロフィール | はい | いいえ | いいえ | いいえ |
| 支払い前チェックゲート | はい | いいえ | いいえ | いいえ |
| 矛盾の検知 | はい | いいえ | いいえ | いいえ |
| ローカルファースト/オフライン | はい | クラウド | はい | 該当なし |
| MCP ネイティブ | はい | プラグイン | いいえ | いいえ |
| 設定不要 | はい | API キーが必要 | 手動で設定 | 該当なし |
ツール(22)
メモリ
| ツール | 説明 |
|---|---|
memory_store | メモリ(取引、ベンダー、設定、エラー、判断)を保存します |
memory_query | 関連度で検索します(FTS5 + オプションのセマンティック検索) |
memory_list | 種類/時刻のフィルターを使ってメモリの一覧を表示します |
memory_edit | 監査履歴を残しながら内容またはメタデータを編集します |
memory_sync | Nostr リレーと同期します(プッシュ/プル) |
memory_export | NIP-78 Nostr イベントとしてエクスポートします |
memory_store(
content="Paid 500 sats to bitrefill.com for a $5 Amazon gift card via L402.",
type="transaction",
metadata='{"vendor": "bitrefill.com", "amount_sats": 500}'
)
memory_query(query="bitrefill payment history", limit=5)
# → recency-weighted results with dedup and contradiction alerts
Lightning インテリジェンス
| ツール | 説明 |
|---|---|
ln_vendor_reputation | 取引履歴に基づく評判スコア |
ln_spending_summary | ベンダーおよびプロトコル別の支出内訳 |
ln_anomaly_check | 支払い額が異常に高いかどうかを検知します |
ln_vendor_reputation(vendor="bitrefill.com")
# → {reputation: {total_txns: 12, success_rate: 0.92, avg_sats: 450}, recommendation: "reliable"}
ln_anomaly_check(vendor="bitrefill.com", amount_sats=5000)
# → {anomaly: {verdict: "high", context: "5000 sats is 11.1x the historical average..."}}
支払いの安全性
| ツール | 説明 |
|---|---|
ln_preflight | 支払い前に予算、異常、信頼性を確認する事前チェックゲート |
ln_budget_set | ベンダーごとの支出上限を設定します(取引ごと、日ごと、月ごと) |
ln_budget_check | 支出が上限内かどうかを確認します |
ln_budget_status | ゲートウェイの収益と L402 支払いの統計情報 |
ln_preflight(vendor="bitrefill.com", amount_sats=500)
# → {decision: {verdict: "approve", budget_remaining_today: 4500, trust_score: 0.89}}
# If the vendor suddenly charges 50x:
ln_preflight(vendor="bitrefill.com", amount_sats=25000)
# → {decision: {verdict: "reject", reasons: ["exceeds daily limit of 5000 sats"]}}
信頼とコンプライアンス
| ツール | 説明 |
|---|---|
ln_vendor_trust | 信頼プロファイル全体(KYC+評判+コミュニティスコア) |
ln_trust_attest | NIP-85 の信頼証明を Nostr リレーに公開 |
ln_agent_attest | KYA(Know Your Agent)の証明を保存 |
ln_agent_verify | エージェントのコンプライアンス状況を照会 |
ln_auth_session | LNURL-auth セッションレコードを保存 |
ln_auth_lookup | LNURL-auth セッションを照会 |
ln_compliance_report | 構造化されたコンプライアンスレポートを生成 |
マーケットプレイス
| ツール | 説明 |
|---|---|
ln_discover_gateways | Nostr 経由でリモートの Lightning Memory ゲートウェイを検索 |
ln_remote_query | L402 マイクロペイメント経由でリモートゲートウェイにクエリ |
ln_discover_gateways(operation="memory_query")
# → {count: 2, gateways: [{url: "https://gw1.example.com", operations: {...}}, ...]}
ln_remote_query(
gateway_url="https://gw.example.com",
operation="ln_vendor_reputation",
params='{"vendor": "openai"}'
)
# → Pays 3 sats, returns remote agent's vendor intelligence
アーキテクチャ
- Nostr アイデンティティ:エージェントのアイデンティティは Nostr の鍵ペア(BIP-340)です。アカウントも API キーも不要です。
- ローカル優先:FTS5 全文検索と、オプションの ONNX セマンティック検索を備えた SQLite を使用します。オフラインでも動作します。
- Nostr 同期:メモリーは NIP-78 イベントとしてリレーに書き込まれます。ポータブルで、改ざんを防止します。
- L402 決済:クエリごとに支払うゲートウェイです。操作ごとに 1〜10 sats です。
- メモリーの品質:重複排除、矛盾の検出、ノイズのフィルタリング、経過時間を加味したランキング、アクセス追跡を行います。
L402 ゲートウェイ
クエリごとに支払う L402 HTTP ゲートウェイを実行します。他のエージェントは API キーやアカウントなしで、Lightning マイクロペイメントを支払ってエージェントのメモリーにアクセスできます。
pip install lightning-memory[gateway]
lightning-memory-gateway # Listening on 0.0.0.0:8402
L402 の仕組み
Agent Gateway Phoenixd
| | |
|-- GET /memory/query?q=... --->| |
|<-- 402 + Lightning invoice ---|--- create_invoice -------->|
| |<-- bolt11 + payment_hash --|
| | |
| [pay invoice via Lightning] | |
| | |
|-- GET + L402 token ---------->| |
| (macaroon:preimage) |--- verify preimage ------->|
|<-- 200 + query results -------| |
エンドポイント
| エンドポイント | メソッド | 価格 | 説明 |
|---|---|---|---|
/info | GET | 無料 | ゲートウェイのステータス、料金、ノード情報 |
/health | GET | 無料 | ヘルスチェック |
/memory/store | POST | 3 sats | メモリーを保存 |
/memory/query | GET | 2 sats | 関連度でメモリーを検索 |
/memory/list | GET | 1 sat | フィルターを指定してメモリーを一覧表示 |
/ln/vendor/{name} | GET | 3 sats | ベンダーの評判レポート |
/ln/spending | GET | 2 sats | 支出の概要 |
/ln/anomaly-check | POST | 3 sats | 決済の異常検出 |
/ln/preflight | POST | 3 sats | 決済の事前チェックゲート |
/ln/trust/{name} | GET | 2 sats | ベンダーの信頼プロファイル |
/ln/budget | GET | 1 sat | 予算ルールと支出 |
/ln/compliance-report | GET | 10 sats | コンプライアンスレポートのエクスポート |
Phoenixd のセットアップ
- Phoenixd をダウンロードして実行します(
localhost:9740で待ち受けます) - 初回のチャネル開設用に約 10,000 sats を入金します
- 設定します:
~/.lightning-memory/config.json→{"phoenixd_password": "<from ~/.phoenix/phoenix.conf>"} - 起動します:
lightning-memory-gateway
Docker
PHOENIXD_PASSWORD=your-password docker compose up
CLI コマンド
lightning-memory # Start MCP server
lightning-memory stats # Memory statistics dashboard
lightning-memory export json # Export memories as JSON
lightning-memory export csv # Export memories as CSV
lightning-memory relay-status # Check Nostr relay connectivity
lightning-memory-gateway # Start L402 HTTP gateway
lightning-memory-manifest # Generate gateway discovery manifest
リレーの設定
デフォルトのリレー:wss://relay.damus.io、wss://nos.lol、wss://relay.nostr.band
~/.lightning-memory/config.json でカスタマイズします:
{
"relays": ["wss://relay.damus.io", "wss://nos.lol", "wss://relay.primal.net"],
"sync_timeout_seconds": 30,
"max_events_per_sync": 500
}
| リレー | 速度 | 信頼性 | 備考 |
|---|---|---|---|
wss://relay.damus.io | 高速 | 高 | 最も人気があり、稼働時間も良好 |
wss://nos.lol | 高速 | 高 | 信頼性が高く、NIP-78 のサポートも良好 |
wss://relay.nostr.band | 中速 | 中 | 検索に特化しており、遅い場合があります |
wss://relay.primal.net | 高速 | 高 | 適切に保守されています |
wss://nostr.wine | 高速 | 高 | 有料リレーで、スパムが少なめです |
オプション:セマンティック検索
FTS5 キーワード検索と併せて、ONNX ベースの意味的類似性検索を追加します:
pip install lightning-memory[semantic]
クエリでは、FTS5 BM25 とコサイン類似度を相互ランク融合で組み合わせたハイブリッドランキングが使用されます。「文字起こしに信頼できるベンダーはどこですか」というクエリでは、キーワードが完全一致しなくても、「whisper API」や「audio-to-text」を含むメモリーが見つかります。
データストレージ
~/.lightning-memory/
memories.db # SQLite database
keys/
private.key # Nostr private key (chmod 600)
public.key # Nostr public key (your agent identity)
ロードマップ
- フェーズ 1:ローカル SQLite ストレージを備えた MCP サーバー
- フェーズ 2:Lightning インテリジェンス(ベンダーの評判、支出の概要、異常検知)
- フェーズ 3:Nostr リレー同期(NIP-78、Schnorr 署名、双方向同期)
- フェーズ 4:L402 決済ゲートウェイ(macaroons、Phoenixd、HTTP ゲートウェイ)
- フェーズ 5:コンプライアンスと信頼(予算の適用、ベンダー KYC、コミュニティの評判、実行前ゲート)
- フェーズ 6:メモリーマーケットプレイス(ゲートウェイの検出、リモート L402 クエリ、ゲートウェイクライアント)
- フェーズ 7:エージェントの信頼性(セマンティック検索、重複排除、矛盾の検出、サーキットブレーカー)
スターの履歴
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。