MCP tools reference
Every tool the SaaSFlow MCP server exposes, what it returns, and when an LLM should use it.
The MCP server registers two kinds of tools: a small set of hand-written tools for the most common operations, and one auto-generated tool per OpenAPI operation and per data slice.
All tools are read-only today. Every tool accepts an optional companyId; on the
stdio server it falls back to SAASFLOW_COMPANY_ID. On the hosted server it must be
specified per call.
Hand-written tools
| Tool | Purpose |
|---|---|
list_companies | List companies the caller has access to. |
get_company | Get one company's details. |
list_company_users | List team members and their roles. |
list_transactions | Browse / filter / paginate transactions (limit 1–500, offset, accountId). For aggregations use a data_* tool. |
get_transaction | Get a single transaction by id. |
list_customers | List customers. For revenue analytics use data_customerMrr / data_cohorts. |
search | Free-text search across customers, vendors, accounts, transactions. |
run_data_batch | Run multiple data slices in one round trip. |
Auto-generated CRUD tools
One tool per OpenAPI operation. Names follow <resource>_<verb>:
accounts_list accounts_get
customers_list customers_get customers_external_ids
vendors_list vendors_get vendors_external_ids
transactions_list transactions_get
subscriptions_list subscriptions_get subscription_events_list
products_list products_get products_external_ids
plan_items_list plan_items_get
categories_list categories_get
files_list files_get files_download
planned_transactions_list planned_transactions_get
planned_transaction_occurrences_list
integrations_list integrations_get
account_groups_list account_groups_get
notifications_list
background_tasks_list background_tasks_get
comments_list comments_get
users_list
counterparties_search(The data and search resources are skipped here because the hand-written tools
above cover them.)
Data-slice tools
One data_* tool per slice. The tool's input schema mirrors the slice's params, so an
LLM can fill them correctly without guessing.
data_mrrData data_mrrAtDate
data_mrrByProduct data_mrrChangeEvents
data_customerMrr data_customerChanges
data_customerMonthlyData data_monthlyData
data_cohorts data_retentionCohortDetail
data_cashFlowTimeSeries data_cashFlowByCategory
data_balanceTimeSeries data_accountBalanceByAccount
data_accountBalanceKpis data_balanceByCashType
data_profitLossData data_revenueExpenses
data_revenueExpensesBar data_revenueExpensesByCategory
data_topExpenseVendors data_periodDetails
data_analyticsFor details on what each slice returns, see Data slices.
Behavioural hints
Every tool sets the three MCP annotations required by hosted clients:
readOnlyHint: true
destructiveHint: false
openWorldHint: false