Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BTCPAY_API_KEYYesAPI key from BTCPay Server
BTCPAY_BASE_URLYesYour BTCPay Server URLhttps://testnet.demo.btcpayserver.org
BTCPAY_STORE_IDYesDefault store ID for invoice operations

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_server_infoA

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_storesA

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_infoA

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.

get_store_payment_methodsA

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.

create_invoiceA

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.

get_invoiceA

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.

list_invoicesA

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.

get_exchange_rateA

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.

list_pull_paymentsA

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.

create_pull_paymentA

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.

list_payoutsA

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_requestsA

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_requestA

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.

get_payment_requestA

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.

list_webhooksA

List all webhooks configured for the store.

Webhooks notify your application about payment events (invoice created, settled, expired, etc.) in real time.

create_webhookA

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.

refund_invoiceA

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.

get_lightning_infoA

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.

list_lightning_channelsA

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.

get_wallet_balanceA

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.

list_wallet_transactionsA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/ThomsenDrake/btcpay-mcp'

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