Tools
The server exposes 292 tools over 25 resource families. Each one dispatches in-process to the /v1 endpoint that already implements the operation, so filters, validation, upsert matching and tenant isolation are exactly the REST API's — the tool is the endpoint. The one exception, billing_schemas_get, answers locally and is marked as such.
How to read these pages
Every tool carries four facts, in this order:
billing_invoices_void· destructive · resourceinvoices· permissioninvoices.void·POST /v1/invoices/:id/void
| Field | Meaning |
|---|---|
| read / write / destructive | The annotation the MCP client reads. On a destructive one it asks the user to confirm. |
| resource | The resource family of the tool — what groups the tools in these docs. |
| permission | The dashboard permission the person who authorized the client must hold in the organization. |
METHOD /path | The /v1 endpoint the tool dispatches to, to cross-reference with the API reference. |
Common arguments
These appear across many tools and always mean the same thing.
| Argument | Type | Description |
|---|---|---|
page | integer | 1-based page number. Default 1. |
per_page | integer | Page size. Default 20, max 100. |
sort_by | string | Sort column, snake_case. billing_schemas_get lists the accepted ones. |
sort_order | asc | desc | Direction. A value that is not a direction is an error, not a silent desc. |
fields | string[] | Columns to return. Omit for the whole resource; id always comes back. |
filters | object | Additional filters, forwarded verbatim to the endpoint. |
idempotency_key | string | Replay guard, sent as X-Idempotency-Key. |
custom_metadata | object | Free-form JSON owned by you, echoed on every read and webhook. |
The catalogue
A tool you cannot run is not listed by tools/list at all. If one from this page is missing, see Authentication.