mcpField
L
l402-search-mcp

l402-search-mcp

ローカル
github.com/llmops-pro検索013 週間前に更新

l402-search-mcp について

l402-search-mcpは、検索ごとにLightning satsで支払う、L402対応ウェブ検索用のMCPサーバーです。ウォレット鍵は保持せず、エージェント自身のウォレットで請求書を支払い、支払いpreimageを渡して結果を取得します。

主な機能

  1. 01L402経由で検索結果をリクエスト
  2. 02請求書とpayment_hashを返却
  3. 03支払いpreimageで結果を取得
  4. 04エンドポイント状態と保留中のチャレンジを確認
  5. 05イベントを監査ログに追記

活用シーン

  1. 01Lightning satsでウェブ検索を1回購入
  2. 02エージェント自身のウォレット制限で支払い
  3. 03同じL402方式のエンドポイントに接続

MCP 対応

MCPクライアント向けに`search`と`search_service_info`ツールを公開します。検索時に請求書を返し、エージェントが自身のウォレットで支払ってpreimageを渡すと、L402エンドポイントから結果を取得します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"llmops-pro-l402-search": {
"command": "npx",
"args": [
"-y",
"l402-search-mcp"
],
"env": {
"SEARCH_SERVICE_URL": "<SEARCH_SERVICE_URL>"
}
}
}
}
起動コマンドnpx -y l402-search-mcp
設定が必要な環境変数
SEARCH_SERVICE_URLL402 search endpoint to consume (default: https://llmops-search.fly.dev)

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

パッケージ
npml402-search-mcp0.1.0

ツール

2

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

パラメーター型必須説明
querystringはい検索クエリ。支払い後の再試行では、完全に同じ内容を指定する必要があります。
payment_preimagestringいいえ請求書の支払い後にウォレットから返される 64 桁の 16 進数 preimage。初回呼び出しでは省略します。

詳細

l402-search-mcp

AI エージェント向けの本人確認不要のウェブ検索 — MCP 経由で、クエリごとに Lightning の sats で支払います。

これは、L402 で課金される検索エンドポイント向けの、MCP のクライアントサイドサーバーです。MCP 対応エージェント(Claude Desktop、Claude Code、Cursor、nostr-merchant など)に、API キーの代わりに sats を使う search ツールを提供します。

  1. search(query) → bolt11 Lightning インボイスと payment_hash を返します
  2. エージェントが自身のウォレットでインボイスを支払います — たとえば、エージェント自身の予算上限の範囲内で nwc-mcp の nwc_pay_invoice を使います
  3. search(query, payment_preimage) → JSON の検索結果

アカウント不要。API キー不要。本人確認不要。支払い 1 回で検索 1 回分を購入します。

デフォルトでは **https://llmops-search.fly.dev**(1 回の検索につき 50 sats、当社運営)を参照しますが、SEARCH_SERVICE_URL を設定すれば、同じ L402 方式に対応した任意のエンドポイントを利用できます。

信頼モデル(必ずお読みください)

このサーバーはキーを一切保持しません。 ウォレット接続も、nsec も、何も保持しません。支払いはエージェントのウォレットで行われ、エージェント自身の予算上限、許可リスト、監査ログが適用されます。l402-search-mcp が行うのは、次のことだけです。

  • L402 のチャレンジ(インボイス)をエージェントに中継する
  • どのマカロンがどの payment_hash に対応するかを記憶する(エージェントが扱うのは、ウォレットからすでに返されたプリイメージだけです)
  • 認証済みのリトライを実行する

このプロセスが侵害された場合の最悪のケースでも、漏えいするのは保留中の検索クエリであり、資金が漏れることはありません。

インストール

npx -y l402-search-mcp

Claude Code(プロジェクトスコープ):

claude mcp add l402-search -s project -- npx -y l402-search-mcp

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "l402-search": { "command": "npx", "args": ["-y", "l402-search-mcp"] }
  }
}

エージェントが実際に支払えるように、ウォレットサーバー(例:nwc-mcp)と組み合わせてください。

ツール

ツール価格機能
searchsats(エンドポイントで設定。デフォルトでは 50)最初の呼び出しではインボイスを返します。payment_preimage を指定した呼び出しでは検索結果を返します。
search_service_info無料エンドポイントへの接続状況、保留中のチャレンジ、処理フローの説明を確認できます。

設定

すべて任意です。デフォルト設定のままで動作します。環境変数、またはインストール先の隣にある .env で設定してください(cwd からは読み込みません)。

SEARCH_SERVICE_URL=https://llmops-search.fly.dev  # any L402 search endpoint
CHALLENGE_TTL_SECONDS=900                          # match the endpoint's macaroon TTL
AUDIT_LOG_PATH=./l402-search-mcp-audit.log         # NDJSON, append-only
HTTP_TIMEOUT_MS=15000

最初から最後までの処理フロー

agent                    l402-search-mcp              endpoint              agent's wallet
  │  search("foo")            │                          │                       │
  │ ────────────────────────► │  GET /search?q=foo       │                       │
  │                           │ ───────────────────────► │                       │
  │                           │  402 {macaroon, invoice} │                       │
  │  {invoice, payment_hash}  │ ◄─────────────────────── │                       │
  │ ◄──────────────────────── │  (macaroon cached)       │                       │
  │  nwc_pay_invoice(invoice) │                          │                       │
  │ ──────────────────────────┼──────────────────────────┼─────────────────────► │
  │  {preimage}               │                          │                       │
  │ ◄─────────────────────────┼──────────────────────────┼────────────────────── │
  │  search("foo", preimage)  │                          │                       │
  │ ────────────────────────► │  GET + Authorization:    │                       │
  │                           │  L402 macaroon:preimage  │                       │
  │                           │ ───────────────────────► │                       │
  │  {results}                │  200 {results}           │                       │
  │ ◄──────────────────────── │ ◄─────────────────────── │                       │

マカロンが LLM を経由して往復することはありません。エージェントに見えるのはインボイスだけで、ウォレットから返されたプリイメージを渡します。sha256(preimage) = payment_hash により、残りの情報を復元します。

監査ログ

NDJSON 形式で、イベントごとに 1 行です。イベントは startup、challenge_received、results_received、unknown_preimage、endpoint_error です。キット内の他のサーバーと同じ形式です。

LLMOps.Pro エージェント決済キットの一部

nwc-mcp(ウォレット) · nostr-ops-mcp(NOSTR の ID/公開) · marketplace-mcp(ストアフロント) · albyhub-admin-mcp(ノード管理) · paywall-mcp(あなたのツールを sats で販売) · l402-search-mcp(sats で検索を購入)

MIT。開発:LLMOps.Pro · ⚡ [email protected]

コメント

MCP は初めてですか?

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

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