← Back to search

BTCPay Server MCP

ThomsenDrake Scanned 29d ago

21 tools for AI agents to manage BTCPay Server: invoices, payments, stores, webhooks, Lightning

C
71.7 / 100

Versions

No versions found.

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 21

get_store_payment_methods
annotations: none low

List payment methods enabled for a BTCPay store. Args: store_id: Store ID (optional — uses BTCPAY_STORE_ID env var if empty). Returns enabled payment methods including on-chain (BTC, LTC, etc.) and Lightning, with network details and connection status.

store_id str
get_server_info
annotations: none low

Get BTCPay Server version and system information. Returns the server version, supported features, and system status. Use this to verify connectivity and check what features are available. No store ID or API key required for this endpoint.

list_stores
annotations: none low

List all BTCPay Server stores accessible with the current API key. Returns store IDs, names, and websites. Use a store ID from this list as the storeId parameter for invoice operations.

get_store_info
annotations: none low

Get detailed information about a specific BTCPay store. Args: store_id: Store ID (optional — uses BTCPAY_STORE_ID env var if empty). Returns store configuration including default currency, speed policy, payment tolerance, and checkout settings.

store_id str
create_invoice
annotations: none low

Create a new BTCPay invoice. Args: amount: Payment amount as a string (e.g., '0.001' or '10.00'). Precision is preserved because amounts are sent as strings. currency: Currency code (e.g., 'BTC', 'USD', 'EUR'). Default: 'BTC'. order_id: Optional order ID for tracking (stored in metadata). item_desc: Optional item description (stored in metadata). Returns the invoice ID, status, checkout URL, and expiration time. Use the checkout URL to direct users to the payment page.

amount str currency str order_id str item_desc str
get_invoice
annotations: none low

Get details and status of a BTCPay invoice. Args: invoice_id: The invoice ID (UUID string returned by create_invoice). Returns invoice status, amounts, payments received, and timing information. Status values: New, Processing, Settled, Expired, Invalid.

invoice_id str
list_invoices
annotations: none low

List invoices from the default BTCPay store. Args: status_filter: Optional status to filter by: 'New', 'Processing', 'Settled', 'Expired', or 'Invalid'. Leave empty for all. Returns a list of recent invoices with IDs, amounts, statuses, and dates.

status_filter str
get_exchange_rate
annotations: none low

Get the current BTCPay exchange rate for a currency pair. Args: currency_pair: Currency pair in format 'BTC_USD', 'BTC_EUR', etc. Default: 'BTC_USD'. Returns the current exchange rate from BTCPay's configured rate provider.

currency_pair str
list_pull_payments
annotations: none low

List all pull payments (donations, subscriptions, payroll) for the store. Args: include_archived: Whether to include archived pull payments. Default: False. Pull payments allow you to set up payment links that others can claim. Common uses: donations, recurring payouts, payroll.

include_archived bool
create_pull_payment
annotations: none low

Create a new pull payment for donations, subscriptions, or payroll. Args: name: Name/label for the pull payment. amount: Payment amount as a string (e.g., '0.01'). currency: Currency code (e.g., 'BTC', 'USD'). Default: 'BTC'. description: Optional description. auto_approve: Auto-approve claims without manual review. Default: False. expires_at: Optional expiration (ISO 8601, e.g., '2026-04-01T00:00:00Z'). Returns the pull payment ID, payment link, and configuration.

name str amount str currency str expires_at str description str auto_approve bool
list_payouts
annotations: none low

List all payouts (actual payout transactions) for the store. Payouts are claims against pull payments. Each payout represents money moved to a destination (wallet address, Lightning node, etc.).

list_payment_requests
annotations: none low

List all payment requests (reusable payment links) for the store. Payment requests are persistent payment pages that generate invoices on demand — useful for recurring billing, tipping, and donations.

create_payment_request
annotations: none low

Create a new payment request (reusable payment link). Args: title: Title for the payment request. amount: Payment amount as a string (e.g., '0.001'). currency: Currency code (e.g., 'BTC', 'USD'). Default: 'BTC'. description: Optional description shown to payers. expiry_days: Days until expiration (0 = no expiry). Default: 0. allow_custom_amounts: Allow payers to set custom amounts. Default: False. Returns the payment request ID and a payment link.

title str amount str currency str description str expiry_days int allow_custom_amounts bool
get_payment_request
annotations: none low

Get details of a specific payment request. Args: payment_request_id: The payment request ID. Returns payment request details including title, amount, status, and generated invoice count.

payment_request_id str
list_webhooks
annotations: none low

List all webhooks configured for the store. Webhooks notify your application about payment events (invoice created, settled, expired, etc.) in real time.

create_webhook
annotations: none low

Create a new webhook for real-time payment notifications. Args: url: The URL to receive webhook POST requests. events: Comma-separated event types or 'all'. Common events: InvoiceSettled, InvoiceExpired, InvoiceInvalid, InvoiceReceivedPayment, InvoicePaymentSettled. Default: 'all'. secret: Optional secret for HMAC-SHA256 signature verification. automatic_redelivery: Auto-redeliver failed webhooks. Default: False. Returns the webhook ID and configuration.

url str events str secret str automatic_redelivery bool
refund_invoice
annotations: none low

Refund a BTCPay invoice. Args: invoice_id: The invoice ID to refund. refund_variant: Refund calculation method. Options: 'RateThen' (use rate at time of invoice, default), 'CurrentRate', 'Fiat' (refund exact fiat amount), 'OverpaidAmount' (refund only overpayment). payout_method_id: Optional payout method ID for the refund destination. subtract_percentage: Percentage to subtract from refund (0-100). Default: 0. Returns the refund result with pull payment ID and amount.

invoice_id str refund_variant str payout_method_id str subtract_percentage float
get_lightning_info
annotations: none low

Get Lightning node info and balance for the store. Args: crypto_code: Crypto code (e.g., 'BTC', 'BTCTest'). Default: 'BTC'. Returns node alias, version, channel count, peer count, and balances.

crypto_code str
list_lightning_channels
annotations: none low

List Lightning channels for the store's Lightning node. Args: crypto_code: Crypto code (e.g., 'BTC', 'BTCTest'). Default: 'BTC'. Returns channel list with remote node, capacity, balances, and status.

crypto_code str
get_wallet_balance
annotations: none low

Get wallet balance for a payment method (on-chain wallet). Args: payment_method_id: Payment method ID (e.g., 'BTC' for the store's default BTC wallet). Leave empty to use the first BTC-like method. Returns confirmed/unconfirmed balance for the wallet.

payment_method_id str
list_wallet_transactions
annotations: none low

List on-chain wallet transactions for a payment method. Args: payment_method_id: Payment method ID (e.g., 'BTC'). Leave empty to use 'BTC' by default. Returns a list of wallet transactions with amounts, confirmations, and statuses.

payment_method_id str

Permissions 3

network medium
Server uses network capabilities via: requests
filesystem low
Server uses filesystem capabilities via: os
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 61

low
Tool 'get_server_info' has no annotations annotation_checker · 100%
low
Tool 'list_stores' has no annotations annotation_checker · 100%
low
Tool 'get_store_info' has no annotations annotation_checker · 100%
low
Tool 'get_store_payment_methods' has no annotations annotation_checker · 100%
low
Tool 'create_invoice' has no annotations annotation_checker · 100%
low
Tool 'get_invoice' has no annotations annotation_checker · 100%
low
Tool 'list_invoices' has no annotations annotation_checker · 100%
low
Tool 'get_exchange_rate' has no annotations annotation_checker · 100%
low
Tool 'list_pull_payments' has no annotations annotation_checker · 100%
low
Tool 'create_pull_payment' has no annotations annotation_checker · 100%
low
Tool 'list_payouts' has no annotations annotation_checker · 100%
low
Tool 'list_payment_requests' has no annotations annotation_checker · 100%
low
Tool 'create_payment_request' has no annotations annotation_checker · 100%
low
Tool 'get_payment_request' has no annotations annotation_checker · 100%
low
Tool 'list_webhooks' has no annotations annotation_checker · 100%
low
Tool 'create_webhook' has no annotations annotation_checker · 100%
low
Tool 'refund_invoice' has no annotations annotation_checker · 100%
low
Tool 'get_lightning_info' has no annotations annotation_checker · 100%
low
Tool 'list_lightning_channels' has no annotations annotation_checker · 100%
low
Tool 'get_wallet_balance' has no annotations annotation_checker · 100%
low
Tool 'list_wallet_transactions' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-9hjg-9r4m-mvj7) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-9wx4-h78v-vm56) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-gc5v-m9x4-r6x2) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (GHSA-j8r2-6x86-q33q) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2023-74) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-1872) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-1873) dependency_analyzer · 95%
medium
Vulnerable dependency: requests@2.28.0 (PYSEC-2026-2275) dependency_analyzer · 95%
medium
Vulnerable dependency: python-dotenv@1.0.0 (GHSA-mf9w-mj56-hr94) dependency_analyzer · 95%
medium
Vulnerable dependency: python-dotenv@1.0.0 (PYSEC-2026-2270) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: get_server_info manifest_parser · 90%
info
Tool: list_stores manifest_parser · 90%
info
Tool: get_store_info manifest_parser · 90%
info
Tool: get_store_payment_methods manifest_parser · 90%
info
Tool: create_invoice manifest_parser · 90%
info
Tool: get_invoice manifest_parser · 90%
info
Tool: list_invoices manifest_parser · 90%
info
Tool: get_exchange_rate manifest_parser · 90%
info
Tool: list_pull_payments manifest_parser · 90%
info
Tool: create_pull_payment manifest_parser · 90%
info
Tool: list_payouts manifest_parser · 90%
info
Tool: list_payment_requests manifest_parser · 90%
info
Tool: create_payment_request manifest_parser · 90%
info
Tool: get_payment_request manifest_parser · 90%
info
Tool: list_webhooks manifest_parser · 90%
info
Tool: create_webhook manifest_parser · 90%
info
Tool: refund_invoice manifest_parser · 90%
info
Tool: get_lightning_info manifest_parser · 90%
info
Tool: list_lightning_channels manifest_parser · 90%
info
Tool: get_wallet_balance manifest_parser · 90%
info
Tool: list_wallet_transactions manifest_parser · 90%
info
Required env vars (3) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%