21 tools for AI agents to manage BTCPay Server: invoices, payments, stores, webhooks, Lightning
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for BTCPay Server β let AI agents create invoices, manage stores, track payments, and check exchange rates through the Greenfield REST API.
21 tools Β· MIT licensed Β· Zero hardcoded credentials
The only MCP server for BTCPay Server. While other Bitcoin MCP servers cover blockchain data and node RPC,
btcpay-mcpis the first to expose full merchant payment processing β invoice creation, store management, pull payments, payment requests, Lightning operations, wallet management, webhooks, and exchange rates β to AI agents.
Add to your claude_desktop_config.json:
Add to .cursor/mcp.json or .vscode/mcp.json:
Or with pip install from source:
| Tool | Description |
|---|---|
get_server_info | BTCPay Server version, sync status, supported methods |
list_stores | List all stores accessible with the API key |
get_store_info | Store configuration: currency, speed policy, checkout type |
get_store_payment_methods | Enabled payment methods: on-chain, Lightning, etc. |
create_invoice | Create a new invoice (amount, currency, order ID, description) |
get_invoice | Invoice status, payments received, metadata, timing |
list_invoices | List invoices with optional status filter |
get_exchange_rate | Current BTC/fiat exchange rate from BTCPay |
list_pull_payments | List pull payments (donations, subscriptions, payroll) |
create_pull_payment | Create pull payment for donations, subscriptions, or payroll |
list_payouts | List actual payout transactions (claims against pull payments) |
list_payment_requests | List payment requests (reusable payment links) |
create_payment_request | Create a payment request (persistent payment page) |
get_payment_request | Get payment request details and status |
list_webhooks | List configured webhooks for payment event notifications |
create_webhook | Create a webhook for real-time payment notifications |
refund_invoice | Refund an invoice (creates pull payment) |
get_lightning_info | Lightning node info: alias, version, peers, channels, balance |
list_lightning_channels | List Lightning channels with capacity, balances, status |
get_wallet_balance | On-chain wallet balance (confirmed/unconfirmed) |
list_wallet_transactions | List on-chain wallet transactions |
Ask your AI agent:
| Prompt | What it does |
|---|---|
| "Create a $50 invoice for Order #1234" | Generates a BTC/Lightning invoice via BTCPay |
| "Show me all unpaid invoices" | Lists pending invoices across stores |
| "What payment methods does my store accept?" | Checks configured payment methods |
| "What's the BTC/USD rate right now?" | Fetches current exchange rate |
| "Show me the status of invoice inv_xxxx" | Retrieves full invoice details and payment status |
| "Set up a $100/month donation pull payment" | Creates a pull payment for recurring donations |
| "Create a payment request for my consulting service" | Creates a reusable payment link |
| "Show me my Lightning node info and balance" | Fetches LN alias, channels, and balances |
| "Check my on-chain wallet balance" | Gets confirmed/unconfirmed BTC wallet balance |
| "Set up a webhook for invoice settlements" | Creates a webhook for real-time payment notifications |
| "Refund invoice inv_xxxx" | Initiates a refund with configurable calculation method |
| Variable | Default | Description |
|---|---|---|
BTCPAY_BASE_URL | https://testnet.demo.btcpayserver.org | Your BTCPay Server URL |
BTCPAY_API_KEY | (empty) | API key from BTCPay Server |
BTCPAY_STORE_ID | (empty) | Default store ID for invoice operations |
All from the BTCPay Server Greenfield API v1:
GET /api/v1/server/info β server version and infoGET /api/v1/stores β list storesGET /api/v1/stores/{storeId} β store configurationGET /api/v1/stores/{storeId}/payment-methods β enabled payment methodsPOST /api/v1/stores/{storeId}/invoices β create invoiceGET /api/v1/stores/{storeId}/invoices β list invoicesGET /api/v1/stores/{storeId}/invoices/{invoiceId} β invoice detailsGET /api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods β payment addressesPOST /api/v1/stores/{storeId}/invoices/{invoiceId}/refund β refund invoiceGET /api/v1/stores/{storeId}/pull-payments β list pull paymentsPOST /api/v1/stores/{storeId}/pull-payments β create pull paymentGET /api/v1/stores/{storeId}/payouts β list payoutsGET /api/v1/stores/{storeId}/payment-requests β list payment requestsPOST /api/v1/stores/{storeId}/payment-requests β create payment requestGET /api/v1/stores/{storeId}/payment-requests/{id} β payment request detailsGET /api/v1/stores/{storeId}/webhooks β list webhooksPOST /api/v1/stores/{storeId}/webhooks β create webhookGET /api/v1/stores/{storeId}/lightning/{cryptoCode}/info β LN node infoGET /api/v1/stores/{storeId}/lightning/{cryptoCode}/balance β LN balanceGET /api/v1/stores/{storeId}/lightning/{cryptoCode}/channels β LN channelsGET /api/v1/stores/{storeId}/payment-methods/{pmId}/wallet β wallet balanceGET /api/v1/stores/{storeId}/payment-methods/{pmId}/wallet/transactions β wallet transactionsGET /api/v1/rates β exchange rates| Feature | btcpay-mcp | bitcoin-mcp (Bortlesboat) |
|---|---|---|
| Invoice creation | β Yes | β No |
| Store management | β Yes | β No |
| Payment lifecycle | β Yes | β No |
| Pull payments | β Yes | β No |
| Payment requests | β Yes | β No |
| Webhooks | β Yes | β No |
| Refunds | β Yes | β No |
| Lightning node info | β Yes | β No |
| Wallet management | β Yes | β No |
| Exchange rates | β Yes (BTCPay) | β Yes (Satoshi API) |
| Blockchain data | β No | β Yes (49 tools) |
| Node RPC | β No | β Yes (optional) |
| Merchant payments | β Only option | β No |
btcpay-mcp is complementary to blockchain data servers like bitcoin-mcp. Use both for complete Bitcoin coverage: blockchain data from bitcoin-mcp, payment processing from btcpay-mcp.
All 77 tests pass with mock-based testing (no BTCPay instance needed).
BTCPAY_API_KEY environment variablehttps://testnet.demo.btcpayserver.org by defaultMIT
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/btcpay-server-mcp)<a href="https://allmcps.com/mcp/btcpay-server-mcp"><img src="https://allmcps.com/api/badge/btcpay-server-mcp?style=directory" alt="BTCPay Server MCP on AllMCPs" /></a>