Payment

GoCardless MCP Server

Connect your account, then chat with AI to run tools.

GoCardless is a payment processing service that enables businesses to collect recurring payments directly from customer bank accounts via direct debit. It supports Bacs (UK), SEPA (EU), ACH (US), BECS (AU/NZ), and PAD (CA) schemes.

42 tools
Agent guide included
Start Chatting

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for GoCardless — workflow patterns, data models, and gotchas for your AI agent.

GoCardless

GoCardless enables businesses to collect recurring payments directly from customer bank accounts via direct debit across multiple schemes (Bacs, SEPA, ACH, BECS, BECS NZ, PAD, Autogiro, Betalingsservice).

Data Model & Relationships

  • Creditor → your merchant account; most integrations have one. Has scheme identifiers, verification status, and linked bank accounts.
  • Customer → a payer; has name, email, address, metadata (up to 3 key-value pairs). One customer can have multiple bank accounts.
  • Customer Bank Account → linked to a customer; holds masked account details (last 4 digits, bank name, BIC). Disabling cascades to mandates. Created via IBAN or local bank details (account_number + branch_code).
  • Mandate → authorization from a customer to debit their bank account. Linked to one bank account and one scheme. Must be active before payments. Has a unique reference (auto-generated or custom).
  • Payment → single debit against an active mandate. Amounts in minor units (pence/cents). Linked to mandate and optionally a subscription or instalment schedule. Has charge_date, description, reference.
  • Subscription → recurring schedule that auto-creates payments at a set interval (weekly/monthly/yearly) against a mandate. Supports count or end_date limits, day_of_month, and can be paused/resumed.
  • Instalment Schedule → payment plan that creates a series of payments with explicit dates or auto-calculated schedule. Linked to a mandate. Status: pending → active → completed (or creation_failed/cancelled/errored).
  • Payout → batched transfer of collected funds to your creditor bank account. Contains payout items. Status: pending → paid (or bounced).
  • Payout Item → individual payment, refund, or fee within a payout. Types: payment_paid_out, payment_failed, refund, gocardless_fee, etc.
  • Refund → reversal of a confirmed/paid_out payment. Deducted from a future payout. Requires total_amount_confirmation safety check.
  • Event → immutable audit log entry for every state change across all resources. Filterable by resource_type, action, and date range.
  • Redirect Flow → creates a GoCardless-hosted payment page session. Customer visits the URL, enters bank details, authorizes mandate. Completing the flow creates customer + bank account + mandate in one step.
  • Billing Request → modern flow for collecting one-off or recurring payments. Tracks customer onboarding through pending → ready_to_fulfil → fulfilled. Supports open banking (Instant Bank Pay) alongside direct debit.
  • Webhook → delivery record of event notifications sent to your endpoint. Tracks success/failure, request/response bodies, and supports retry.
  • Institution → banking institution for open banking flows (Instant Bank Pay). Has ID, name, icon, and country.
  • Scheme Identifier → the name and reference shown on customer bank statements for each scheme (Bacs, SEPA, ACH, Faster Payments).
  • Mandate PDF → generated PDF document of a mandate for compliance/records. Returns a temporary download URL.

Entity Relationships

Creditor → Scheme Identifiers (per scheme) Customer → Customer Bank Accounts → Mandates → Payments → Payout Items → Payouts Mandate → Subscriptions (recurring) or Instalment Schedules (payment plans) Payment → Refunds Redirect Flow → creates Customer + Customer Bank Account + Mandate Billing Request → Customer + Mandate + optional Payment

Mandate States

pending_submissionsubmittedactive (ready for payments) Terminal: failed, cancelled, expired, blocked Bacs mandates can be reinstated after cancellation; SEPA cannot.

Payment States

pending_submissionsubmittedconfirmedpaid_out Branching: pending_customer_approval, customer_approval_denied Terminal: failed (retryable up to 3x), cancelled, charged_back Cancellation only possible before submitted.

Subscription States

pending_setupactivepausedfinished or cancelled

Instalment Schedule States

pendingactivecompleted Terminal: creation_failed, cancelled, errored

Billing Request States

pendingready_to_fulfilfulfillingfulfilled Terminal: cancelled

Common Workflows

One-off payment (API-driven)
  1. Create customer (email, name, address)
  2. Create customer bank account (IBAN or local details, linked to customer)
  3. Validate bank details first with bank details lookup (modulus + reachability check)
  4. Create mandate against the bank account
  5. Wait for mandate to become active (check via get or events)
  6. Create payment against the mandate (amount in minor units, use idempotency_key)
One-off payment (hosted page)
  1. Create redirect flow (description, session_token, success_redirect_url)
  2. Redirect customer to the flow URL
  3. Customer enters bank details on GoCardless-hosted page
  4. Complete redirect flow (session_token verification) — creates customer + bank account + mandate
  5. Create payment against the returned mandate ID
Recurring payments
  1. Set up customer + bank account + mandate (via API or redirect flow)
  2. Create subscription against the active mandate (amount, currency, interval_unit, interval)
  3. GoCardless auto-creates payments at each interval
  4. Pause/resume subscription as needed
  5. Cancel subscription to stop future payments (pending payments must be cancelled individually)
Payment plan (instalment schedule)
  1. Set up customer + bank account + mandate
  2. Create instalment schedule — two modes:
    • Explicit dates: provide array of {amount, charge_date} for each payment
    • Auto-schedule: provide total_amount, interval_unit, start_date; GoCardless splits evenly
  3. GoCardless creates all payments upfront (status starts as pending)
  4. Cancel schedule to stop remaining payments
Reconciliation
  1. List payouts filtered by status or date
  2. For each payout, list payout items to see individual payments, refunds, and fees
  3. Match payout items to source payments/refunds
  4. Use events for full audit trail of every state change

Key Gotchas

  • Mandate before payment: Payments fail if mandate is not active. For SEPA/BECS/PAD/ACH, mandates only submit when the first payment is due.
  • Idempotency keys: Use Idempotency-Key header on payment/refund creation to prevent duplicates on retries.
  • Amounts in minor units: 1000 = £10.00 / €10.00. Integer, never float.
  • Charge date notice periods: Bacs = 2 working days, SEPA = 6 working days, ACH = varies by SEC code.
  • Payout timing: Funds arrive 3-5 business days after payment confirmation, batched daily.
  • Refund limits: Can only refund confirmed/paid_out payments. Refund amount <= payment amount minus prior refunds. Requires total_amount_confirmation.
  • Reference length: Bacs references max 10 chars, SEPA max 140 chars.
  • Disabling bank account: Cascades — cancels all mandates and cancellable payments immediately.
  • Subscription cancellation: Does NOT cancel pending payments — cancel them individually.
  • GoCardless-Version header: Every request requires GoCardless-Version: 2015-07-06 (handled automatically).
  • Response wrapping: All responses are wrapped in a resource key (e.g. {"payments": {...}} or {"payments": [...]}).
  • Cursor pagination: List endpoints use cursor-based pagination with after, before, and limit params (max 500). Response includes meta.cursors.after for next page.
  • Redirect flow session_token: The same session_token value must be used for create and complete — mismatch causes bad_request error.
  • Bank details lookup: If available_debit_schemes is empty, payments cannot be collected from that account.
  • Scheme identifier names: Max length varies by scheme (Bacs=18, SEPA=70, ACH=16). Must match legal/trading name to reduce chargeback risk.
  • Sandbox vs live: Base URLs differ (api.gocardless.com vs api-sandbox.gocardless.com).
  • Metadata: All resources support up to 3 key-value pairs of custom metadata. Keys and values must be strings.

Tools in this Server (42)

Gocardless Cancel Billing Request

Cancel a GoCardless billing request. All associated billing request flows are immediately expired. Cannot be undone.

Gocardless Cancel Instalment Sched

Cancel a GoCardless instalment schedule. All future payments in the plan are cancelled immediately. Already-confirmed or paid-out payments are unaffec...

Gocardless Cancel Mandate

Cancel a GoCardless mandate. This also cancels all pending payments and subscriptions linked to this mandate. Cannot be undone — use reinstate_mandate...

Gocardless Cancel Payment

Cancel a GoCardless payment. Only possible while the payment is in 'pending_submission' or 'pending_customer_approval' status — once 'submitted' to th...

Gocardless Cancel Subscription

Cancel a GoCardless subscription. Future payments will not be created. Already-pending payments are NOT automatically cancelled — cancel them individu...

Gocardless Complete Redirect Flow

Complete a GoCardless redirect flow after the customer has visited the hosted page and authorized the mandate. Creates the customer, bank account, and...

Gocardless Create Bank Account

Create a customer bank account in GoCardless. Provide IBAN for SEPA countries, or account_number + branch_code for UK/local schemes. Must link to an e...

Gocardless Create Customer

Create a new GoCardless customer record. At minimum requires an email. Add name, address, and metadata to enrich the record. Returns the created custo...

Gocardless Create Instalment Sched

Create a GoCardless instalment schedule (payment plan). Two modes: (1) Explicit dates — provide 'instalments' array with amount and charge_date for ea...

Gocardless Create Mandate

Create a direct debit mandate against a customer's bank account. The mandate starts as pending_submission and transitions to active once the bank conf...

Gocardless Create Mandate Pdf

Generate a GoCardless mandate PDF document and receive a temporary download URL. Provide mandate_id to generate from an existing mandate, or supply ba...

Gocardless Create Payment

Create a direct debit payment against an active mandate. Amount is in minor currency units (pence/cents). The mandate must be in 'active' state. ALWAY...

Gocardless Create Redirect Flow

Create a GoCardless redirect flow that generates a URL to GoCardless-hosted payment pages. The customer visits this URL to enter their bank details an...

Gocardless Create Refund

Create a refund against a GoCardless payment. The payment must be in 'confirmed' or 'paid_out' status. Requires total_amount_confirmation as a safety ...

Gocardless Create Subscription

Create a recurring payment subscription against an active GoCardless mandate. Payments are auto-created at the specified interval. Amount is in minor ...

Gocardless Disable Bank Account

Disable a GoCardless customer bank account. This immediately cancels all associated mandates and cancellable payments. Cannot be undone.

Gocardless Get Bank Accounts

Retrieve GoCardless customer bank accounts. Pass bank_account_id for a single account, or list all with optional customer filter. Returns masked accou...

Gocardless Get Billing Requests

Retrieve GoCardless billing requests — the modern flow for collecting both one-off and recurring payments. Each billing request tracks the status of a...

Gocardless Get Creditors

Retrieve GoCardless creditors (merchant accounts). Pass creditor_id to get a single creditor, or omit to list all with cursor pagination. Returns bank...

Gocardless Get Customers

Retrieve GoCardless customers. Pass customer_id for a single customer, or omit to list all. Filter by email, sort by company_name or created_at.

Gocardless Get Events

Retrieve GoCardless events — the immutable audit log of everything that happens. Filter by resource_type (payments, mandates, subscriptions), action, ...

Gocardless Get Instalment Schedules

Retrieve GoCardless instalment schedules (payment plans). Pass instalment_schedule_id for a single schedule, or list all with filters. Each schedule a...

Gocardless Get Institutions

List banking institutions supported by GoCardless for open banking flows (Instant Bank Pay). Filter by country_code. Returns institution IDs, names, i...

Gocardless Get Mandates

Retrieve GoCardless mandates (direct debit authorizations). Pass mandate_id for a single mandate, or list all with filters by customer, status, or sch...

Gocardless Get Payments

Retrieve GoCardless payments. Pass payment_id for a single payment, or list all with filters by customer, mandate, subscription, status, or charge_dat...

Gocardless Get Payout Items

List the individual items within a GoCardless payout. Each item is a payment, refund, or fee that was included in the payout. Essential for reconcilia...

Gocardless Get Payouts

Retrieve GoCardless payouts — batched transfers of collected funds to your bank account. Each payout groups multiple confirmed payments minus fees. Pa...

Gocardless Get Refunds

Retrieve GoCardless refunds. Pass refund_id for a single refund, or list all with optional payment filter. Refunds are deducted from a future payout —...

Gocardless Get Scheme Identifiers

Retrieve GoCardless scheme identifiers — the names and references shown to customers on their bank statements for each direct debit scheme. Each credi...

Gocardless Get Subscriptions

Retrieve GoCardless subscriptions (recurring payment schedules). Each subscription creates payments automatically at the defined interval. Filter by c...

Gocardless Get Webhooks

Retrieve GoCardless webhooks — delivery records of event notifications sent to your webhook endpoint. Use to debug webhook delivery issues, check whic...

Gocardless Lookup Bank Details

Validate bank account details via GoCardless. Performs modulus check and reachability check. Returns available_debit_schemes, bank_name, and BIC. Prov...

Gocardless Pause Subscription

Pause a GoCardless subscription. No new payments will be created while paused. Set pause_cycles to auto-resume after N cycles, or omit for indefinite ...

Gocardless Reinstate Mandate

Reinstate a previously cancelled GoCardless mandate. Only available for certain schemes (e.g. Bacs) and within scheme-specific time limits. Not suppor...

Gocardless Resume Subscription

Resume a paused GoCardless subscription. Payments will resume at the next scheduled date. Scheme notice periods apply.

Gocardless Retry Payment

Retry a failed GoCardless payment. Only works on payments in 'failed' status. Each payment can be retried up to 3 times. Optionally specify a new char...

Gocardless Retry Webhook

Retry delivery of a GoCardless webhook. Use when a webhook delivery failed and you want to trigger another attempt. The webhook is resent to your conf...

Gocardless Update Customer

Update fields on an existing GoCardless customer. Only provided fields are changed; omitted fields are left untouched.

Gocardless Update Mandate

Update metadata on an existing GoCardless mandate.

Gocardless Update Payment

Update metadata or retry settings on an existing GoCardless payment.

Gocardless Update Refund

Update metadata on an existing GoCardless refund.

Gocardless Update Subscription

Update an existing GoCardless subscription. Can change amount, name, payment_reference, retry settings, and metadata. Changes apply to future payments...

Frequently Asked Questions

What is the GoCardless MCP server?

GoCardless is a payment processing service that enables businesses to collect recurring payments directly from customer bank accounts via direct debit. It supports Bacs (UK), SEPA (EU), ACH (US), BECS (AU/NZ), and PAD (CA) schemes. It provides 42 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect GoCardless to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/gocardless. Authentication is handled automatically.

How many tools does GoCardless provide?

GoCardless provides 42 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does GoCardless require?

GoCardless uses API Key. GoCardless requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect GoCardless to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/gocardless

What is MCP?

Model Context Protocol lets AI tools call external capabilities securely through a single URL. This bundle groups tools behind an MCP endpoint that many clients can use.

Use this bundle in 3 steps

  1. Copy the MCP URL above
  2. Open your AI tool and add a new MCP/connector
  3. Paste the URL and follow any auth prompts

Claude Desktop Users

Skip the manual setup! Use the .mcpb file format for one-click installation. Check the Claude Desktop tab for setup instructions.

Pick your tool tab for exact steps

Select ChatGPT, Cursor, Claude Code, or another tab for copy-paste config.

Ready to use GoCardless?

Sign in to connect your credentials and start running tools from the chat.

GoCardless MCP Server & Skill — 42 Tools