Every connection sees nine tools. The two write tools,
chargefy_api_create
and chargefy_api_update, only appear when at least one environment was
authorized with read and write access.Catalog of the 11 tools
Context
get_chargefy_account_info
It is the first call of every conversation and the answer to “which environment am I in?”. It takes no arguments.
oauthorapi_keyauthentication;- the client name, when available;
- the contract version;
- the connection’s organization;
- the test and/or production scopes;
- the
readorwriteaccess of each scope; environment_enabledper scope — whether MCP is enabled in that environment;- the authenticated user, under OAuth.
environment_enabled: false appears in the list, but any call in it answers environment_disabled until an administrator turns MCP on for that environment, under Developers → Agents.
If the connection has test and production, the tools that access data need to receive livemode. With a single environment, the server already knows which one to use.
Operation discovery
chargefy_api_search
Searches the catalog for the operations this connection can execute. It is how the assistant discovers that “list customers” is called customers.list.
operation_id, a summary, the HTTP method, the path, the risk class and whether the connection can execute it (executable). When it cannot, not_executable_reason explains why, for example “write permission missing”.
chargefy_api_details
Returns the full contract of an operation, that is, everything the assistant needs to know before calling it:
input_schemaandoutput_schema;- method and path;
- risk class;
- required capability;
- allowed environments;
- whether
intent_idis required; - execution state for this connection;
- the API reference URL.
Execution
chargefy_api_read
Executes a read operation (class R0): listing or looking up a resource.
starting_after and ending_before never go together. An unknown or invalid filter answers invalid_arguments.
chargefy_api_create
Creates a resource (class R1). It only accepts operations ending in .create; if it receives an .update, it refuses and points at the right tool.
chargefy_api_update
Changes an existing resource, identified by id (class R1). It only accepts operations ending in .update.
destructiveHint). Assistants that respect the marking ask for confirmation before each execution. Fields that do not appear in data keep their current value.
On both tools, repeating the same call with the same intent_id returns the original result, without executing again. The same intent_id with another operation or other data is refused.
Searching and loading data
search_chargefy_resources
Searches for a text in the visible fields of each resource. It is what handles requests like “find Maria’s customer record”.
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.
id, object, display_name and created_at. For the full object, the assistant uses fetch_chargefy_resources or chargefy_api_read.
fetch_chargefy_resources
Loads up to 25 objects at once, from their IDs. The ID prefix tells the resource type:
missing, without saying which of the three it is. That way, an ID from another organization does not even reveal that it exists.
Support
search_chargefy_documentation
Searches this documentation. It is how the assistant answers “how do I verify a webhook signature?” with the right page.
chargefy_implementation_planner
Builds a step-by-step plan for an integration goal, such as “sell a monthly plan through a link”. The plan lists prerequisites, operations and documentation pages. It never executes anything.
In requests about activation, the planner distinguishes your own account from
an organization connected to your platform. MCP guides both cases and reads
connected organizations (
organizations.list and organizations.get);
creating, changing and activating them still goes through the public API.
See Activate an organization by
API or Activate an organization
with a hosted session.send_chargefy_mcp_feedback
Sends a report to the Chargefy team about MCP itself: a bug, a missing operation or a documentation question.
The 63 operations
They are 49 reads, 2 calculations (invoice and payment previews, which simulate an amount without changing anything and therefore run throughchargefy_api_read with data) and 12 writes:
Each operation’s name follows
<resource>.<action>: invoices.list, subscriptions.get, prices.update.
Each connection is valid for one organization. On accounts with Chargefy
for Platforms, the connection made in the platform organization also reads
the organizations connected to it:
organizations.list and
organizations.get return the full object, with the activation_status and
the requirements list of pending items, and organization.* events show up
in events.list. Creating, updating and activating connected organizations
still goes through the public API.Responses
When it succeeds, the tool returns:content, the result as JSON text, for assistants that read text;structuredContent, the same result in structured form;- on execution operations, exactly the same object the public API returns.
isError: true and a structured error, with the code, the message and what to do:
request_id, to locate the call in the log, and retry_after_ms, the wait time when a limit is hit, may appear as well. Protocol errors (JSON-RPC) are reserved for malformed messages or tools that do not exist.
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: it runs through chargefy_api_read with data, requires no intent_id and never changes data.
** Only for accounts with Chargefy for Platforms: the connection made in the platform organization reads the organizations connected to it. Without a platform, the operation answers platform_required.
*** Only for accounts with Chargefy for Platforms, and only on the connection made with the platform’s API key: it reads the platform’s own fee plans, without on_behalf_of. OAuth connections, even in the platform organization, and connections without a platform answer permission_denied. Plans are created and edited in the dashboard.
