# Airwallex MCP connector

Connect Airwallex to Elaichi and Claude, ChatGPT, Cursor and the Elaichi Agent can look up and manage billing checkouts, credit notes, GL accounts and tax codes, with every action logged.

Source: https://elaichi.ai/connectors/airwallex/

## Facts

| | |
| --- | --- |
| Application | Airwallex |
| Category | Payment Gateway |
| AI tools | 337 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Airwallex is connected

- Show credit notes issued this week and their totals
- Which billing checkouts are still open for Acme?
- Create a tax code for 20% VAT in the UK

## Connect Airwallex in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Airwallex.
2. Optionally set Share with, then press Connect.
3. Paste an Airwallex API key. One person generates a token in Airwallex and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Airwallex tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Airwallex MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Airwallex MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Airwallex MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Airwallex to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Airwallex tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Airwallex through Elaichi

### Issue a credit note after a dispute

Billing. When a customer disputes a charge, ask the agent to create the credit note in Airwallex, add the right line items and confirm the amount before it goes out.

### Keep the chart of accounts tidy

Finance. List every GL account in Airwallex, spot the ones with unclear names, and update them so month end mapping matches the general ledger.

### Set up tax codes for a new market

Accounting. Create the tax codes Airwallex needs for a new country and check the existing ones so every checkout carries the right rate.

### Check a checkout before replying

Support. Pull up a customer's Airwallex billing checkout by ID, see whether it is open, paid or canceled, and answer the ticket with the facts in front of you.

### Review open checkouts each morning

Revenue operations. Ask for all Airwallex billing checkouts still open this week, grouped by customer, so someone can chase the ones that have gone quiet.

### Know what the account can do

Treasury. Check which Airwallex account capabilities are enabled and what the funding limits are before committing to a new payment flow.

## Frequently asked questions

### How do I connect Airwallex to Claude?

First connect Airwallex in Elaichi by pasting in an API key from your Airwallex account, which takes about a minute. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register in Airwallex and no client ID or secret to generate.

### Does Airwallex work with ChatGPT and Cursor as well as Claude?

Yes. Once Airwallex is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Airwallex once and every client you use picks it up.

### What can an AI agent actually do with my Airwallex data?

An agent can look up an Airwallex billing checkout by ID, list the ones still open, create or cancel a checkout, and issue a credit note with the right line items. It can also list, create and update GL accounts and tax codes, and check which account capabilities and funding limits are enabled. Short concrete asks, such as "list open checkouts for Acme", work better than long sentences.

### Does connecting Airwallex give the AI my whole Airwallex account?

No. Everything an agent does in Airwallex runs inside the access of the person who signed in, so it can only reach the checkouts, credit notes, GL accounts and tax codes that person could already reach. Elaichi can narrow that access further with roles and restrictions, and it never widens it.

### Can my team share one Airwallex connection?

Yes. One person connects Airwallex in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person behind every Airwallex action, not the account.

### Can I stop an agent from deleting or changing things in Airwallex?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Airwallex checkouts and credit notes while blocking deleting a credit note or canceling a checkout. A restricted action is never advertised to the AI client at all, so no prompt, however worded, can reach it.

### What happens to an Airwallex connection when someone leaves?

Offboarding a person in Elaichi ends their access to Airwallex at once, across Claude, ChatGPT, Cursor and every other client. A shared Airwallex connection keeps working for everyone else on the team. If you want to remove Airwallex entirely, disconnecting it once in Elaichi removes it from every client.

### Does the Airwallex MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Airwallex is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 337 Airwallex tools

Every tool below is callable through https://api.elaichi.ai/mcp once Airwallex is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Airwallex account capabilities enable** (Enable). Enable a specific capability for your Airwallex account by submitting an enable request. Returns: comment, details, entity_type, id, status, updated_at. Required: account_capability_id and id. Body varies by capability — payment methods accept enroll_sme_program; transfer_cny_local requires entity_type plus declarant details.
- **Get single Airwallex account capability by ID** (Get). Get the status of a single Airwallex account capability by its unique identifier. Returns the capability's id, status, entity_type, comment, details (including reason_codes), and updated_at. Required: id.
- **List all Airwallex account capabilities funding limits** (List). List Airwallex funding limits, e.g. the available funding limit or Faster Direct Debit limit before initiating a Direct Debit from a Linked Account or Funding Source. Returns: has_more, items. Filter by ccy, effective_at, or mandate_type.
- **List all Airwallex accounting gl accounts** (List). List all General Ledger (GL) accounts used in Airwallex Spend, filterable by status, external_id, or legal_entity_id. Returns: id, code, value, value_label, external_id, legal_entity_ids, status, created_at, updated_at. Max 100 per page.
- **Get single Airwallex accounting gl account by ID** (Get). Get a single General Ledger (GL) account by id. Returns: id, code, value, value_label, external_id, legal_entity_ids, status, created_at, updated_at. Required: id.
- **Create a Airwallex accounting gl account** (Create). Create a General Ledger (GL) account for coding Airwallex Spend transactions. Returns the created account with id, code, value, value_label, legal_entity_ids, status, created_at, updated_at. Required: request_id, value.
- **Update a Airwallex accounting gl account by ID** (Update). Update an existing General Ledger (GL) account by id. Returns the updated account with id, code, value, value_label, legal_entity_ids, status, created_at, updated_at. Required: id, value, status.
- **List all Airwallex accounting tax codes** (List). List Airwallex tax codes used in Airwallex Spend, filtered by status, external ID, or legal entity. Returns each tax code's id, value, rate_percent, value_label, external_id, legal_entity_ids, status, created_at, and updated_at.
- **Get single Airwallex accounting tax code by ID** (Get). Get a single Airwallex tax code used in Airwallex Spend by id. Returns the tax code including id, value, rate_percent, value_label, external_id, legal_entity_ids, status, created_at, and updated_at. Required: id.
- **Create a Airwallex accounting tax code** (Create). Create a new Airwallex tax code for coding Airwallex Spend transactions. Returns the created tax code including id, value, rate_percent, external_id, legal_entity_ids, and status. Requires request_id, value, and rate_percent.
- **Update a Airwallex accounting tax code by ID** (Update). Update an existing Airwallex tax code used in Airwallex Spend by id. Returns the updated tax code including id, value, rate_percent, external_id, legal_entity_ids, and status. Requires id, value, rate_percent, and status.
- **Create a Airwallex authentication authorize** (Create). Authorize the Airwallex platform, or a connected account, to use embedded components such as onboarding, payouts, KYB, RFI, SCA, and tax forms, requesting access via a list of scopes. Returns: authorization_code. Required: code_challenge, scope.
- **Create a Airwallex authentication login** (Create). Exchange your Airwallex API key and client ID for a bearer access token to use when calling other Airwallex endpoints. Returns: expires_at, token. The access token is valid for 30 minutes and can be reused until it expires.
- **Airwallex billing billing checkouts cancel** (Cancel). Cancel a Billing Checkout in Airwallex by id. Only checkouts in ACTIVE status can be cancelled; afterwards the customer can no longer complete the checkout. Returns the updated checkout including id, status, cancelled_at, mode, currency, line_items, and url. Required: id.
- **List all Airwallex billing billing checkouts** (List). List all Billing Checkouts in Airwallex, filterable by subscription_id, from_created_at, to_created_at, and status. Returns each checkout with id, status, mode, currency, line_items, created_at, and url. Default 20 per page, max 1000.
- **Get single Airwallex billing billing checkout by ID** (Get). Get a single Airwallex Billing Checkout by id. Returns the checkout object including id, status, mode, currency, line_items, subscription_id, created_at, and url. Required: id.
- **Create a Airwallex billing billing checkout** (Create). Create a Billing Checkout in Airwallex to collect payments, set up subscriptions, or save payment details for later. Returns the created checkout including id, status, url, client_secret, currency, and line_items. Requires mode and request_id.
- **Update a Airwallex billing billing checkout by ID** (Update). Update an Airwallex Billing Checkout by id. Currently supports updating the checkout's metadata. Returns the updated checkout including id, status, mode, currency, metadata, and url. Required: id.
- **List all Airwallex billing credit notes** (List). List Airwallex billing credit notes, filterable by invoice_id, billing_customer_id, type, status, and a created_at date range. Returns credit note objects including id, number, status, type, total_amount, and created_at.
- **Get single Airwallex billing credit note by ID** (Get). Get a single Airwallex billing credit note by id. Returns the full credit note object including id, number, status, type, total_amount, currency, and pdf_url. Required: id.
- **Airwallex billing credit notes add line items** (Add). Add line items to a draft Airwallex billing credit note. Returns the updated credit note including id, status, total_amount, and updated_at. Required: credit_note_id, line_items, request_id. Max 100 line items per request; the bulk add is atomic.
- **Create a Airwallex billing credit note** (Create). Create an Airwallex billing credit note linked to an invoice. Returns the created credit note including id, number, status, total_amount, and type. Required: invoice_id, reason, request_id, type.
- **Delete a Airwallex billing credit note by ID** (Delete). Delete a draft Airwallex billing credit note by id. Returns: deleted, id. Required: id.
- **Airwallex billing credit notes delete line items** (Delete). Delete line items from an Airwallex credit note. Returns the updated credit note including id, number, status, total_amount, and refund_status. Required: credit_note_id, line_item_ids. Only possible while the credit note status is DRAFT; max 100 line items per request and the bulk delete is atomic.
- **Airwallex billing credit notes finalize** (Action). Finalize a draft Airwallex credit note. Returns the finalized credit note including id, status, finalized_at, total_amount, and refund_status. Required: credit_note_id. For AFTER_PAYMENT credit notes, allocate the total_amount via refund_amount or out_of_band_amount.
- **Airwallex billing credit notes preview** (Action). Preview an Airwallex credit note linked to an invoice before issuing it. Returns the preview including adjustment_amount, line_items, total_amount, total_discount_amounts, and total_tax_amount. Required: invoice_id, line_items, reason, type.
- **Update a Airwallex billing credit note by ID** (Update). Update a draft credit note in Airwallex by its id. Returns the updated credit note object including id, number, status, total_amount, reason, memo, and metadata. Required: id.
- **Airwallex billing credit notes update line items** (Update). Update up to 100 line items on an Airwallex credit note by credit_note_id; only possible while the credit note status is DRAFT, and the bulk update is atomic (all updates succeed or fail together). Returns the updated credit note object including id, number, status, total_amount, and memo. Required: credit_note_id, line_items.
- **Airwallex billing credit notes void** (Action). Void a finalized Credit Note in Airwallex, transitioning it from finalized to voided — allowed only when the credit note type is pre-payment and the linked invoice's payment status is unpaid. Returns the updated credit note including id, number, status, reason, total_amount, and voided_at. Required: credit_note_id.
- **List all Airwallex credit note line items** (List). List all line items of an Airwallex credit note. Returns each line item's id, amount, currency, quantity, unit_amount, tax_amount, tax_breakdown, discount_amounts, price_tier, and created_at. Required: credit_note_id and id.
- **Get single Airwallex credit note line item by ID** (Get). Get a single Airwallex credit note line item. Returns the line item object including its id, amount, currency, quantity, unit_amount, tax_amount, tax_percent, price_tier, discount_amounts, and tax_breakdown. Required: credit_note_id, id.
- **List all Airwallex billing billing customers** (List). List all Airwallex Billing Customers based on the query parameters. Returns: items, page_after, page_before. Filterable by from_created_at, to_created_at, and email.
- **Get single Airwallex billing billing customer by ID** (Get). Get a single Airwallex Billing Customer by id. Returns: address, automatic_tax_eligibility, created_at, default_billing_currency, default_legal_entity_id, description, email, id, metadata, name, nickname, phone_number, tax_identification_number, type, updated_at. Required: id.
- **List all Airwallex billing customer bank transfer instructions** (List). List bank transfer instructions for an Airwallex billing customer. Returns one read-only entry per supported currency with account_name, account_number, bank_name, and currency. The list is empty until instructions are provisioned. Required: billing_customer_id.
- **List all Airwallex billing invoices** (List). List all Airwallex billing invoices. Returns invoice records including id, number, status, payment_status, currency, total_amount, and amount_due.
- **Get single Airwallex billing invoice by ID** (Get). Get an Airwallex billing invoice by id. Returns the full invoice object including id, number, status, payment_status, total_amount, due_at, and hosted_url. Required: id.
- **Airwallex billing invoices add line items** (Add). Add up to 100 line items to an Airwallex invoice in a single atomic operation; only possible while the invoice status is DRAFT. Returns the updated invoice including id, status, amount_due, and total_amount. Required: invoice_id, line_items, request_id.
- **Create a Airwallex billing invoice** (Create). Create a one-off Airwallex invoice. Returns the created invoice including id, number, status, payment_status, amount_due, and due_at. Required: billing_customer_id, currency, request_id.
- **Delete a Airwallex billing invoice by ID** (Delete). Delete a draft Airwallex invoice by id. Returns: deleted, id. Required: id.
- **Airwallex billing invoices delete line items** (Delete). Delete up to 100 line items from an Airwallex invoice in one atomic bulk operation. Returns the updated invoice object including its id, number, status, amount_due, and updated_at. Only possible while the invoice status is DRAFT. Required: invoice_id, line_item_ids.
- **Airwallex billing invoices finalize** (Action). Finalize a draft Airwallex invoice so it becomes payable. Returns the finalized invoice object including its id, number, status, amount_due, due_at, payment_status, and bank_transfer_instructions. Required: invoice_id.
- **Airwallex billing invoices mark as paid** (Action). Mark a finalized Airwallex invoice as paid out-of-band. Returns the updated invoice object including its id, number, status, payment_status, paid_at, and paid_out_of_band. Required: invoice_id.
- **Airwallex billing invoices pay** (Action). Pay a finalized AUTO_CHARGE Airwallex invoice using an existing payment source. This is a one-time payment instruction and does not change the Payment Source saved on the Subscription. Returns the updated invoice including id, payment_status, status, amount_due, and total_amount. Required: invoice_id, payment_source_id.
- **Airwallex billing invoices preview** (Action). Preview an Airwallex invoice: the upcoming invoice for an existing subscription (pass subscription_id), or the first invoice before a new subscription is created (pass items instead). Returns: applied_discounts, automatic_tax_status, billing_customer_id, created_at, currency, default_tax_percent, enable_automatic_tax, items, legal_entity_id, subscription_id, total_amount, total_discount_amounts.
- **Update a Airwallex billing invoice by ID** (Update). Update a draft Airwallex billing invoice by id. Only provided fields are changed, omitted fields remain unchanged, array fields are fully replaced, and a field can be cleared by setting it to null (or an empty string for strings). Returns the updated invoice: id, number, status, payment_status, amount_due, total_amount, and updated_at. Required: id.
- **Airwallex billing invoices update line items** (Update). Update existing line items on a draft Airwallex invoice in a single atomic bulk operation — only possible while the invoice status is DRAFT, up to 100 line items at a time. Returns the updated invoice: id, number, status, payment_status, amount_due, and updated_at. Required: invoice_id.
- **Airwallex billing invoices void** (Action). Void a finalized Airwallex invoice. Returns the voided invoice: id, number, status, payment_status, voided_at, and updated_at. Required: invoice_id.
- **List all Airwallex invoice line item groups** (List). List Airwallex line item groups for a specific invoice. Returns each group with id, invoice_id, label, period_starts_at, period_ends_at, and total amounts. Required: invoice_id.
- **Get single Airwallex invoice line item group by ID** (Get). Get a single line item group on an Airwallex invoice by id. Returns the group's id, invoice_id, label, billing period (period_starts_at, period_ends_at), total_amount, total_quantity, total_tax_amount, total_discount_amount, and remaining creditable totals. Required: invoice_id and id (the line item group id).
- **List all Airwallex invoice line items** (List). List all line items on an Airwallex invoice. Returns each line item with id, amount, currency, quantity, price, tax_amount, and period start/end times. Required: invoice_id.
- ...and 287 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
