list_subscriptions
Retrieve and filter subscription records from GoCardless to manage recurring payment plans and monitor customer billing status.
Instructions
List subscriptions from GoCardless
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of subscriptions to retrieve (default: 50) | |
| status | No | Filter by subscription status |
Implementation Reference
- src/gocardless_mcp/server.py:427-449 (handler)Handler implementation for the 'list_subscriptions' tool. Retrieves subscriptions from GoCardless API using client.subscriptions.list, formats the results into a list of dictionaries with id, amount, currency, status, created_at, and returns formatted text content.elif name == "list_subscriptions": params = {"limit": arguments.get("limit", 50)} if "status" in arguments: params["status"] = arguments["status"] subscriptions = client.subscriptions.list(params=params) result = [] for subscription in subscriptions.records: result.append( { "id": subscription.id, "amount": subscription.amount, "currency": subscription.currency, "status": subscription.status, "created_at": subscription.created_at, } ) return [ types.TextContent( type="text", text=f"Found {len(result)} subscriptions:\n{_format_json(result)}", ) ]
- src/gocardless_mcp/server.py:188-204 (registration)Registration of the 'list_subscriptions' tool in the list_tools handler, including name, description, and input schema for limit (optional integer) and status (optional string).types.Tool( name="list_subscriptions", description="List subscriptions from GoCardless", inputSchema={ "type": "object", "properties": { "limit": { "type": "integer", "description": "Number of subscriptions to retrieve (default: 50)", }, "status": { "type": "string", "description": "Filter by subscription status", }, }, }, ),
- src/gocardless_mcp/server.py:191-203 (schema)Input schema definition for the 'list_subscriptions' tool, defining optional parameters 'limit' and 'status'.inputSchema={ "type": "object", "properties": { "limit": { "type": "integer", "description": "Number of subscriptions to retrieve (default: 50)", }, "status": { "type": "string", "description": "Filter by subscription status", }, }, },