xendit-mcp
The xendit-mcp server integrates with the Xendit payment API to manage invoices, balances, transactions, and disbursements across Southeast Asian markets.
Invoice Management: Create invoices with payment links (IDR, PHP, THB, VND, MYR, USD), list with filters (status, date, currency), retrieve by ID, or expire active invoices.
Balance Inquiry: Check account balance by type (CASH, HOLDING, TAX), optionally filtered by currency.
Transaction History: List payments, disbursements, refunds, fees, and adjustments with filters for type, status, currency, and date range.
Disbursements (requires
XENDIT_ENABLE_DISBURSEMENTS=true): Send funds to bank accounts or e-wallets (Indonesia/Philippines); check disbursement status by ID; list supported banks and e-wallets filtered by country/currency and channel type (BANK or EWALLET).Prompts & Resources: Quick actions for balance checks, recent payments, unpaid invoices, and daily summaries; static access to supported bank codes and API info.
Safety: Disbursement tools are disabled by default; live API keys are refused unless explicitly allowed.
Provides tools for managing Xendit payment APIs, including creating invoices, sending disbursements, checking balances, and tracking transactions across Southeast Asian countries (Indonesia, Philippines, Thailand, Vietnam, Malaysia).
xendit-mcp
Model Context Protocol server for the Xendit payment API. Supports invoices, disbursements, balances, and transactions across Indonesia, the Philippines, Thailand, Vietnam, and Malaysia.
Install
npm install -g xendit-mcpOr run on demand with npx xendit-mcp.
Related MCP server: rakuten-mcp
Configuration
Sign up at the Xendit Dashboard.
Go to Settings → API Keys and generate a key.
Use a test key (
xnd_development_...) for development or a live key for production.
Variable | Required | Description |
| yes | Test or live API key |
| no | Set to |
| no | Set to |
Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"xendit": {
"command": "npx",
"args": ["-y", "xendit-mcp"],
"env": {
"XENDIT_API_KEY": "your-api-key"
}
}
}
}Claude Code
claude mcp add xendit -e XENDIT_API_KEY=your-api-key -- npx -y xendit-mcpCursor
Add to ~/.cursor/mcp.json with the same shape as Claude Desktop.
Tools
Tool | Description |
| Account balance by type (CASH, HOLDING, TAX). |
| List invoices filtered by status, date range, or currency. |
| Retrieve a single invoice. |
| Create a payment invoice and return a payment link. |
| Expire an active invoice. |
| List payments, disbursements, refunds, and fees. |
| Send funds to a bank account or e-wallet. |
| Check disbursement status. |
| List supported banks and e-wallets by country. |
Prompts
Prompt | Description |
| Report account balance. |
| Payments received in the last N days. |
| Generate a payment link for a customer. |
| List pending invoices. |
| Today's payment activity. |
Resources
Resource | URI | Description |
Supported Banks |
| Bank codes for Indonesia and the Philippines. |
API Info |
| Xendit API details and rate limits. |
Example queries
What's my current Xendit balance?
Saldo Xendit saya berapa?
Create an invoice for Rp 500,000 for "Website design deposit".
Buatkan invoice Rp 500.000 untuk "Deposit desain website".
Show me all unpaid invoices.
Tampilkan semua invoice yang belum dibayar.
With XENDIT_ENABLE_DISBURSEMENTS=true:
Send Rp 1,000,000 to Ahmad at BCA.
Kirim Rp 1.000.000 ke Ahmad di BCA.
List available banks for disbursement in the Philippines.Environments
Xendit issues separate test and live API keys. Test keys operate against the Xendit sandbox, so no real funds move. Live keys (xnd_production_..., iluma_production_..., sk_live_...) operate against production.
Safety
This server can move real money through the Xendit API. Key safeguards:
Disbursement tools are disabled by default.
create_disbursement,get_disbursement, andlist_disbursement_banksare only registered whenXENDIT_ENABLE_DISBURSEMENTS=true. Only enable them in trusted agent contexts where tool inputs cannot be influenced by untrusted content.Live keys are refused by default. Keys with the prefixes
xnd_production_,iluma_production_, orsk_live_are rejected at startup unlessXENDIT_ALLOW_LIVE=true. Always test with a development key (xnd_development_...) first.Idempotency.
create_disbursementuses yourexternalIdas theIdempotency-Key, so retries with the sameexternalIdwill not create duplicate transfers. Use a freshexternalIdfor each new disbursement.
Even with these gates on, review any money-moving request before approving the tool call. Treat tool inputs derived from model output as untrusted.
Disclaimer
This is an unofficial, community-built MCP server. Not affiliated with, endorsed by, or sponsored by Xendit. Xendit is a trademark of its respective owners. Use at your own risk. The author accepts no liability for funds lost through misuse, prompt injection, or bugs.
License
Maintenance
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/mrslbt/xendit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server