btcpay-mcp
Enables Bitcoin merchant payment processing through BTCPay Server, allowing AI agents to create invoices, manage stores, track payment statuses, and monitor on-chain wallet transactions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@btcpay-mcpcreate a $50 invoice for order #1234"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
btcpay-mcp
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.
pip install btcpay-mcpQuick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"btcpay-server": {
"command": "uvx",
"args": ["btcpay-mcp"],
"env": {
"BTCPAY_BASE_URL": "https://your-btcpay-server.com",
"BTCPAY_API_KEY": "your-api-key",
"BTCPAY_STORE_ID": "your-store-id"
}
}
}
}Claude Code
claude mcp add btcpay-server -- uvx btcpay-mcpCursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"mcpServers": {
"btcpay-server": {
"command": "uvx",
"args": ["btcpay-mcp"],
"env": {
"BTCPAY_BASE_URL": "https://your-btcpay-server.com",
"BTCPAY_API_KEY": "your-api-key",
"BTCPAY_STORE_ID": "your-store-id"
}
}
}
}Manual / pip install
pip install btcpay-mcp
# Set environment variables
export BTCPAY_BASE_URL="https://your-btcpay-server.com"
export BTCPAY_API_KEY="your-api-key"
export BTCPAY_STORE_ID="your-store-id"
# Run
btcpay-mcpOr with pip install from source:
git clone https://github.com/toplyrnarfur/btcpay-mcp.git
# or: git clone https://codeberg.org/toplyr-narfur/btcpay-mcp.git
cd btcpay-mcp
pip install -e ".[dev]"
python -m btcpay_mcp.serverRelated MCP server: Lightning Enable MCP
Tools
Tool | Description |
| BTCPay Server version, sync status, supported methods |
| List all stores accessible with the API key |
| Store configuration: currency, speed policy, checkout type |
| Enabled payment methods: on-chain, Lightning, etc. |
| Create a new invoice (amount, currency, order ID, description) |
| Invoice status, payments received, metadata, timing |
| List invoices with optional status filter |
| Current BTC/fiat exchange rate from BTCPay |
| List pull payments (donations, subscriptions, payroll) |
| Create pull payment for donations, subscriptions, or payroll |
| List actual payout transactions (claims against pull payments) |
| List payment requests (reusable payment links) |
| Create a payment request (persistent payment page) |
| Get payment request details and status |
| List configured webhooks for payment event notifications |
| Create a webhook for real-time payment notifications |
| Refund an invoice (creates pull payment) |
| Lightning node info: alias, version, peers, channels, balance |
| List Lightning channels with capacity, balances, status |
| On-chain wallet balance (confirmed/unconfirmed) |
| List on-chain wallet transactions |
Top Use Cases
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 |
Configuration
Variable | Default | Description |
|
| Your BTCPay Server URL |
| (empty) | API key from BTCPay Server |
| (empty) | Default store ID for invoice operations |
Creating a BTCPay API Key
Navigate to your BTCPay Server instance
Go to Account → API Keys or Store Settings → API Keys
Create a new API key with appropriate permissions
Note the API key and your store ID
API Endpoints
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
How This Differs from Other Bitcoin MCP Servers
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.
Run Tests
pip install -e ".[dev]"
pytest tests/ -vAll 77 tests pass with mock-based testing (no BTCPay instance needed).
Technical Details
Python 3.10+ compatible
FastMCP SDK (official Anthropic MCP Python SDK)
Authentication: Bearer token via
BTCPAY_API_KEYenvironment variableTransport: stdio (for Claude Desktop, Cursor, VS Code, Windsurf, etc.)
Default testnet: Points to
https://testnet.demo.btcpayserver.orgby default
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for BTCPayServer integration, providing tools for payment processing, store management, user administration, webhook handling and more with full API coverage.Last updated3102MIT
- AlicenseAqualityBmaintenanceMCP server that enables AI agents to make autonomous Bitcoin Lightning Network payments using the L402 protocol. Agents can pay for API access, purchase resources, and complete transactions without human intervention — invoice comes in, sats go out, done.Last updated179MIT
- Alicense-qualityFmaintenanceMCP server that gives AI agents Lightning payments, L402 API access, trust verification, and service discovery.Last updated12MIT

satsrail-mcpofficial
Alicense-qualityCmaintenanceAn MCP server that enables AI agents to accept Bitcoin Lightning payments. It allows agents to create orders, generate invoices, check payment status, and manage the full SatsRail merchant API through natural language.Last updatedMIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ThomsenDrake/btcpay-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server