Skip to main content

MCP server for Boltwork — AI services via Bitcoin Lightning. PDF summarisation, code review, translation, and more.

Project description

boltwork-mcp

MCP server for Boltwork — AI services that pay for themselves via Bitcoin Lightning.

Give your AI agent PDF summarisation, code review, translation, web extraction, document comparison, and persistent memory — all paid autonomously in sats. No API keys. No subscriptions. No accounts.

PyPI Python 3.11+ License: MIT API


What this is

Boltwork is a pay-per-call AI services API that uses the L402 protocol — your agent makes a request, receives a Lightning invoice, pays it automatically, and gets the result back. No human involved.

This package wraps Boltwork as an MCP server so any MCP-compatible AI (Claude, Cursor, Windsurf, etc.) can use it as a tool — with payments handled transparently in the background.

Install

pip install boltwork-mcp

# If using NWC (Nostr Wallet Connect):
pip install "boltwork-mcp[nwc]"

Or use directly with uvx — no install needed:

uvx boltwork-mcp

Setup

1. Get a Lightning wallet

You need a Lightning wallet that supports either:

Option A — NWC (recommended, easiest)

  • Alby — browser extension, free, gives you an NWC connection string
  • Mutiny Wallet — self-custodial mobile wallet

Option B — Phoenixd

  • Phoenixd — self-hosted Lightning node, simple REST API

2. Add to your MCP config

Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "boltwork": {
      "command": "uvx",
      "args": ["boltwork-mcp"],
      "env": {
        "NWC_CONNECTION_STRING": "nostr+walletconnect://your-connection-string-here"
      }
    }
  }
}

Cursor — edit .cursor/mcp.json in your project:

{
  "mcpServers": {
    "boltwork": {
      "command": "uvx",
      "args": ["boltwork-mcp"],
      "env": {
        "NWC_CONNECTION_STRING": "nostr+walletconnect://your-connection-string-here"
      }
    }
  }
}

Using Phoenixd instead of NWC:

{
  "mcpServers": {
    "boltwork": {
      "command": "uvx",
      "args": ["boltwork-mcp"],
      "env": {
        "PHOENIXD_URL": "http://localhost:9740",
        "PHOENIXD_PASSWORD": "your-phoenixd-password"
      }
    }
  }
}

3. Restart your AI and start using tools

That's it. Your agent now has access to all Boltwork tools and will pay invoices automatically when it uses them.


Available tools

Tool What it does Cost
summarise_pdf Summarise a PDF from URL 500 sats
review_code Review code for bugs, security, quality 2000 sats
review_code_url Review code from GitHub/GitLab URL 2000 sats
summarise_webpage Summarise any web page 100 sats
extract_data Extract structured data from PDF 200 sats
translate Translate text or document to 24 languages 150 sats
extract_tables Extract tables from PDF as structured JSON 300 sats
compare_documents Diff two PDFs 500 sats
explain_code Explain code in plain English 500 sats
memory_store Store persistent key-value memory 10 sats
memory_retrieve Read stored memory 5 sats
memory_delete Delete a memory key free
run_workflow Chain services in a single pipeline 1000 sats

Example prompts

Once configured, just talk to your AI naturally:

"Summarise this research paper: https://arxiv.org/pdf/2301.00000"

"Review the code at https://github.com/me/repo/blob/main/app.py"

"Translate this contract to Spanish: https://example.com/contract.pdf"

"Compare these two versions of our terms of service:
  v1: https://example.com/tos-v1.pdf
  v2: https://example.com/tos-v2.pdf"

"Remember that the last file I asked you to review was app.py 
 and the score was 7/10"

Your agent handles the payment automatically — you just see the result.


Workflow pipelines

Chain multiple services in one call with run_workflow:

"Fetch the Bitcoin whitepaper, translate the summary to French,
 and store the translation in my agent memory"

The $from syntax passes outputs between steps:

{
  "steps": [
    {"service": "pdf",       "input": {"url": "https://bitcoin.org/bitcoin.pdf"}},
    {"service": "translate", "input": {"text": {"$from": 0}, "target_language": "french"}}
  ]
}

Environment variables

Variable Required Description
NWC_CONNECTION_STRING One of these two Nostr Wallet Connect string from Alby/Mutiny
PHOENIXD_URL One of these two Phoenixd base URL e.g. http://localhost:9740
PHOENIXD_PASSWORD With Phoenixd Phoenixd HTTP Basic auth password
BOLTWORK_GATEWAY Optional Override gateway URL (default: https://parsebit-lnd.fly.dev)

Pricing

All prices are in satoshis (sats). At current rates, 1000 sats ≈ $0.60 — but this varies with Bitcoin's price.

There is no subscription, no monthly fee, no minimum spend. You pay exactly for what your agent uses, nothing more.


How L402 works

  1. Agent calls a Boltwork tool
  2. boltwork-mcp sends the request to parsebit-lnd.fly.dev
  3. Receives HTTP 402 with a Lightning invoice (e.g. 500 sats for PDF summarisation)
  4. Pays the invoice via your configured wallet (NWC or Phoenixd)
  5. Retries the request with the payment proof
  6. Returns the result to your agent

The whole flow takes 1-3 seconds. Your agent sees only the final result.


Try before you pay

Boltwork has free trial endpoints — no Lightning wallet needed:

curl -X POST https://parsebit.fly.dev/trial/review \
  -H "Content-Type: application/json" \
  -d '{"code": "def add(a, b): return a + b"}'

Links


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boltwork_mcp-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boltwork_mcp-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file boltwork_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: boltwork_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for boltwork_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 461e4393040d9a262405e61a3f5744271bd13ba90e003043b444d629c544109a
MD5 f29b026f39707ad7e5617f3ea14be3db
BLAKE2b-256 6cb951748c932d804f41597af0e89c34224d98ce23f6cc0b799ad92268103005

See more details on using hashes here.

File details

Details for the file boltwork_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: boltwork_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for boltwork_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89d43105dc7bf5eb22bf9ebe57920cdeab8d3598f5aae265460ba3aadfe5136b
MD5 86c5c24757065b50e0f452e1e03fe8ae
BLAKE2b-256 b6ea6464f5a4cf45bd669bd54b6dd52ae65ebe214c53f1049e7211da39bd5158

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page