Skip to main content
Glama
SatsRail

satsrail-mcp

Official
by SatsRail

Give any MCP-compatible AI agent the ability to accept Bitcoin Lightning payments. Create orders, generate invoices, check payment status — all through natural language. No browser, no forms, no redirects.

Works with: Claude Desktop · Cursor · Windsurf · Cline · any MCP client

Why Lightning for AI Agents?

Credit Cards

Lightning (SatsRail)

Integration

Browser forms, 3D Secure, redirects

One API call → invoice string

Settlement

2-3 business days

Instant (seconds)

Fees

2.9% + $0.30 per transaction

Fractions of a cent

Microtransactions

Economically irrational under $5

Works at any amount

Agent-friendly

Requires browser rendering

Pure API — no UI needed

Custody

Funds held by processor

Non-custodial — you keep your sats

Related MCP server: MCP Money

Quick Start

1. Get your API key

Sign up at satsrail.com and grab your secret key (sk_live_... or sk_test_...) from the dashboard.

2. Configure your AI tool

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "satsrail": {
      "command": "npx",
      "args": ["-y", "satsrail-mcp"],
      "env": {
        "SATSRAIL_API_KEY": "sk_test_your_key_here"
      }
    }
  }
}

Add to .cursor/mcp.json (or .windsurf/mcp.json) in your project:

{
  "mcpServers": {
    "satsrail": {
      "command": "npx",
      "args": ["-y", "satsrail-mcp"],
      "env": {
        "SATSRAIL_API_KEY": "sk_test_your_key_here"
      }
    }
  }
}
SATSRAIL_API_KEY=sk_test_... npx satsrail-mcp

3. Use it

Ask your AI agent:

"Create a $25 order for a monthly subscription and generate a Lightning invoice"

The agent calls create_order, returns the bolt11 Lightning invoice, and the customer pays with any Lightning wallet. Settlement in seconds.

Available Tools

46 tools covering the full SatsRail merchant API.

Orders

Tool

Description

create_order

Create a payment order with optional auto-generated Lightning invoice. Supports idempotency_key.

get_order

Get order details by ID (expandable: invoice, payment, merchant)

list_orders

List and filter orders by status, currency, amount range, date range

update_order

Update a pending order, mark cash orders paid, mark paid orders shipped

cancel_order

Cancel a pending order

Invoices

Tool

Description

get_invoice

Get invoice details including bolt11 Lightning payment string

generate_invoice

Generate a new invoice for an existing order. Supports idempotency_key.

check_invoice_status

Real-time payment verification against the Lightning node

get_invoice_qr

Get a QR code (SVG) for an invoice

Payments

Tool

Description

list_payments

List confirmed payments with optional date and amount filters

get_payment

Get payment details by ID

Payment Requests

Tool

Description

create_payment_request

One-call flow: creates an Order and Invoice together. Supports idempotency_key.

get_payment_request

Get details of a payment request

get_payment_request_status

Real-time payment status

Checkout Sessions

Tool

Description

create_checkout_session

Create a hosted checkout. Supports product_id, customer pre-fill, success/cancel URLs

list_checkout_sessions

List sessions with filters

get_checkout_session

Get session by ID

Products

Tool

Description

list_products

List products with name/status/SKU/external_ref filters

get_product

Get a product (UUID or slug)

create_product / update_product / delete_product

Full CRUD

get_product_key

Read the AES-256-GCM encryption key (sensitive — for re-encryption windows)

rotate_product_key

Rotate the encryption key, retaining old_key for re-encryption

clear_product_old_key

Clear old_key after re-encryption is complete

Product Types

Tool

Description

list_product_types / get_product_type / create_product_type / update_product_type / delete_product_type

Full CRUD for product categories

Webhooks

Tool

Description

list_webhooks / get_webhook / create_webhook / update_webhook / delete_webhook

Full CRUD for webhook endpoints (signing secret returned once on create)

Catalog & Merchant

Tool

Description

get_catalog

Full catalog: product types, products, taxes, discounts

get_catalog_version

Lightweight version timestamp for cache invalidation

get_merchant

Current merchant profile and settings

list_wallets / get_wallet

Connected Lightning / Bitcoin wallets

Compliance & Access

Tool

Description

list_merchant_documents / get_merchant_document

Read KYC and compliance documents (uploads and deletions are admin-only)

verify_access_token

Verify a macaroon access token, returns key + remaining time on success

get_api_token_usage

RPM and monthly request stats for an API token

list_subscription_plans

Public list of subscription plans (no auth required)

All list_* tools accept page and per_page (1–100, default 25). All metadata fields follow the portal's limits: ≤50 keys, ≤40-char keys, ≤500-char string values.

Example: Complete Payment Flow

User: "Charge me $50 for the pro plan"

Agent → create_order(amount_cents: 5000, description: "Pro Plan", generate_invoice: true)
     ← order_id: "ord_abc123", bolt11: "lnbc500u1pj...kqq5yxmetu"

Agent: "Here's your Lightning invoice — scan the QR or copy the payment string."

User: "Paid!"

Agent → check_invoice_status(invoice_id: "inv_xyz789")
     ← { status: "paid", settled_at: "2026-02-19T..." }

Agent: "Payment confirmed! Your Pro plan is active. ⚡"

Use Cases

  • SaaS billing — Agents that sell API access, subscriptions, or per-task services and collect payment in the conversation

  • Agent-to-agent commerce — Autonomous agents paying each other for services (translation, compute, data) with instant settlement

  • Invoice automation — Generate and send Lightning invoices programmatically based on milestones, usage, or schedules

  • Multi-merchant platforms — Build agent-powered marketplaces where AI handles checkout across vendors

  • Micropayments — Pay-per-query, pay-per-generation, pay-per-anything — amounts too small for credit cards

Environment Variables

Variable

Required

Description

SATSRAIL_API_KEY

Yes

Your SatsRail API key (sk_live_* or sk_test_*)

SATSRAIL_BASE_URL

No

API base URL (default: https://satsrail.com)

Test Mode

Use sk_test_* keys to create test orders and invoices in a fully isolated sandbox. No real payments processed, no test data mixing with production.

Non-Custodial

SatsRail never holds your funds. Connect your own Lightning node — payments settle directly to your wallet. Learn more about our non-custodial architecture →

SDKs

Need direct API access instead of MCP? Use our SDKs:

  • Node.jsnpm install satsrail

  • Pythonpip install satsrail

  • Rubygem install satsrail

Resources

Local development

git clone https://github.com/SatsRail/satsrail-mcp
cd satsrail-mcp
npm install
npm test            # vitest — unit + smoke against a fake server
SATSRAIL_API_KEY=sk_test_xxx npm start

Drive it interactively with the MCP Inspector:

npx @modelcontextprotocol/inspector node src/index.js

Contributing

Issues and PRs welcome. See CONTRIBUTING.md for guidelines.

License

MIT — see LICENSE for details.


A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SatsRail/satsrail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server