MCP server for Boltwork — AI services via Bitcoin Lightning. PDF summarisation, code review, translation, and more.
Project description
mcp-name: io.github.Squidboy30/boltwork-mcp
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.
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
- Agent calls a Boltwork tool
boltwork-mcpsends the request toparsebit-lnd.fly.dev- Receives HTTP 402 with a Lightning invoice (e.g. 500 sats for PDF summarisation)
- Pays the invoice via your configured wallet (NWC or Phoenixd)
- Retries the request with the payment proof
- 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
- Boltwork API — the service this MCP server wraps
- Agent spec — full API reference
- L402 Index — directory of L402 services
- MCP documentation — learn about MCP
- Cracked Minds — the team behind Boltwork
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file boltwork_mcp-0.1.4.tar.gz.
File metadata
- Download URL: boltwork_mcp-0.1.4.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
764fedcb2c7e2458d52c3c3e3a27b7be188081893a3ed131897db7751ba72fe0
|
|
| MD5 |
79439b47759bbbe3878ad053c7bbcc12
|
|
| BLAKE2b-256 |
467c0c82dbd4cdd694ce87fc12af8f6944b9c2bcad4845857c6b8f8e873f946f
|
File details
Details for the file boltwork_mcp-0.1.4-py3-none-any.whl.
File metadata
- Download URL: boltwork_mcp-0.1.4-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46a024001f1cff6d6c8de8281b77912d57a738a77103e62cff1613ff0ce6c149
|
|
| MD5 |
0b7804707cf872319eede9490e2e9777
|
|
| BLAKE2b-256 |
08fe44fbfe5089a0b38dec4d32a3d6a7380f7343f1b5fc9a143781683afee87f
|