bolthub

ai.bolthubPublished by bolthub.aiv0.7.2Updated Oct 27, 2026

The bolthub API marketplace, L402 gateways, and your other MCP servers, on one Lightning budget.

VerifiedSTDIODesktop onlyFinanceDeveloper ToolsAI & ML

Overview

AI-generated overview

Aggregates the bolthub API marketplace, L402 gateways and your other MCP servers behind one entry, paying per call in sats under a single Lightning budget.

What you can do
  • Search, inspect, preview cost of and call marketplace APIs, buy credit, and mint or revoke scoped tokens
  • List your own API from an OpenAPI or Postman spec, audit it, publish it, and track earnings and usage
  • Run node launcher tools, manage workspaces and wallets, and open, read or close live SSE streams
  • Expose a specific L402 gateway's OpenAPI endpoints as directly named tools
  • Proxy your other local or remote MCP servers, paying L402 challenges inside the budget and retrying
When to use it
Useful when an assistant should reach many paywalled APIs or existing MCP servers through one connection and one spending cap, or when you want to sell your own API as a paywalled listing and follow its earnings.
Requirements
Runs locally via npx as a stdio process in a desktop MCP client. A Lightning wallet is optional: set one of LND_REST_HOST with LND_MACAROON, NWC_URI, LNBITS_URL with LNBITS_ADMIN_KEY, or PHOENIXD_URL with PHOENIXD_PASSWORD. Account tools need BOLTHUB_ACCOUNT_TOKEN or the browser pairing tool. Budget is set by BUDGET_SATS or the config file.
Before you install
Paid calls spend real sats from your wallet; set a budget because an unset BUDGET_SATS means unlimited. Wallet credentials such as LND_MACAROON, NWC_URI, LNBITS_ADMIN_KEY and PHOENIXD_PASSWORD are secrets, and a pay-scoped macaroon is advised. Account tools can publish listings and mint or revoke tokens, so drafts only go live when you publish. Downstream servers you proxy receive their own traffic.

Installation

In SourceWeft

  1. Open bolthub in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@bolthub/mcp

The bolthub MCP server. One entry in your MCP client config; behind it, three kinds of tool source sharing one wallet and one Lightning budget:

  • The bolthub marketplace — search, inspect, and call every listed API (search_apis, get_api_details, preview_cost, call_api, buy_credit, mint_scoped_token, revoke_token, plus the Node Launcher tools).
  • Your own API as a listing — turn an OpenAPI/Postman spec into a draft paywalled listing, audit it against the seller rubric, take it live when you're ready, and track what it earns (list_api, analyze_listing, publish_listing, get_earnings, usage_summary). These act on your account, so they need a token: say "connect my bolthub account" (connect_account runs a one-click browser pairing; nothing secret touches the chat) or set BOLTHUB_ACCOUNT_TOKEN yourself. Buying stays account-less. Drafts stay invisible until you explicitly publish.
  • Specific L402 gateways — a gateway's OpenAPI endpoints become directly-named tools.
  • Your other MCP servers — local or remote, proxied transparently: free tools pass straight through; a tool that answers with an L402 payment challenge is paid inside your budget and retried.

Replaces @bolthub/mcp-registry and @bolthub/mcp-bridge (both deprecated — migration below).

Source: signaltech-org/bolthub-sdk · Docs: docs.bolthub.ai

Quick start

Add to your MCP client config (Cursor, Claude Desktop, OpenClaw, etc.):

json
{  "mcpServers": {    "bolthub": {      "command": "npx",      "args": ["-y", "@bolthub/mcp"],      "env": { "NWC_URI": "<your-nwc-connection-string>" }    }  }}

With no config file this runs in marketplace mode: every listed bolthub API is available to your agent through the meta-tools. New listings appear automatically; no config changes, ever.

The full setup: one config file

~/.bolthub/mcp.json — the mcpServers block is the exact shape your MCP client already uses, so paste your existing entries in wholesale:

jsonc
{  "marketplace": true,  "gateways": ["https://btc-intel.gw.bolthub.ai"],  "mcpServers": {    "filesystem": {      "command": "npx",      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/notes"]    },    "remote-tools": {      "url": "https://tools.example.com/mcp",      "headers": { "Authorization": "Bearer …" }    }  },  "budget":     { "sat": 10000 },   // lifetime ceiling for this run, ALL sources combined  "maxPerCall": { "sat": 500 },     // per-call ceiling  "namespace":  "prefix",           // "prefix" (default) or "flat"  "telemetry":  false               // reserved; v1 sends nothing anywhere}

Then point the client at it:

json
{  "mcpServers": {    "bolthub": {      "command": "npx",      "args": ["-y", "@bolthub/mcp", "--config", "~/.bolthub/mcp.json"],      "env": { "LND_REST_HOST": "…", "LND_MACAROON": "…" }    }  }}

What the agent sees

  • Marketplace meta-tools, unprefixed: search_apis, get_api_details, preview_cost, call_api, buy_credit, mint_scoped_token, revoke_token, deploy_node, node_status, list_api, analyze_listing, publish_listing, get_earnings, usage_summary, connect_account, connect_status, create_workspace, connect_wallet, get_onboarding_state, plus open_stream / read_stream / close_stream for live SSE feeds.
  • With a wallet configured, wallet_status: inspect the SPENDING wallet (balance, permissions, connectivity) — the payer-side counterpart to node_status, and the first thing to run when a payment fails.
  • Gateway endpoints, prefixed by gateway slug: btc-intel__get_v1_history_candles, ….
  • Downstream MCP tools, prefixed by their config key: filesystem__read_file, ….

Two servers can both expose a search tool — prefixing keeps them apart. namespace: "flat" passes bare names through instead and fails at startup on any collision (a tool is never silently shadowed).

Wallet (optional)

Set ONE of these in the server's env:

LND_REST_HOST + LND_MACAROON         (recommended, fastest <200ms)NWC_URI                              (easiest setup, slower 1-3s)LNBITS_URL + LNBITS_ADMIN_KEY        (alternative, <300ms)PHOENIXD_URL + PHOENIXD_PASSWORD     (alternative, <200ms)

No wallet is not an error: free tools and marketplace search keep working; paid calls return their payment challenge with a setup hint.

One budget, hard guarantee

budget.sat caps what the server can spend over its lifetime — across gateway calls, call_api, and paid downstream MCP tools combined. Reservations are synchronous, so concurrent calls on different sources can't jointly overspend. budget.sat: 0 is valid and means "free tools only". The agent can never lift the ceiling; refusals come back as clean "Payment refused" results.

Every payment logs one line to stderr (your local audit trail). The telemetry flag is reserved: v1 sends nothing anywhere, on or off; if a future version adds an opt-in ingest it will carry { scheme, asset, amount } only — no tool arguments, no resource identity.

Migrating from @bolthub/mcp-registry / @bolthub/mcp-bridge

BeforeAfter
npx @bolthub/mcp-registrynpx @bolthub/mcp (zero config = same behavior)
npx @bolthub/mcp-registry --api-url <url>npx @bolthub/mcp --api-url <url>
npx @bolthub/mcp-bridge --gateway <url>npx @bolthub/mcp --gateway <url>
--budget / BUDGET_SATSunchanged (now a single pool across all sources)
gateway tool btc-intel_get_v1_xbtc-intel__get_v1_x (double-underscore namespace)

Remove the old entries from your client config rather than stacking them next to this one — a nested bolthub bin inside mcpServers would pay from its own wallet env, invisible to the shared budget (the server warns at startup if it spots this).

Notes & limits (v1)

  • Proxies MCP tools only — no resources, prompts, or sampling passthrough yet.
  • The downstream tool list is snapshotted at startup; hot add/remove needs a restart.
  • A downstream that fails to start is skipped with a stderr warning; the rest keep serving.
  • Everything logs to stderr, never stdout (stdout is the MCP channel).

License

MIT

Source: packages/mcp/README.md at commit 0ed257e

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.7.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts