# Flutterwave — MCP server on mcp.ai > Connect your Flutterwave account and use 53 tools for payment processing straight from your AI agent. Connect with your own API key. Flutterwave is a payments technology company that provides payment infrastructure and APIs enabling businesses to accept and send payments in Africa and globally. By: mcp.ai · official Page: https://mcp.ai/flutterwave ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_flutterwave?ms=1787291460000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/flutterwave/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/flutterwave/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/flutterwave/skill.md Postman collection (v2.1): https://mcp.ai/flutterwave/postman.json ## Tools - flutterwave_cancel_payment_plan(id: string) — Tool to cancel a payment plan. Use when you need to prevent all future subscriptions under this plan. - flutterwave_create_beneficiary(account_bank: string, account_number: string, beneficiary_name?: string) — Tool to create a new transfer beneficiary. Use when you need to add a beneficiary before making a transfer. - flutterwave_create_bulk_tokenized_charge(title: string, bulk_data: object[], retry_strategy?: object) — Tool to create a bulk tokenized charge batch for charging multiple previously tokenized cards. Use when you need to process multiple recurring or subscription charges in a single batch. Each charge mu - flutterwave_create_bulk_virtual_account_numbers(batch_ref: string, bulk_data: object[], narration?: string) — Tool to create multiple virtual account numbers. Use when you need to generate multiple static virtual accounts for customers in a single request. - flutterwave_create_payment_link(amount: number|string, tx_ref: string, currency: string, customer: object, redirect_url: string, customizations?: object) — Tool to create a hosted payment link. Use when you need a shareable payment URL for one-time transactions. - flutterwave_create_payment_plan(name: string, amount?: number|string, currency?: string, duration?: integer, interval: string) — Tool to create a new payment plan. Use after confirming plan and customer details. - flutterwave_create_refund(id: string, amount: string) — Tool to create a refund for a transaction. Use when you need to initiate a refund after confirming the transaction ID and refund amount. - flutterwave_create_subaccount(meta?: object[], country?: string, split_type: string, split_value: number, account_bank: string, business_name: string, account_number: string, business_email: string, business_mobile?: string, business_contact?: string, business_contact_mobile?: string) — Tool to create a new subaccount. Use when you need to configure split disbursement accounts. - flutterwave_create_virtual_account(bvn?: string, email: string, amount: number, tx_ref?: string, duration?: integer, lastname?: string, firstname?: string, frequency?: integer, narration?: string, phonenumber?: string, is_permanent?: boolean) — Tool to create a new virtual account number. Use after confirming customer details when assigning a unique account for bank transfers. - flutterwave_delete_beneficiary(id: integer) — Tool to delete a beneficiary by ID. Use when you need to remove a saved transfer beneficiary by its unique ID after confirming the ID. - flutterwave_delete_subaccount(id: string) — Tool to delete a subaccount by ID. Use when you need to remove a subaccount from your Flutterwave account. - flutterwave_disable_payment_link(link: string) — Tool to disable a Flutterwave payment link. Use when you need to prevent further payments from an existing link after confirming the link is valid. - flutterwave_fetch_beneficiary(id: integer) — Tool to retrieve details of a specific beneficiary by ID. Use after obtaining a beneficiary ID to fetch its full details from Flutterwave. - flutterwave_fetch_subaccount(id: string) — Tool to retrieve details of a specific subaccount by ID. Use when you need full subaccount info after creating or updating splits. - flutterwave_generate_transaction_reference() — Tool to generate a unique transaction reference. Use when initiating a new Flutterwave transaction requires a unique reference to prevent duplication. - flutterwave_get_all_subscriptions(page?: integer, per_page?: integer) — Tool to retrieve all subscriptions, including cancelled ones. Use when you need a comprehensive list of subscription records for auditing or reporting. - flutterwave_get_all_transactions(page?: integer, status?: string, tx_ref?: string, to_date?: string, currency?: string, from_date?: string, customer_email?: string) — Tool to retrieve a list of all transactions with optional filters. Use when you need to paginate or filter transaction history after confirming valid API credentials. - flutterwave_get_all_wallet_balances() — Tool to retrieve all wallet balances across currencies. Use when reconciling balances after authentication. - flutterwave_get_balances_per_currency(currency: string) — Tool to retrieve wallet balance for a specific currency. Use after transactions to confirm available and ledger balances in a given currency. - flutterwave_get_bank_branches(id: integer) — Tool to retrieve branch codes for a specific bank. Use when you need branch information for transfers in countries like Ghana that require branch codes. - flutterwave_get_banks_by_country(country: string) — Tool to retrieve all banks in a specified country. Use when you need to get available banks for transfers or payments in a specific country. - flutterwave_get_bill_categories() — Tool to retrieve available bill categories. Use after authenticating to Flutterwave to display bill payment options to users. - flutterwave_get_bulk_tokenized_charge(bulk_id: string) — Tool to retrieve the status of a bulk tokenized charge operation by ID. Use after initiating a bulk tokenized charge to check its processing status. - flutterwave_get_bulk_virtual_account(batch_id: string) — Tool to fetch bulk virtual account details using batch ID. Use this after creating bulk virtual accounts to retrieve the generated account numbers and their details. - flutterwave_get_multiple_refund_transactions(page?: integer, status?: string, flw_ref?: string, to_date?: string, from_date?: string, page_size?: integer) — Tool to retrieve multiple refund transactions with optional filters. Use when you need to fetch paginated refund data after confirming valid API credentials. - flutterwave_get_payment_plan(id: integer) — Tool to retrieve details of a specific payment plan by ID. Use after obtaining the payment plan ID to fetch its details from Flutterwave. - flutterwave_get_payment_plans() — Tool to retrieve a list of all payment plans. Use when you need to fetch and present your account’s configured billing plans. - flutterwave_get_refund(id: integer) — Tool to retrieve details of a specific refund by ID. Use after obtaining the refund ID to fetch its details from Flutterwave. - flutterwave_get_transaction(id: integer) — Tool to retrieve details of a specific transaction by ID. Use after obtaining the transaction ID to fetch its details from Flutterwave. - flutterwave_get_transaction_fee(amount: number, currency: string) — Tool to retrieve the fee for a specific transaction. Use when you need to calculate the total charge including fees before initiating the transaction. - flutterwave_get_transfer_fee(type?: string, amount: integer, currency?: string) — Tool to retrieve the fee for initiating a transfer. Use when you need to estimate transfer costs before creating a transfer. Example: "Calculate the fee for transferring NGN 5000 to an account." - flutterwave_get_transfer_rates(amount: number, source_currency: string, destination_currency: string) — Tool to retrieve exchange rates for transfers between currencies. Use when you need to calculate conversion rates before initiating a cross-currency transfer. - flutterwave_get_virtual_account_number(order_ref: string) — Tool to fetch details of a virtual account number by order reference. Use when you need to retrieve account details after creation. - flutterwave_get_wallet_statement(page?: integer, to_date?: string, currency?: string, from_date?: string) — Tool to retrieve wallet balance history with optional filters. Use when you need to view transaction history and balance changes over a period. - flutterwave_initiate_bvn_verification(bvn: string, lastname: string, firstname: string, redirect_url: string) — Tool to initiate BVN verification consent. Use when you need to verify a customer's Bank Verification Number (BVN) by obtaining their consent first. The customer will be redirected to a consent page w - flutterwave_initiate_mobile_money_tanzania(meta?: object, email: string, amount: number, tx_ref: string, network?: string, currency: string, fullname?: string, client_ip?: string, phone_number: string, device_fingerprint?: string) — Tool to initiate a mobile money payment in Tanzania. Use after collecting customer details to charge via Tanzanian mobile money networks. - flutterwave_list_all_beneficiaries(page?: integer, per_page?: integer) — Tool to list all saved beneficiaries. Use when you need to retrieve all transfer beneficiaries associated with your account. - flutterwave_list_biller_products(id: string) — Tool to retrieve all products available under a specific biller. Use after getting bill categories to display available products for bill payment. - flutterwave_list_billers() — Tool to retrieve available billers. Use after authenticating to Flutterwave to display bill payment biller options to users. - flutterwave_list_chargebacks(page?: integer, flw_ref?: string, per_page?: integer) — Tool to retrieve a list of chargebacks with optional filtering by Flutterwave reference. Use when you need to view all chargebacks or search for a specific chargeback by transaction reference. - flutterwave_list_payout_subaccount_refunds(page?: integer, per_page?: integer) — Tool to list all payout subaccount refunds with pagination support. Use when you need to retrieve payout subaccount refund history with optional page filtering. - flutterwave_list_payout_subaccounts() — Tool to list all payout subaccounts. Use when you need to retrieve all payout subaccounts associated with your Flutterwave account. - flutterwave_list_recurring_bills() — Tool to retrieve all recurring bill payments. Use when you need to view scheduled or active recurring billing arrangements. - flutterwave_list_settlements(page?: integer, to_date?: string, from_date?: string, subaccount_id?: string) — Tool to retrieve all settlements with optional filters. Use when you need to fetch settlement records, view transaction settlements, or track payment disbursements. - flutterwave_list_subaccounts(page?: integer, per_page?: integer) — Tool to fetch all collection subaccounts. Use when you need to retrieve the complete list of subaccounts for split disbursements. - flutterwave_list_transfers(page?: integer, status?: string, reference?: string) — Tool to fetch a list of bulk transfers from your Flutterwave account. Use when you need to retrieve transfer history, check transfer statuses, or filter transfers by reference or status. - flutterwave_resolve_bank_account(account_bank: string, account_number: string) — Tool to verify and resolve bank account details. Use when you need to retrieve the account holder name for a Nigerian bank account by providing the account number and bank code. - flutterwave_resolve_card_bin(bin: string) — Tool to resolve and retrieve card BIN information from Flutterwave. Use when you need to get issuer details, card type, and country information for a 6-digit BIN. - flutterwave_update_payment_plan(id: integer, name?: string, status?: string) — Tool to update an existing payment plan. Use when you need to modify a payment plan's name or status. - flutterwave_update_subaccount(id: string, split_type?: string, split_value?: string, account_bank?: string, business_name?: string, account_number?: string, business_email?: string) — Tool to update an existing subaccount. Use when you need to modify split disbursement settings or business details. - flutterwave_validate_bill_item(code: string, customer: string, item_code: string) — Tool to validate a bill service before payment. Use before initiating a bill payment to confirm the customer identifier (account number, meter number, etc.) is valid and retrieve customer details. - flutterwave_verify_transaction_by_reference(tx_ref: string) — Tool to verify a transaction using its transaction reference. Use when you have a transaction reference (tx_ref) and need to confirm the transaction status and retrieve its details. - flutterwave_view_transaction_timeline(id: integer) — Tool to retrieve the event timeline for a transaction. Use after obtaining the transaction ID to audit or track the sequence of events. ## Example prompts - "What can I do in Flutterwave?" - "Show me a summary of my Flutterwave account" ## Links Docs: https://mcp.ai/docs/mcps/flutterwave Website: https://mcp.ai/mcps/flutterwave