Lightning Memory

Lightning Memory

Persistent memory and payment safety for AI agents on Lightning. Enables agents to remember purchases, track vendor reputations, enforce budgets, and share trust signals via Nostr.

Category
访问服务器

README

Lightning Memory

PyPI version Python 3.10+ License: MIT

Persistent memory for AI agents in the Lightning economy.

The Problem

AI agents spend sats over Lightning via L402 — but they can't remember what they bought. Every session starts from zero. Every vendor is a stranger. Every price is accepted at face value. An agent that paid 500 sats yesterday doesn't know if today's 5,000 sat invoice is a price spike or normal.

The Solution

L1: Bitcoin      — settles
L2: Lightning    — pays
L3: Lightning Memory — remembers

Lightning Memory gives agents persistent memory, vendor intelligence, and payment safety gates. Agents learn from their spending history, track vendor reputations, detect price anomalies, enforce budgets, and share trust signals with other agents.

Interactive Demo — watch an agent learn, get rugged, and route around bad actors.

Building the Agent Economy — trust, budgets, compliance, and the memory marketplace.

Who Is This For

  • Agents making L402 payments that need vendor reputation and spending discipline
  • Developers building autonomous agents on Bitcoin/Lightning
  • Anyone running an MCP-compatible AI agent (Claude, GPT, or any MCP client)

Quick Start

pip install lightning-memory
lightning-memory  # starts MCP server

Configure in Claude Code

{
  "mcpServers": {
    "lightning-memory": {
      "command": "lightning-memory"
    }
  }
}

Configure in Claude Desktop

{
  "mcpServers": {
    "lightning-memory": {
      "command": "python",
      "args": ["-m", "lightning_memory.server"]
    }
  }
}

How It Compares

Feature Lightning Memory Mem0 Raw file storage No memory
Lightning/L402 awareness Yes No No No
Vendor reputation tracking Yes No Manual No
Spending anomaly detection Yes No No No
Nostr identity (BIP-340) Yes No No No
Relay sync (NIP-78) Yes No No No
Full-text + semantic search Yes Yes No No
Agent-to-agent knowledge markets Yes (L402 gateway) No No No
Budget enforcement Yes No No No
KYC/trust profiles Yes No No No
Payment pre-flight gate Yes No No No
Contradiction detection Yes No No No
Local-first / offline Yes Cloud Yes N/A
MCP native Yes Plugin No No
Zero config Yes API key required Manual setup N/A

Tools (22)

Memory

Tool Description
memory_store Store a memory (transaction, vendor, preference, error, decision)
memory_query Search by relevance (FTS5 + optional semantic search)
memory_list List memories with type/time filters
memory_edit Edit content or metadata with audit trail
memory_sync Sync with Nostr relays (push/pull)
memory_export Export as NIP-78 Nostr events
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 Intelligence

Tool Description
ln_vendor_reputation Reputation score from transaction history
ln_spending_summary Spending breakdown by vendor and protocol
ln_anomaly_check Detect if a payment is abnormally high
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..."}}

Payment Safety

Tool Description
ln_preflight Pre-flight gate: budget + anomaly + trust check before payment
ln_budget_set Set per-vendor spending limits (per txn, per day, per month)
ln_budget_check Check spending against limits
ln_budget_status Gateway earnings and L402 payment stats
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"]}}

Trust & Compliance

Tool Description
ln_vendor_trust Full trust profile (KYC + reputation + community score)
ln_trust_attest Publish NIP-85 trust attestation to Nostr relays
ln_agent_attest Store a KYA (Know Your Agent) attestation
ln_agent_verify Look up an agent's compliance status
ln_auth_session Store LNURL-auth session records
ln_auth_lookup Look up LNURL-auth sessions
ln_compliance_report Generate structured compliance export

Marketplace

Tool Description
ln_discover_gateways Find remote Lightning Memory gateways via Nostr
ln_remote_query Query a remote gateway via L402 micropayment
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

Architecture

  • Nostr identity: Agent identity = Nostr keypair (BIP-340). No accounts, no API keys.
  • Local-first: SQLite with FTS5 full-text search + optional ONNX semantic search. Works offline.
  • Nostr sync: Memories written as NIP-78 events to relays. Portable, tamper-proof.
  • L402 payments: Pay-per-query gateway. 1-10 sats per operation.
  • Memory quality: Deduplication, contradiction detection, noise filtering, recency-weighted ranking, access tracking.

L402 Gateway

Run an L402 pay-per-query HTTP gateway. Other agents pay Lightning micropayments to access your agent's memory — no API keys, no accounts.

pip install lightning-memory[gateway]
lightning-memory-gateway  # Listening on 0.0.0.0:8402

How L402 Works

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 -------|                            |

Endpoints

Endpoint Method Price Description
/info GET Free Gateway status, pricing, node info
/health GET Free Health check
/memory/store POST 3 sats Store a memory
/memory/query GET 2 sats Search memories by relevance
/memory/list GET 1 sat List memories with filters
/ln/vendor/{name} GET 3 sats Vendor reputation report
/ln/spending GET 2 sats Spending summary
/ln/anomaly-check POST 3 sats Payment anomaly detection
/ln/preflight POST 3 sats Pre-flight payment gate
/ln/trust/{name} GET 2 sats Vendor trust profile
/ln/budget GET 1 sat Budget rules and spending
/ln/compliance-report GET 10 sats Compliance report export

Phoenixd Setup

  1. Download and run Phoenixd (listens on localhost:9740)
  2. Fund it with ~10,000 sats for initial channel opening
  3. Configure: ~/.lightning-memory/config.json{"phoenixd_password": "<from ~/.phoenix/phoenix.conf>"}
  4. Start: lightning-memory-gateway

Docker

PHOENIXD_PASSWORD=your-password docker compose up

CLI Commands

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

Relay Configuration

Default relays: wss://relay.damus.io, wss://nos.lol, wss://relay.nostr.band

Customize in ~/.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
}
Relay Speed Reliability Notes
wss://relay.damus.io Fast High Most popular, good uptime
wss://nos.lol Fast High Reliable, good NIP-78 support
wss://relay.nostr.band Medium Medium Search-focused, may be slow
wss://relay.primal.net Fast High Well-maintained
wss://nostr.wine Fast High Paid relay, less spam

Optional: Semantic Search

Add ONNX-based semantic similarity search alongside FTS5 keyword search:

pip install lightning-memory[semantic]

Queries then use hybrid ranking: FTS5 BM25 + cosine similarity with reciprocal rank fusion. "Which vendors are reliable for transcription" matches memories containing "whisper API" and "audio-to-text" even without exact keyword overlap.

Data Storage

~/.lightning-memory/
  memories.db    # SQLite database
  keys/
    private.key  # Nostr private key (chmod 600)
    public.key   # Nostr public key (your agent identity)

Roadmap

  • [x] Phase 1: MCP server with local SQLite storage
  • [x] Phase 2: Lightning intelligence (vendor reputation, spending summary, anomaly detection)
  • [x] Phase 3: Nostr relay sync (NIP-78, Schnorr signing, bidirectional sync)
  • [x] Phase 4: L402 payment gateway (macaroons, Phoenixd, HTTP gateway)
  • [x] Phase 5: Compliance & trust (budget enforcement, vendor KYC, community reputation, pre-flight gate)
  • [x] Phase 6: Memory marketplace (gateway discovery, remote L402 queries, gateway client)
  • [x] Phase 7: Agent reliability (semantic search, deduplication, contradiction detection, circuit breakers)

Star History

Star History Chart

License

MIT

<!-- mcp-name: io.github.singularityjason/lightning-memory -->

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选