ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

MCP Flutterwave

โดย bajoski34รุ่น 1.2.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.bajoski34/mcp-flutterwave

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

MCP Server to interact with Flutterwave APIs.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): 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": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add flutterwave --env FLW_SECRET_KEY='ใส่ค่าของคุณ' -- npx -y mcp-flutterwave

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "flutterwave": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-flutterwave"
      ],
      "env": {
        "FLW_SECRET_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "flutterwave": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-flutterwave"
      ],
      "env": {
        "FLW_SECRET_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • FLW_SECRET_KEY ความลับ จำเป็น env
    Your SECRET API key for the service

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub bajoski34 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32497 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 0% ของอีก 32497 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32497 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

MCP Flutterwave ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: FLW_SECRET_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.2.0) เข้า registry 13 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Zoo MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

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

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

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

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Zoo MCP

โดย KittyCAD

An MCP server that provides access to the Zoo API for various CAD operations and tools.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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_

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx