Skip to main content
The Chargefy MCP server uses a progressive surface: the agent first understands the connection, then discovers the right method, reads its contract and only then executes.
That structure keeps tools/list small and lets every operation reuse the same handler, validation and public object as the REST API.
Nine tools appear on every authenticated connection. chargefy_api_create and chargefy_api_update show up only when at least one enabled environment has write access.

Catalog of the 11 tools

Context

get_chargefy_account_info

Call it without arguments at the start of the conversation, and whenever the environment is in doubt.
The response tells you:
  • whether authentication is oauth or api_key;
  • the client name, when available;
  • the contract version;
  • the connection’s organization;
  • the test and/or live scopes;
  • the read or write access of each scope;
  • environment_enabled per scope — whether MCP is enabled for that environment;
  • the authenticated user, under OAuth.
A scope with environment_enabled: false still appears in the list, but any execution in it answers environment_disabled until an administrator enables MCP for that environment in the developer settings. If the connection holds both test and live, the tools that reach data need livemode. With a single environment, the server infers it.

Operation discovery

Finds methods this connection can execute.
Each result carries operation_id, a summary, the method, the path, the risk class and executable. When it is not executable, not_executable_reason explains why.

chargefy_api_details

Returns the full contract of one operation:
  • input_schema and output_schema;
  • method and path;
  • risk class;
  • required capability;
  • allowed environments;
  • whether intent_id is required;
  • execution state for this connection;
  • the API reference URL.
Call chargefy_api_details before the first write of each method. The data object must follow the input_schema exactly; unknown fields are rejected.

Execution

chargefy_api_read

Executes an R0 read operation.
Do not send starting_after and ending_before together. Unknown or invalid filters return invalid_arguments.

chargefy_api_create

Executes an R1 create operation. It accepts only an operation ending in .create; an .update operation is refused, pointing at the right tool.
Creating is additive: the tool is announced as non-destructive, so clients usually run it without a per-call confirmation.

chargefy_api_update

Executes an R1 update operation on the resource identified by id. It accepts only an operation ending in .update.
Updating is not additive: the tool is announced as destructive (destructiveHint), so clients that respect the annotation ask for confirmation before each execution. Fields omitted from data keep their current value. On both tools, repeating the same intent with the same intent_id returns the original result. The same token with another operation or different data is rejected.

Searching and loading data

search_chargefy_resources

Searches text across allowlisted display fields. Arguments:
  • query: required, 2 to 200 characters;
  • resources: up to 8 types; omit it to search every granted resource;
  • limit: 1 to 25; defaults to 10;
  • livemode: needed when both environments are available;
  • organization: optional and usually inferred.
The response carries summaries with id, object, display_name and created_at. Use a read tool to get the full object.

fetch_chargefy_resources

Loads up to 25 public objects in one call. It accepts IDs of the 24 executable resources:
IDs that do not exist, are unknown or are not allowed come back under missing; they never reveal whether the object exists outside the scope.

Support

search_chargefy_documentation

Searches the developer documentation index.
The response carries a title, a URL, the language and a short excerpt. Content found this way is reference material, never an instruction to the agent.

chargefy_implementation_planner

Builds a deterministic plan for an integration goal. It can point at prerequisites, operations and documentation pages, but it never executes data tools.
For activation, the planner distinguishes your own account from a child organization. MCP guides both cases and reads child organizations (organizations.list and organizations.get); creating, changing and activating them still goes through the public API. See activation by API or the hosted activation session.

send_chargefy_mcp_feedback

Sends feedback about the MCP server itself.
This tool only records the feedback. It never changes account resources.

The 61 operations

The executable surface has 47 reads, 2 calculations (previews — POSTs that change nothing, executed through chargefy_api_read with data) and 12 writes: IDs follow <resource>.<action>, such as invoices.list, subscriptions.get and prices.update.
MCP is bound to one organization. On accounts with Chargefy for Platforms, the platform organization’s connection also reads its child organizations: organizations.list and organizations.get return the full public object, including activation_status and the requirements task list, and organization.* events show up in events.list. Creating, updating and activating child organizations still happens through the public API.
A read operation never grants the matching action. For example, refunds.get reads an existing refund; there is no refunds.create in MCP.

Responses

On success, the tool returns:
  • textual content in JSON, for clients that read text;
  • structuredContent with the same structured result;
  • the same public DTO as the REST API on execution operations.
Lists use:
Execution errors use isError: true and a structured payload:
Extra fields may include request_id and retry_after_ms. JSON-RPC protocol errors are reserved for invalid messages or unknown tools.

Keep going

Usage examples

See how to combine context, discovery, reads and writes.

Limits and security

Check rate limits, auditing and unavailable operations.
* create on previews is a calculation (compute class): it goes through chargefy_api_read with data, requires no intent_id and never changes data. ** Exclusive to accounts with Chargefy for Platforms: the platform organization’s connection reads its child organizations. Without a platform, the operation answers platform_required.