---
canonical_url: "https://docs.composio.dev/toolkits/gocardless_mcp"
markdown_url: "https://docs.composio.dev/toolkits/gocardless_mcp.md"
product: "platform"
version: null
last_updated: null
---

# GoCardless MCP

Build GoCardless payment API integrations.

- **Category:** payment processing
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 24
- **Triggers:** 0
- **Slug:** `GOCARDLESS_MCP`
- **Version:** 20260910_00

## Tools

### Cancel mandate

**Slug:** `GOCARDLESS_MCP_CANCEL_MANDATE`

Permission required: mandates:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Cancel payment

**Slug:** `GOCARDLESS_MCP_CANCEL_PAYMENT`

Permission required: payments:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Create payment

**Slug:** `GOCARDLESS_MCP_CREATE_PAYMENT`

Permission required: payments:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Create payment link

**Slug:** `GOCARDLESS_MCP_CREATE_PAYMENT_LINK`

Permission required: payment_links:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Create payment template link

**Slug:** `GOCARDLESS_MCP_CREATE_PAYMENT_TEMPLATE_LINK`

Permission required: payment_links:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Create refund

**Slug:** `GOCARDLESS_MCP_CREATE_REFUND`

Permission required: refunds:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Create subscription

**Slug:** `GOCARDLESS_MCP_CREATE_SUBSCRIPTION`

Permission required: subscriptions:write. Ask the user to reconnect GoCardless and grant this permission to enable this tool.

### Get customer

**Slug:** `GOCARDLESS_MCP_GET_CUSTOMER`

Retrieve a single customer by ID. PII fields are partially masked. Use when you have a known customer ID (CU…). To search or list multiple customers, use list_customers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Customer ID (e.g. CU000123) |

### Get environment

**Slug:** `GOCARDLESS_MCP_GET_ENVIRONMENT`

Returns the current GoCardless environment (sandbox or live) and step-by-step instructions for switching. Use this when the user asks which environment they are in, wants to switch to live, wants to switch to sandbox, or seems confused about whether they are looking at real or test data.

### Get mandate

**Slug:** `GOCARDLESS_MCP_GET_MANDATE`

Retrieve a single mandate (Direct Debit authorisation) by ID. Use when you have a known mandate ID (MD…). To search or filter across mandates, use list_mandates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Mandate ID (e.g. MD000123) |

### Get payment

**Slug:** `GOCARDLESS_MCP_GET_PAYMENT`

Retrieve a single payment by ID. Use when you have a known payment ID (PM…). To search or filter across multiple payments, use list_payments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Payment ID (e.g. PM000123) |

### Get payout

**Slug:** `GOCARDLESS_MCP_GET_PAYOUT`

Retrieve a single payout (settlement to your bank account) by ID. Use when you have a known payout ID (PO…). To search or filter across payouts, use list_payouts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Payout ID (e.g. PO000123) |

### Get refund

**Slug:** `GOCARDLESS_MCP_GET_REFUND`

Retrieve a single refund by ID. Use when you have a known refund ID (RF…). To search or filter across refunds, use list_refunds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Refund ID (e.g. RF000123) |

### Get subscription

**Slug:** `GOCARDLESS_MCP_GET_SUBSCRIPTION`

Retrieve a single subscription (recurring payment schedule) by ID. Use when you have a known subscription ID (SB…). To search or filter across subscriptions, use list_subscriptions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Subscription ID (e.g. SB000123) |

### Integrate with gocardless

**Slug:** `GOCARDLESS_MCP_INTEGRATE_WITH_GOCARDLESS`

Returns an overview of GoCardless integration options for collecting one-off and recurring bank payments. This tool returns an overview only — you MUST then call read_gocardless_resource with the relevant URI from the overview before answering the user's question.

### List customers

**Slug:** `GOCARDLESS_MCP_LIST_CUSTOMERS`

List customers, optionally filtered by creation date. PII fields are partially masked. For a single known customer ID, use get_customer.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `created_at_gte` | string | No | Filter: created at or after this ISO 8601 datetime |
| `created_at_lte` | string | No | Filter: created at or before this ISO 8601 datetime |
| `sort_direction` | string | No | Sort direction: asc or desc |

### List events

**Slug:** `GOCARDLESS_MCP_LIST_EVENTS`

Audit log of state changes across all resources (e.g. payment confirmed, mandate cancelled). Use for audit trails and webhook debugging. Not for querying amounts or counts — use list_payments for that. Note: data older than 18 months may not be available.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `action` | string | No | Filter by action (e.g. created, confirmed, failed, paid_out, cancelled) |
| `payout` | string | No | Filter by payout ID |
| `refund` | string | No | Filter by refund ID |
| `mandate` | string | No | Filter by mandate ID |
| `payment` | string | No | Filter by payment ID |
| `subscription` | string | No | Filter by subscription ID |
| `resource_type` | string | No | Filter by resource type: payments, mandates, payouts, refunds, subscriptions, instalment_schedules |
| `created_at_gte` | string | No | Filter: created at or after this ISO 8601 datetime |
| `created_at_lte` | string | No | Filter: created at or before this ISO 8601 datetime |

### List mandates

**Slug:** `GOCARDLESS_MCP_LIST_MANDATES`

Search or filter mandates (Direct Debit authorisations) by status, customer, or scheme. For a single known mandate ID, use get_mandate.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `scheme` | string | No | Filter by scheme: bacs, sepa_core, ach, autogiro, becs, becs_nz, betalingsservice, faster_payments, pad, pay_to |
| `status` | string | No | Filter by status: pending_customer_approval, pending_submission, submitted, active, suspended_by_payer, failed, cancelled, expired, consumed, blocked |
| `customer` | string | No | Filter by customer ID |

### List payments

**Slug:** `GOCARDLESS_MCP_LIST_PAYMENTS`

Search, filter, or count payments by status, customer, mandate, subscription, currency, or date range. Use for any multi-record query. For a single known payment ID, use get_payment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `status` | string | No | Filter by status: pending_submission, submitted, confirmed, paid_out, cancelled, customer_approval_denied, failed, charged_back |
| `mandate` | string | No | Filter by mandate ID (e.g. MD000123) |
| `currency` | string | No | Filter by currency code (e.g. GBP, EUR, USD) |
| `customer` | string | No | Filter by customer ID (e.g. CU000123) |
| `subscription` | string | No | Filter by subscription ID (e.g. SB000123) |
| `created_at_gte` | string | No | Filter: created at or after this ISO 8601 datetime |
| `created_at_lte` | string | No | Filter: created at or before this ISO 8601 datetime |
| `sort_direction` | string | No | Sort direction: asc or desc |

### List payouts

**Slug:** `GOCARDLESS_MCP_LIST_PAYOUTS`

Search or filter payouts (settlements to your bank account) by status, currency, or date range. For a single known payout ID, use get_payout.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `status` | string | No | Filter by status: pending, paid, bounced |
| `currency` | string | No | Filter by currency code (e.g. GBP, EUR, USD) |
| `created_at_gte` | string | No | Filter: created at or after this ISO 8601 datetime |
| `created_at_lte` | string | No | Filter: created at or before this ISO 8601 datetime |

### List refunds

**Slug:** `GOCARDLESS_MCP_LIST_REFUNDS`

Search or filter refunds by payment, mandate, or date range. For a single known refund ID, use get_refund.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `mandate` | string | No | Filter by mandate ID |
| `payment` | string | No | Filter by payment ID |
| `created_at_gte` | string | No | Filter: created at or after this ISO 8601 datetime |
| `created_at_lte` | string | No | Filter: created at or before this ISO 8601 datetime |

### List subscriptions

**Slug:** `GOCARDLESS_MCP_LIST_SUBSCRIPTIONS`

Search or filter subscriptions (recurring payment schedules) by status, customer, or mandate. For a single known subscription ID, use get_subscription.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for the next page. If the previous response's next_cursor was non-empty, call this tool again with after=<that value> to fetch the next page. Repeat until next_cursor is absent — do not stop after the first page and present it as complete. |
| `limit` | number | No | Number of results per page (default 50, max 500) |
| `status` | string | No | Filter by status: pending_customer_approval, active, cancelled, finished, paused |
| `mandate` | string | No | Filter by mandate ID |
| `customer` | string | No | Filter by customer ID |

### Read gocardless resource

**Slug:** `GOCARDLESS_MCP_READ_GOCARDLESS_RESOURCE`

Serves GoCardless API documentation, how-to guides, and code samples — not live account data. Use this to fetch API endpoint details, integration guides, and code samples. Available URIs:
- gocardless://api/endpoints — list of all API endpoints
- gocardless://api/endpoints/{name} — details of a specific endpoint
- gocardless://api/code_samples/{language} — all code samples for a language (java, python, ruby, dotnet, php, go, javascript, http)
- gocardless://api/code_samples/{language}/{endpoint} — code samples for a specific endpoint in a language
- gocardless://how_to/collect_one-off_payments
- gocardless://how_to/collect_recurring_payments
- gocardless://how_to/create_reusable_payment_templates
- gocardless://how_to/handle_webhooks
- gocardless://how_to/use_billing_request_with_actions
- gocardless://how_to/use_custom_payment_pages

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uri` | string | Yes | The gocardless:// resource URI to read |

### Submit feedback

**Slug:** `GOCARDLESS_MCP_SUBMIT_FEEDBACK`

Submit a rating (1–5) of how helpful this MCP session was. Call this at the end of a session when the user expresses satisfaction or dissatisfaction, or when they explicitly ask to leave feedback.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rating` | number | Yes | How helpful was this session? 1 = not helpful at all, 5 = extremely helpful |
| `comment` | string | No | Optional additional feedback |
