{"name":"ai.bolthub/mcp","slug":"bolthub-mcp","title":"bolthub","description":"The bolthub API marketplace, L402 gateways, and your other MCP servers, on one Lightning budget.","url":"https://mcp.market/server/bolthub-mcp","rating":null,"grade":"C","score":68,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":21,"stars":0,"forks":1,"downloads_week":42,"last_push_at":"2026-07-25T02:03:11.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/signaltech-org/bolthub-sdk","website":"https://docs.bolthub.ai/docs/sdks/mcp","version":"0.7.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@bolthub/mcp","version":"0.7.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"LND REST API URL (recommended wallet; pair with LND_MACAROON). A wallet is optional — without one, free tools and marketplace search still work; paid calls return their payment challenge.","placeholder":"https://your-lnd-node:8080","name":"LND_REST_HOST"},{"description":"Hex-encoded macaroon for LND (use a pay-scoped macaroon in production). Required with LND_REST_HOST.","isSecret":true,"name":"LND_MACAROON"},{"description":"Nostr Wallet Connect string — easiest setup, works with CoinOS, Alby Hub, Zeus, and more. Alternative to LND.","isSecret":true,"name":"NWC_URI"},{"description":"LNbits instance URL (pair with LNBITS_ADMIN_KEY). Alternative wallet.","name":"LNBITS_URL"},{"description":"Admin API key for LNbits. Required with LNBITS_URL.","isSecret":true,"name":"LNBITS_ADMIN_KEY"},{"description":"Phoenixd HTTP API URL (pair with PHOENIXD_PASSWORD). Alternative wallet.","name":"PHOENIXD_URL"},{"description":"HTTP password for Phoenixd. Required with PHOENIXD_URL.","isSecret":true,"name":"PHOENIXD_PASSWORD"},{"description":"Maximum sats the server may spend per session (process lifetime), across ALL sources. Unset = unlimited; 0 = free tools only. The config file's budget.sat takes precedence.","placeholder":"1000","name":"BUDGET_SATS"},{"description":"Account token for tools that act on YOUR bolthub account (workspace, listing, audit, earnings, and node tools). Optional even for those: the connect_account tool pairs via the browser instead. Never needed to discover, call, or pay for APIs — buying is account-less.","isSecret":true,"name":"BOLTHUB_ACCOUNT_TOKEN"}]}],"tools":[{"name":"analyze_listing","description":"Audit a bolthub listing you own against the seller-guide rubric and get a prioritized punch list (HIGH/MED/LOW findings with evidence and a fix pointer). Checks origin protection (is the paywall bypassable? is bolthub's signed traffic being rejected?), honest status codes, docs/examples quality, public schema visibility, uptime and p95 latency, pricing-model fit, samples, and free-try. Read-only —","write_action":false,"price_micros":0,"input_schema":null},{"name":"buy_credit","description":"Buy prepaid CREDIT for a bolthub provider: pay ONCE for a sats budget spendable across ALL of that provider's endpoints, then call_api to any of them draws the credit with no further Lightning payment until it runs out. Use this when you'll call SEVERAL of one provider's endpoints — sum their costs and buy that much credit in one payment. Credit is face-value (the provider charges exactly the sats","write_action":true,"price_micros":0,"input_schema":null},{"name":"call_api","description":"Call an API endpoint on the bolthub marketplace. Handles L402 Lightning payments automatically. Use get_api_details or preview_cost first to check pricing. Returns the response along with cost and budget information.","write_action":false,"price_micros":0,"input_schema":null},{"name":"close_stream","description":"Close a stream opened with open_stream and get a final summary (events, duration, cost). Closing does not refund the connection payment. Streams also close themselves on gateway limits, on the paid window ending, or after 10 minutes without a read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_account","description":"One-click connect this MCP server to the user's bolthub account. Starts a browser pairing: returns an approval link and a short confirmation code — show BOTH to the user and tell them to check the codes match before approving. After they approve, call connect_status to finish. The minted account token is stored locally and never appears in chat. Use when a seller tool reports no account token.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_status","description":"Finish or check the account pairing started by connect_account. Call it after the user says they approved in the browser. On success the account token is stored locally (never shown in chat) and the seller tools start working.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_wallet","description":"Check or set up the payout wallet for a workspace. A deployed bolthub node can be bound directly (pass node_id — the credential copy is server-side, nothing secret enters chat). Other wallets connect in the browser: the tool returns the dashboard link plus guidance for self-hosted LND (invoice-only macaroon) and always-on NWC services; the chat only ever sees connected yes/no and reachability. Re-","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_workspace","description":"Create a new bolthub workspace (tenant) for selling APIs. Secret-free and reversible: an empty workspace costs nothing and the 30-day trial only starts when a first endpoint is published. A wallet is OPTIONAL until you publish a paid endpoint — then it's required (publishing a paid endpoint without one is blocked). Bind a deployed node as the payout wallet now with wallet_node_id, or later with co","write_action":true,"price_micros":0,"input_schema":null},{"name":"deploy_node","description":"Deploy a Lightning node (LND + Neutrino) on the user's own VPS — fully non-custodial. GUIDED FLOW, call it repeatedly as the conversation progresses: (1) no arguments → provider menu with prices; (2) provider chosen but no credential stored → sign-up + access-token steps for that provider (the token itself is entered at bolthub.ai/nodes/deploy in the browser, never in chat); (3) credential present","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_receipts","description":"Export this machine's L402 payment receipts (cryptographic proof-of-payment records:","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_api_details","description":"Get full details for a specific API including all endpoints, pricing, example requests/responses, and usage instructions. Use the slug from search_apis results.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_earnings","description":"Revenue report for a bolthub workspace you own: all-time and windowed earnings in sats, recent paid days, and top-earning endpoints. Read-only. Requires BOLTHUB_ACCOUNT_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_onboarding_state","description":"One-look onboarding checklist for a workspace: wallet connected, endpoints drafted/published, origin-protection verdict (live probe), listing live, trial state — plus the single next step. Use it to drive the seller onboarding conversation. Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_api","description":"Turn an API spec into a DRAFT bolthub listing: parses OpenAPI/Swagger or Postman (JSON or YAML), creates the endpoints as unlisted drafts (never visible in the directory), and applies a default per-request price you can refine. Publishing is a separate explicit step — use publish_listing. Requires BOLTHUB_ACCOUNT_TOKEN (your bolthub account, dashboard → MCP setup). Re-importing a spec for an origi","write_action":false,"price_micros":0,"input_schema":null},{"name":"mint_scoped_token","description":"Mint a scoped, capped child credential from a multi-use credential you already hold for an endpoint, to hand to a sub-agent. Attenuates OFFLINE (no payment, no round-trip): the child is a normal L402 token the worker spends with call_api or a plain client, and the gateway enforces every cap. Attenuation is tighten-only — a child can never widen scope or exceed the parent's remaining uses/sats. Giv","write_action":false,"price_micros":0,"input_schema":null},{"name":"node_status","description":"Check the status of a deployed Lightning node. Returns current state, IP address, sync progress, and setup instructions when applicable. Pass wait_for to BLOCK until a milestone is reached (for driving deploy → wallet → bind without babysitting): the call polls server-side state and returns as soon as the condition holds, errors loudly on timeout or a terminal state, and stops immediately when onl","write_action":false,"price_micros":0,"input_schema":null},{"name":"open_stream","description":"Open a live streaming (SSE) endpoint and hold the connection in the background. One Lightning payment buys the connection; read_stream then returns events for free until the stream closes. Use for continuous monitoring (\"tell me when a big liquidation happens\"); for a one-off taste use call_api with stream_events/stream_seconds instead. At most … streams can be open at once, and a stream nobody re","write_action":false,"price_micros":0,"input_schema":null},{"name":"preview_cost","description":"Preview the cost of calling an API endpoint without making the actual request or paying. Use this to check pricing before committing to a call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"publish_listing","description":"Take a workspace's draft endpoints live in the bolthub directory. Without confirm:true it is a DRY RUN that shows exactly what would go live (endpoints, prices, workspace activation) — show that to the user and get their go-ahead before re-calling with confirm:true. Publishing the first endpoint starts the workspace's 30-day free trial. Requires BOLTHUB_ACCOUNT_TOKEN.","write_action":true,"price_micros":0,"input_schema":null},{"name":"read_stream","description":"Read new events from a stream opened with open_stream. Free (the connection is already paid). Returns events since your previous read; pass wait_seconds (max …) to wait for the next event instead of returning immediately — \"wake me when something happens\". Zero events on a healthy connection is normal for event-driven feeds. After the stream ends, one final read returns the closing summary.","write_action":false,"price_micros":0,"input_schema":null},{"name":"revoke_token","description":"Revoke the grant behind a prepaid bundle this session bought, killing the whole delegation tree minted from it (every scoped child made with mint_scoped_token). Takes effect on the next request within ~15s, returning token_revoked. Use it to cut off a sub-agent (or all of them) after handing out children. Optionally pass released_sats to return child-cap budget you reserved back to your budget.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_apis","description":"Search the bolthub API marketplace. Returns a list of available APIs with names, descriptions, tags, endpoint counts, and pricing. Use this to discover APIs that match your needs. Call without arguments to list all available APIs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"usage_summary","description":"Operational usage for a bolthub workspace you own: billing status and projected platform fee for the current cycle, paid traffic by endpoint, and SDK-tool (facilitator) usage. Pass endpoint_id for one endpoint's latency/error detail. Read-only. Requires BOLTHUB_ACCOUNT_TOKEN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"wallet_status","description":"Inspect the SPENDING wallet this session pays from: balance, permissions (can it pay invoices?),","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":68,"grade":"C","scanned_at":"2026-09-24T21:42:53.668Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T21:42:53.667Z","components":{"code":{"score":20,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 62 days ago"]},"identity":{"score":6,"max":10,"notes":["namespace and repository owner differ","website matches verified namespace"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/index.js: …eCode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@bolthub/mcp","version":"0.7.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-07-25T02:03:37.689Z","repositoryUrl":"git+https://github.com/signaltech-org/bolthub-sdk.git","weeklyDownloads":42}],"repo":{"found":true,"owner":"signaltech-org","repo":"bolthub-sdk","archived":false,"pushedAt":"2026-07-25T02:03:11Z","stars":0,"forks":1,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/252528901?v=4","ownerCreatedAt":"2026-01-02T04:18:03Z","license":"MIT"},"icon":{"url":"https://docs.bolthub.ai/icon.svg?f758cebba4c4623e","source":"site"},"presence":{"stars":0,"forks":1,"downloadsWeek":42,"license":"MIT","lastPushAt":"2026-07-25T02:03:11.000Z","score":21}}}},"grade_history":[],"reviews":[]}