原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

MCP Flutterwave

作者:bajoski34版本 1.2.0i★ –i在你的电脑上运行
注册名称io.github.bajoski34/mcp-flutterwave

安装

概览

作者提供的说明(英文原文)

MCP Server to interact with Flutterwave APIs.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:FLW_SECRET_KEY

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "flutterwave": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-flutterwave"
      ],
      "env": {
        "FLW_SECRET_KEY": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add flutterwave --env FLW_SECRET_KEY=your-value -- npx -y mcp-flutterwave

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "flutterwave": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-flutterwave"
      ],
      "env": {
        "FLW_SECRET_KEY": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "flutterwave": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-flutterwave"
      ],
      "env": {
        "FLW_SECRET_KEY": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • FLW_SECRET_KEY 机密 必填 env
    Your SECRET API key for the service

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 bajoski34 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32589 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32589 个服务器的 0% 更新
  • 基础检查结果等于或优于此分类中其他 32589 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

MCP Flutterwave 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:FLW_SECRET_KEY

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.2.0)于13个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Detailing Manager

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

Detailing Manager

作者:RadoslavMoshev

Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

mcp-flutterwave

An MCP (Model Context Protocol) server that enables AI assistants to interact with the Flutterwave API — create payment links, charge customers directly, manage transfers, collect via virtual accounts, pay bills, and more.

Note: This server currently targets the Flutterwave v3 API. Support for v4 is coming soon.

Also ships with a built-in web app that connects to the MCP server and lets you talk to a Claude-powered Flutterwave assistant directly in your browser.


Contents

  • Features
  • Installation
  • Available Tools
  • Card Charge Flow
  • Virtual Accounts
  • Bill Payment Flow
  • FX Trade Flow
  • Verification
  • Stablecoins
  • Web App
  • MCP Server Setup
  • Usage with Claude Desktop
  • MCP-UI Components
  • Contributing
  • Changelog
  • Security
  • License

Features

  • Checkout — Create hosted payment links and disable them
  • Direct Charges — Charge customers via card, bank account, mobile money, M-Pesa, or USSD
  • Full card auth flow — PIN, AVS (Address Verification), 3D Secure redirect, and OTP validation all handled automatically
  • Charge Validation — Validate OTP-based charges with a dedicated tool
  • Transactions — Verify by ID or reference, view event timeline, resend failed webhooks
  • Transfers — Initiate single transfers, manage beneficiaries
  • Payment Plans — Create and retrieve subscription plans
  • Virtual Accounts — Generate dedicated account numbers for NGN and GHS bank transfer collection (static or dynamic)
  • Bill Payments — Pay airtime, data, cable TV, electricity, internet bills and more (Nigeria)
  • FX Trade — Convert between NGN, GHS, and USD with live quotes (RFQ → trade in two steps)
  • Verification — BVN identity verification, bank account name resolution, and card BIN lookup
  • Stablecoins — Send USDC/USDT to Polygon wallets, or convert NGN/USD fiat into stablecoins
  • Rich UI — Every tool returns a branded HTML card rendered inline in supported clients
  • Web App — A standalone browser chat interface powered by Claude + this MCP server

Installation

npm
npm install -g mcp-flutterwave
npx (no install needed)
npx mcp-flutterwave --tools=all
Docker

Pull the image:

docker pull ghcr.io/bajoski34/mcp-flutterwave:latest

The server communicates over stdio, so it must be launched by an MCP client — not run standalone. Configure Claude Desktop to use the Docker image as the MCP server:

{

"mcpServers": { "flutterwave": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "FLW_SECRET_KEY=YOUR_SECRET_KEY", "-e", "FLW_ENCRYPTION_KEY=YOUR_ENCRYPTION_KEY", "ghcr.io/bajoski34/mcp-flutterwave:latest" ] } } }

The -i flag keeps stdin open so Claude Desktop can communicate with the server over stdio.

Requirements: Node.js 20 or later (for npm/npx).


Available Tools

Checkout
ToolDescription
create_checkoutCreate a hosted Flutterwave payment link
disable_checkoutDisable an existing payment link
Direct Charges
ToolDescription
charge_cardDirectly charge a debit or credit card — handles PIN, AVS, 3DS, and OTP flows
charge_bank_accountDebit a bank account (NGN / GHS)
charge_mobile_moneyMobile money — Ghana, Uganda, Rwanda, Zambia, Francophone Africa
charge_mpesaM-Pesa charge (KES)
charge_ussdUSSD charge (NGN)
validate_chargeValidate a pending charge using OTP
Transactions
ToolDescription
read_transactionGet transaction details by ID
read_transaction_with_referenceGet transaction details by tx_ref
read_transaction_timelineView the event timeline for a transaction
resend_transaction_webhookResend a failed webhook
Transfers
ToolDescription
create_transferInitiate a bank transfer
create_beneficiarySave a new transfer beneficiary
list_beneficiariesList all saved beneficiaries
Payment Plans
ToolDescription
create_payment_planCreate a recurring payment plan
get_payment_plansList payment plans with optional filters
Virtual Accounts
ToolDescription
create_virtual_accountCreate a dedicated bank account number for a customer (NGN or GHS)
get_virtual_accountRetrieve a virtual account's status and details by order_ref
update_virtual_accountLink or update the BVN on an NGN virtual account
list_virtual_account_bulkList all accounts created in a bulk batch
Bill Payments
ToolDescription
get_bill_categoriesList available bill categories (AIRTIME, CABLEBILLS, UTILITYBILLS, etc.)
get_bill_providersList billers/providers for a category
get_bill_itemsList payable items for a specific biller
validate_bill_customerValidate a customer account before payment (meter number, smartcard, etc.)
pay_billSubmit a bill payment
get_bill_statusCheck payment status and retrieve prepaid tokens (electricity)
FX Trade
ToolDescription
request_fx_quoteSubmit a Request For Quote (RFQ) for a currency conversion
get_fx_quotePoll the quote status — wait for READY before trading
initiate_fx_tradeLock in a READY quote and execute the trade
get_fx_tradePoll trade status until SETTLED or FAILED
Verification
ToolDescription
initiate_bvn_verificationBegin a BVN identity check — returns a single-use customer consent URL
get_bvn_detailsRetrieve full BVN identity data after consent is given
resolve_bank_accountLook up the account holder name for a bank account number
verify_card_binLook up card brand, type, issuer, and country from the first 6 digits
Stablecoins
ToolDescription
get_stablecoin_feeGet the transfer fee before sending — shows net amount the recipient receives
send_stablecoinSend USDC or USDT to a Polygon wallet address
convert_to_stablecoinConvert NGN or USD fiat balance into USDC or USDT

Card Charge Flow

Direct card charges are multi-step. The charge_card tool handles every stage automatically and tells Claude what to do next.

1. charge_card(card details)

│ ├─ mode: "pin" → ask customer for PIN │ charge_card(same params + authorization: { mode: "pin", pin: "..." }) │ │ │ ├─ mode: "otp" → validate_charge(flw_ref, otp) │ └─ mode: "redirect" → send customer to 3DS URL │ ├─ mode: "avs_noauth" → ask customer for billing address │ charge_card(same params + authorization: { mode: "avs_noauth", city, address, ... }) │ │ │ ├─ mode: "otp" → validate_charge(flw_ref, otp) │ └─ mode: "redirect" → send customer to 3DS URL │ ├─ mode: "redirect" → send customer to 3DS URL, then read_transaction to verify │ └─ (none) → charge complete — read_transaction to verify

Authorization parameters

When a second call is needed, pass authorization alongside the original card details:

// PIN flow

{ "authorization": { "mode": "pin", "pin": "3310" } }

// AVS flow { "authorization": { "mode": "avs_noauth", "city": "Lagos", "address": "12 Victoria Island", "state": "LA", "country": "NG", "zipcode": "100001" } }

AMEX cards

American Express transactions require the card_holder_name field in addition to standard card details.

Payload encryption

Card payloads are encrypted with 3DES-ECB using your FLW_ENCRYPTION_KEY before they are sent to Flutterwave (PCI DSS requirement). The encryption is handled automatically — set the environment variable and the server does the rest.


Virtual Accounts

Virtual accounts give each customer a dedicated bank account number to make transfers into. Flutterwave notifies your webhook when a payment arrives.

FeatureNGNGHS
Dynamic (one-time)✓ — set amount, expires in ~1 hr✓ — use frequency and duration
Static (reusable)✓ — is_permanent: true, BVN required✓ — is_permanent: true
BVN requiredStatic accounts onlyNo
NGN static account
{

"email": "customer@example.com", "currency": "NGN", "tx_ref": "VA-NGN-001", "is_permanent": true, "bvn": "22415929481" }

GHS dynamic account
{

"email": "customer@example.com", "currency": "GHS", "tx_ref": "VA-GHS-001", "amount": 500, "frequency": 5, "duration": 7 }

After creation, save the order_ref — it is the key for retrieving or updating the account via get_virtual_account and update_virtual_account.


Bill Payment Flow

Bill payments follow a 6-step discovery flow. Skip validate_bill_customer for airtime and mobile data.

1. get_bill_categories

↓ choose a category (e.g. UTILITYBILLS)

  1. get_bill_providers(category) ↓ get biller_code (e.g. "BIL127" for IKEDC)
  1. get_bill_items(biller_code) ↓ get item_code and amount info
  1. validate_bill_customer(item_code, customer_id) ← skip for AIRTIME / MOBILEDATA ↓ confirm customer name and details
  1. pay_bill(biller_code, item_code, customer_id, amount) ↓ returns reference
  1. get_bill_status(reference) ↓ confirms completion for electricity: prepaid token is in extra.token — share it with the customer
Supported categories
CodeDescription
AIRTIMEMobile airtime top-up
MOBILEDATAData bundle purchase
CABLEBILLSCable TV (DSTV, GOTV, StarTimes)
INTSERVICEInternet service subscriptions
UTILITYBILLSElectricity (prepaid & postpaid)
TAXGovernment tax payments
DONATIONSCharitable donations
TRANSLOGTransport / logistics
DEALPAYDeal payments
RELINSTReligious institutions
SCHPBSchool / education payments

Bill payments are available for Nigeria only (country: NG).


FX Trade Flow

Currency conversion uses a two-step quote-then-trade flow. Quotes are valid for 5 minutes and available weekdays only (Monday–Friday).

1. request_fx_quote(base_currency, target_currency, quantity)

↓ returns quote_id, status: NEW

  1. get_fx_quote(quote_id) ← poll until READY or FAILED ↓ READY: contains rate, approved_quantity, total_value, expiry
  1. initiate_fx_trade(quote_id, narration) ↓ locks in rate, returns trade_id, status: NEW
  1. get_

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx