Connect AI agents with @vexpay/mcp
Official MCP server: let Claude Code, Claude Desktop, Cursor and other agents read balances, payments, payouts and subscriptions and create checkout sessions, payment links and send_invoice subscriptions. Nothing in it moves money.
Install
Use your Test key while you try it out. The server runs locally over stdio and needs Node.js 20 or newer.
claude mcp add vexpay --env VEXPAY_API_KEY=your_test_key -- npx -y @vexpay/mcp{
"mcpServers": {
"vexpay": {
"command": "npx",
"args": ["-y", "@vexpay/mcp"],
"env": { "VEXPAY_API_KEY": "your_test_key" }
}
}
}| Variable | Required | Description |
|---|---|---|
| VEXPAY_API_KEY | Yes | Your API key. Never shown in tool output or logs. |
| VEXPAY_BASE_URL | No | API origin. Defaults to https://api.pay.vexwallet.co. |
| VEXPAY_MCP_ALLOW_LIVE | No | Set to 1 to enable write tools on a live account. |
Test and live accounts
On startup the server asks VEXPay whether the key belongs to a test or a live account. On a test account every tool is available. On a live account only read tools are available unless you set VEXPAY_MCP_ALLOW_LIVE=1. If the mode cannot be determined, the server assumes live.
Tools
| Tool | Type | What it does |
|---|---|---|
vexpay_get_balance | Read | VES platform balance |
vexpay_get_stablecoin_balances | Read | USDT and USDC balances |
vexpay_list_banks | Read | Venezuelan banks and supported services |
vexpay_get_fx_quote | Read | USD → VES at your Bolívar rate |
vexpay_get_payment | Read | One payment by id or externalRef |
vexpay_list_payouts / vexpay_get_payout | Read | Payouts (paged) and one payout by id or externalRef |
vexpay_list_conversions / vexpay_get_conversion | Read | VES → USDT conversions |
vexpay_get_cop_payment / vexpay_get_cop_balance | Read | Colombian peso payments and balance |
vexpay_list_stablecoin_networks | Read | Enabled networks, fees and availability |
vexpay_get_checkout_session | Read | One checkout session |
vexpay_list_products / vexpay_list_payment_links | Read | Products and their hosted payment links |
vexpay_list_webhook_endpoints | Read | Your webhook endpoints |
vexpay_list_customers / vexpay_get_customer | Read | Billing customers (paged) and one customer by id |
vexpay_list_customer_payment_methods / vexpay_get_payment_method | Read | A customer’s domiciliación payment methods and one by id (status, bankCode, last 4 phone digits) |
vexpay_list_prices / vexpay_get_price | Read | Recurring USD prices and one price by id |
vexpay_list_subscriptions / vexpay_get_subscription | Read | Subscriptions with status, collection method, period and latest invoice |
vexpay_list_invoices / vexpay_get_invoice | Read | Subscription invoices with collection attempts and the hosted invoice URL |
vexpay_get_setup_session | Read | One domiciliación setup session: open, complete or expired |
vexpay_create_checkout_session | Write | Checkout session with a hosted payment URL |
vexpay_create_product / vexpay_create_payment_link | Write | Product and its hosted payment link |
vexpay_create_deposit_address | Write | Stablecoin deposit address for a customer |
vexpay_quote_conversion | Write | VES → USDT rate locked 60 s (nothing executes) |
vexpay_send_test_webhook | Write | notification.test delivery to your endpoints |
vexpay_create_customer | Write | Billing customer to subscribe to a price |
vexpay_create_price | Write | Recurring USD price on a product |
vexpay_create_subscription | Write | send_invoice subscription: invoices are emailed to the customer. Never charges automatically; use the API for charge_automatically |
vexpay_create_setup_session | Write | 24-hour page where a customer authorizes domiciliación (nothing is charged) |
37 tools: 27 read and 10 write. Billing tools are covered in Subscriptions & billing and Automatic charging.
Write tools accept an optional idempotencyKey. Reuse it when retrying so the record is created only once. Failed calls return the HTTP status, error code, message and request id.