MCP Tool Reference

Drive TaxChad from any AI assistant.

TaxChad exposes an OAuth-secured MCP server at https://taxchad.com/mcp. Every tool below is callable from Claude, ChatGPT, Cursor or any MCP-compatible client — as the signed-in user, subject to Row Level Security.

Quick start

  1. Add the MCP URL to your assistant: https://taxchad.com/mcp
  2. Sign in with your TaxChad account when the OAuth window pops up.
  3. First message: "Call whoami and list my companies."
  4. Then use the client_id it returns for company-scoped calls.

Signed in to TaxChad? See your AI Access audit log

Identity

Start here. Confirms who you are and which companies you can act on.

whoamiWho am I

Returns the signed-in user and the list of companies (client_ids) they can act on. Call this first.

No arguments.

Try saying

  • "Who am I connected as in TaxChad, and what companies can you see?"

Read-only

Query your books, payments, customers and statements. Safe to call any time.

get_merchant_summaryCompany summary

Headline numbers for a company: balances, VAT status, unreconciled counts.

Arguments

  • client_iduuidOmit if you only have one company.

Try saying

  • "Give me a quick summary of my TaxChad company."
  • "How many unreconciled bank transactions do I have?"
list_recent_transactionsList recent bank transactions

Latest bank feed rows for a company.

Arguments

  • client_iduuid
    required
  • limitinteger 1–100Default 25.

Try saying

  • "Show me my last 25 bank transactions."
  • "Any big outgoings this week?"
list_transactionsList payments

Filter TaxChad Payments by date, direction, status, customer or amount.

Arguments

  • client_iduuid
  • fromISO date
  • toISO date
  • direction'in' | 'out'
  • statuspending | completed | failed | refunded
  • customer_iduuid
  • min_amountnumber
  • max_amountnumber
  • limit1–200Default 50.

Try saying

  • "List completed payments in from customers this month over £500."
  • "Show me failed payments in the last 30 days."
get_paymentGet payment

Full detail for one payment by id.

Arguments

  • client_iduuid
  • payment_iduuid
    required

Try saying

  • "What's the status of payment <id>?"
list_payment_linksList payment links

Pay-by-bank links, newest first.

Arguments

  • client_iduuid
  • statusactive | expired | paid | cancelled
  • limit1–200Default 50.

Try saying

  • "Which of my payment links are still active but unpaid?"
list_customersList payments customers

Saved payers/beneficiaries for a company.

Arguments

  • client_iduuid
  • searchstringSubstring match on name/email.
  • limit1–200Default 50.

Try saying

  • "Find the customer record for Acme Ltd."
get_fee_ledgerFees owed to TaxChad

Accrued, billed and unbilled TaxChad Payments fees.

Arguments

  • client_iduuid
  • fromISO date
  • toISO date

Try saying

  • "How much do I owe TaxChad in fees this quarter?"
get_statementGet TaxChad statement

Fetch one statement by id, or list recent statements.

Arguments

  • client_iduuid
  • statement_iduuid
  • limit1–50Default 12.

Try saying

  • "Show me my last three TaxChad statements."
verify_accountVerify a UK bank account (AIS)

Confirmation-of-Payee style check via Finexer.

Arguments

  • client_iduuid
  • sort_codestring
  • account_numberstring
  • ibanstring
  • bicstring
  • account_namestring

Try saying

  • "Check that sort code 20-00-00 / account 12345678 belongs to Acme Ltd."

Note: Currently returns provider_unavailable until Finexer is live.

Create

Draft new records. No money moves.

create_payment_linkCreate pay-by-bank link

Generate a pay-by-bank link (single, multiple-use or variable).

Arguments

  • client_iduuid
  • amountnumberRequired unless type='variable'.
  • currencyISO 4217Default GBP.
  • referencestring
    required
  • descriptionstring
  • typesingle | multiple | variableDefault single.
  • customer_iduuid
  • expires_atISO datetime
  • settlement_account_iduuid
  • idempotency_keystring
    required

Try saying

  • "Create a £250 pay-by-bank link for invoice INV-1042."
  • "Give Acme Ltd a reusable variable-amount payment link."
create_customerCreate payments customer

Add a saved customer/beneficiary.

Arguments

  • client_iduuid
  • namestring
    required
  • emailemail

Try saying

  • "Add a new customer called Acme Ltd, email ap@acme.co.uk."
request_ais_consentRequest AIS consent link

Ask a customer for account-info consent (Finexer).

Arguments

  • client_iduuid
  • customer_iduuid
    required
  • callback_urlurl

Try saying

  • "Send an AIS consent request to my customer <id>."

Note: Returns provider_unavailable until Finexer is live.

Money-movement

Two-step: preview first, then execute with the returned confirmation_token. Requires platform kill-switch off + per-company opt-in.

create_payoutSend a payout

Send a payout to a verified beneficiary.

Arguments

  • client_iduuid
  • beneficiary_account_refstring
    required
  • amountnumber
    required
  • currencyISO 4217Default GBP.
  • referencestring
    required
  • idempotency_keystring
    required
  • confirmation_tokenstringSecond call only.

Try saying

  • "Pay £1,200 to my supplier beneficiary <ref> with reference 'INV-882'."

Note: Returns compliance_gate until TaxChad Payments launches.

create_bulk_payoutSend a batch of payouts

Batch of up to 100 payouts. Same two-step confirmation.

Arguments

  • client_iduuid
  • idempotency_keystring
    required
  • items[]array
    required
    beneficiary_account_ref, amount, currency, reference.
  • confirmation_tokenstring

Try saying

  • "Run this week's payroll: pay these 8 staff their net amounts."

Note: Returns compliance_gate until TaxChad Payments launches.

create_vrp_mandateCreate VRP mandate (Beta)

Variable Recurring Payment mandate for a customer.

Arguments

  • client_iduuid
  • customer_iduuid
    required
  • max_per_paymentnumber
    required
  • max_per_periodnumber
    required
  • periodday | week | month | year
    required
  • referencestring
    required

Try saying

  • "Set up a monthly VRP for customer <id>, max £500/payment, £2000/month."

Note: Returns compliance_gate until TaxChad Payments launches.

execute_vrp_collectionExecute VRP collection (Beta)

Pull a payment under an active VRP mandate.

Arguments

  • client_iduuid
  • mandate_iduuid
    required
  • amountnumber
    required
  • currencyISO 4217Default GBP.
  • referencestring
    required
  • idempotency_keystring
    required

Try saying

  • "Collect £199 under mandate <id> for this month's subscription."

Note: Returns compliance_gate until TaxChad Payments launches.

Admin

TaxChad staff only. Rejected for non-admin callers.

admin_platform_summaryAdmin: platform summary

Rolling platform-wide totals across all merchants.

Arguments

  • days1–365Default 30.

Try saying

  • "Give me a 30-day TaxChad platform summary."