The complete tool surface of mcp.elasticpay.co. The five documentation and
schema tools need no authentication and are also served alone at
https://mcp.elasticpay.co/docs/mcp; everything else requires a
connection and operates on your sandbox account.
The live read-only server at /live/mcp is a separate, smaller
surface: the docs tools plus read-only counterparts of whoami,
list_customers, get_customer, list_customer_payment_intents,
list_payment_methods, get_payment_intent, list_payment_plans,
get_payment_plan, list_plan_payment_intents, and
list_webhook_events — same parameters as their entries below, live data,
no write tools at all. See
Operate a live account.
Each tool wraps one call to the REST API, so responses are
the API’s JSON verbatim — statuses, references (cus_…, pm_…, pi_…),
and error shapes match the API documentation
exactly.
Documentation and schema (no auth)
| Tool | What it does |
|---|
search_docs | Search this documentation; returns the most relevant pages with snippets and Markdown URLs |
get_doc_page | Fetch one documentation page as Markdown by path, e.g. api/getting-started/quick-start |
get_openapi_schema | Return the full OpenAPI 3.1 schema — the authoritative request/response shapes |
list_endpoints | List every API endpoint as method, path, and summary |
describe_endpoint | Return the full OpenAPI operation (parameters, request body, responses) for one endpoint |
Connection
| Tool | Parameters | What it does |
|---|
whoami | — | Describe the current connection: auth kind (oauth or api_key), mode, and for OAuth the connected sandbox account |
Customers
| Tool | Parameters | What it does |
|---|
create_customer | name?, email?, reference?, test_clock? | Create a sandbox customer. Pass a test_clock (clk_…) at creation for plans that should follow simulated time |
list_customers | limit?, starting_after?, email? | List customers, newest first, with cursor pagination |
Payment methods
| Tool | Parameters | What it does |
|---|
create_payment_method | fixture_token, customer_id?, card_name? | Save a card using a sandbox fixture token — no widget or real card involved. The fixture’s outcome (succeed, decline, 3DS, timeout) travels with the saved method |
list_payment_methods | customer_id? | List saved payment methods, optionally for one customer |
detach_payment_method | payment_method_id | Detach a payment method so it can no longer be charged |
Payment intents
| Tool | Parameters | What it does |
|---|
create_payment_intent | amount, currency?, customer_id?, payment_method?, metadata? | Create a payment intent. Amounts are integer cents (minimum 200), currency AUD |
confirm_payment_intent | payment_intent_id, payment_method? | Confirm the intent, executing the charge. Pass payment_method — confirmation requires it even when one was given at creation |
get_payment_intent | payment_intent_id | Fetch an intent and its current status |
cancel_payment_intent | payment_intent_id | Cancel an intent that has not completed |
refund_payment_intent | payment_intent_id, amount?, reason? | Refund a succeeded intent — omit amount for a full refund |
Payment plans
| Tool | Parameters | What it does |
|---|
create_payment_plan | customer_id, recurring_amount_cents, start_date, frequency_type?, number_of_payments?, until_further_notice?, payment_instrument_id?, name? | Create a recurring plan. Frequencies: weekly, fortnightly, monthly, quarterly, annual |
activate_payment_plan | payment_plan_id | Activate the plan so scheduled payments start |
get_payment_plan | payment_plan_id | Fetch a plan and its current status |
list_plan_payment_intents | payment_plan_id, limit? | List the intents a plan has generated — how you observe a renewal after advancing a clock |
Setup intents
| Tool | Parameters | What it does |
|---|
create_setup_intent | customer_id?, metadata? | Create a setup intent for saving a payment method without charging |
confirm_setup_intent | setup_intent_id, payment_method_id | Confirm a setup intent with a saved payment method |
Test clocks
Sandbox time under programmatic control — the full concept is covered in
Test clocks. Up to 3 clocks can be active at once.
| Tool | Parameters | What it does |
|---|
create_test_clock | frozen_time, name? | Create a clock frozen at an ISO 8601 time. Attach customers at creation via create_customer |
advance_test_clock | test_clock_id, frozen_time | Advance to a future time. Asynchronous: status goes advancing then ready — poll get_test_clock, then inspect plans, intents, and events for what fired |
get_test_clock | test_clock_id | Fetch a clock and its status |
list_test_clocks | — | List test clocks |
delete_test_clock | test_clock_id | Delete a clock and its simulated resources |
Webhook events
| Tool | Parameters | What it does |
|---|
list_webhook_events | event_type?, limit?, starting_after? | List the account’s recent webhook events, newest first, each with its latest delivery status. Webhooks are the source of truth for payment outcomes — this is how an agent closes the loop without hosting an endpoint |
Not on this surface
There is no tool that accepts card numbers or CVV — card capture goes through
the widget or hosted payment page only, exactly as in the
REST API. And there are no live-mode write tools anywhere: the sandbox
server writes sandbox data only, and the
live server is read-only by construction.