Skip to main content
You can talk in natural language; the client assembles the MCP calls. The examples below show the JSON only to make each decision verifiable.

The safest pattern

1

Read the context

Call get_chargefy_account_info and confirm organization, environment and access.
2

Discover the operation

Use chargefy_api_search instead of guessing the operation_id.
3

Read the contract

Check chargefy_api_details, especially before a write.
4

Verify the current state

Read the resource or find the right ID before changing anything.
5

Write with confirmation and idempotency

Show the operation, data, ID and environment; then use a fresh intent_id.
Human confirmation is a client policy or an instruction of yours. The server validates scope, capability, schema and idempotency, but it does not open a confirmation screen on every write. Writing is split into chargefy_api_create (additive) and chargefy_api_update (announced as destructive), so clients that respect the annotation ask for confirmation before each update.
Use the Chargefy connection. First show the organization, the environments and the access level. Work in test. Do reads only until I authorize a change. Before any write, show the tool, the operation, the IDs, the data and the intent_id.
That prompt avoids three common mistakes: an implicit environment, a guessed operation and a change without review.

Querying data

List customers

Ask:
List the 10 most recent customers in the test environment. Do not change data.
After confirming the context, the read call can be:
If the connection only holds test, livemode can be omitted.

Filter by email

Filters belong to the operation. Check chargefy_api_details before using them:
Unknown keys are rejected; they are not silently ignored.

Retrieve by ID

The result is the full public object. An ID from another organization or environment is not returned.

Finding a resource without knowing the ID

Use the text search for customers, catalog, discounts, links and invoices:
The search returns summaries. Once you have the right IDs, load the full objects:
fetch_chargefy_resources is useful for investigating relationships: gather up to 25 IDs found in objects or events and load them all in one call.

Discovering before executing

When the goal does not yet point at a clear operation, search:
Then read the contract of the one you picked:
Use the returned input_schema to build data. The reference at documentation_url explains product rules that do not fit in a schema.

Creating data

Create a customer

Ask:
In test, prepare a customer with the email name@email.com. Show the call and wait for my confirmation.
After the confirmation:
If it times out after sending, repeat exactly that call with the same intent_id. After confirming the price with prices.get, read the details of payment_links.create and execute:
The response includes the payment_link object and its public URL. For an ad-hoc price, an inline product or recurrence, follow the variants in Create a payment link.

Updating without replacing

Updates merge: absent fields stay as they are.
Do not reuse the intent_id from the creation. Each logical change gets a fresh token; the token only repeats when retrying that same change.
To clear a field, confirm in the input_schema whether it accepts null or an empty string. Omitting a field does not remove it.

Planning a larger flow

For a goal spanning several resources, start with the planner:
The planner points at prerequisites, the order of operations and the documentation. Then:
  1. confirm the plan;
  2. discover and detail each operation;
  3. read existing objects;
  4. use a different intent_id for each create or update;
  5. validate the result of each step before moving on.
The planner never executes a change on its own.

Investigating payments without moving money

MCP can query payment intents, charges, transactions, invoices, subscriptions, refunds and disputes. A useful prompt:
In the live environment and read only, retrieve the payment intent pi_Q3zX5Sqaeiq5n6WT. Load the related resources identified in the result and build a timeline with statuses, amounts and timestamps. Do not confirm, capture, cancel or refund anything.
Financial lifecycle operations do not exist on the MCP surface, so investigation stays separate from action.

Paginating

Lists use a cursor:
1

Make the first read

Choose a limit between 1 and 100. The default is 10.
2

Read has_more

If it is true, copy the id of the last object in data.
3

Fetch the next page

Repeat the operation, environment and filters with starting_after.
Use ending_before to go back. Never send both cursors together.

Retrying

Changing the intent_id after a timeout can turn the retry into a second change.

Fixing common errors

Keep the request_id whenever it appears. It correlates the failure with Chargefy’s request log and can be sent through send_chargefy_mcp_feedback.

Ready-made prompts

“Use Chargefy for reading only. Confirm the test environment, list open invoices and summarize amount, due date and status. Do not call chargefy_api_create or chargefy_api_update.”
“In test, prepare a customer with the email name@email.com. Check the schema, show data and intent_id, and only execute after my confirmation.”
“Retrieve the request req_j8ii31CD75absd7t and whichever related objects are available. Build a timeline and preserve the request_id. Do not change any resource.”

Keep going

Tools and operations

Check arguments, limits and the full operation matrix.

Limits and security

Understand rate limits, auditing and actions that require the REST API.