SaaSFlow for AI agents

The finance data of a SaaS company, readable by Claude, ChatGPT, Cursor, or the agent you build yourself. One MCP endpoint, a public REST API, and a CLI, all on the same numbers your dashboard shows.

Assistants

Connect an assistant in a minute

The MCP server lives at mcp.saasflow.com and speaks OAuth, so a client needs nothing more than the URL. Nothing to install, and every client sees the same tools.

Claude

In the Claude web and desktop apps, add a custom connector with the endpoint below. Claude sends you to app.saasflow.com to sign in and approve read access.

Connector URL
https://api.saasflow.com/mcp

Setup guide →

ChatGPT

Add the same endpoint as a connector. The OAuth flow issues a short-lived token bound to your account, and you can revoke it from Settings in SaaSFlow at any time.

Connector URL
https://api.saasflow.com/mcp

Setup guide →

Claude Code

One command in the terminal registers the hosted server. The first tool call opens the browser for sign-in.

Terminal
claude mcp add --transport http saasflow https://api.saasflow.com/mcp

MCP server docs →

Cursor

Point Cursor at the endpoint in its MCP settings file. It runs the OAuth flow on the first tool call.

.cursor/mcp.json
{
  "mcpServers": {
    "saasflow": { "url": "https://api.saasflow.com/mcp" }
  }
}

MCP server docs →

Clients that only speak stdio

Older clients that cannot dial an HTTP server reach the same endpoint through mcp-remote, a third-party bridge. For scripts and CI, send a SaaSFlow API key as the bearer token instead.

MCP config file
{
  "mcpServers": {
    "saasflow": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.saasflow.com/mcp"]
    }
  }
}

Setup guide →

Raycast

The SaaSFlow extension puts MRR and cash in the menu bar and answers questions in Raycast AI with the same tools, so you never open the dashboard for a quick number.

Raycast Store
raycast.com/saasflow/saasflow

Install from the Raycast Store →

Tools

What an agent can ask once connected

Over 90 read tools cover companies, accounts, transactions, customers, vendors, subscriptions, and every metric the dashboards show. The server tells the model to take metrics from the data tools instead of summing transactions itself, so answers match the app.

“What is our MRR today, and how did it move this month?”
data_mrrAtDate
“Which customers churned or downgraded in March?”
data_customerChanges
“Show me last quarter's P&L split by category.”
data_profitLossData
“Who are our ten biggest expense vendors this year?”
data_topExpenseVendors
“How long does the cash last at the current burn?”
data_cashFlowTimeSeries
“Find the Stripe payout from January 12 and show its transactions.”
search
“How does the 2025 cohort retain compared to 2024?”
data_cohorts
“What exactly is counted in net revenue retention here?”
data_metricExplanation

Full tool reference →

Developers

Build your own agent

Everything the MCP tools do is a REST call underneath. Use the API directly, script it with the CLI, or ship an app that users install with OAuth.

REST API

JSON over HTTPS, resources scoped by company, and one data endpoint per metric slice. A batch endpoint runs several slices in one round trip.

curl
curl https://api.saasflow.com/companies/cmp_.../data/mrrAtDate \
  -H "Authorization: Bearer sf_live_..." \
  --get --data-urlencode "mrrType=cmrr" \
  --data-urlencode "date=2026-08-31"

API overview →

CLI

The saasflow package on npm signs in with OAuth or an API key, prints JSON for pipes and tables for people, and has one subcommand per data slice.

Terminal
npm install -g saasflow
saasflow login
saasflow data mrrAtDate --mrr-type cmrr --date 2026-08-31
saasflow transactions list --limit 20 --format table

CLI docs →

Typed clients and OAuth apps

Generate types from the OpenAPI document in one line. For an app other people install, register an OAuth client and request the read or write scope.

Terminal
npx openapi-typescript https://api.saasflow.com/openapi.json -o saasflow.d.ts

OAuth for apps →

In the product

Agents that already run inside SaaSFlow

You do not have to bring your own model to get value from agents. Three run inside SaaSFlow today, and each can also be started through the API.

AI analyst

Pick a closed month and an agent works through MRR movements, customer changes, spending, and cash. It writes a report with its own layout and charts, and the headline numbers are replayed against live data before you see it.

Report chat

Ask where a number comes from, or have the analyst cut a section, add a breakdown, or start from an earlier version. Every accepted edit passes the same checks and becomes a new version.

Categorization helper

Reviews uncategorized transactions and proposes vendors, customers, and categories. It never writes on its own: you review the suggestions and apply the ones you agree with.

Each run executes in an isolated container with a credential that only lasts for that run. The models run on Google Cloud in the EU, the same provider that hosts SaaSFlow, and no other AI provider receives your data. More on security

Discovery

If you are an agent, start here

Every document a machine needs is at a stable, unauthenticated URL. Fetch these before guessing.

saasflow.com/llms.txt
What SaaSFlow is, when to use it, and where every page lives.
saasflow.com/agents.md
This page as Markdown.
docs.saasflow.com/llms.txt
Page-by-page index of the documentation. Append .md to any docs URL for its Markdown source.
api.saasflow.com/openapi.json
The OpenAPI 3.1 document, with the permission each operation needs.
api.saasflow.com/.well-known/mcp
MCP server card: the endpoint and what it accepts for auth.
api.saasflow.com/.well-known/api-catalog
RFC 9727 API catalog pointing at the same places.
document.modelContext
Browser agents on this site can call the WebMCP tools estimate_saasflow_price and estimate_saas_valuation instead of reading the pricing and valuation pages.

Permissions

What an agent can and cannot do

Scoped credentials
An API key belongs to one company and carries an explicit permission set. An OAuth grant is limited to the scopes you approve, intersected with your own role.
Read-only by default
Every OAuth connection starts with read tools only. Write tools appear when the grant carries the write scope, or when the caller uses an API key.
No admin access for agents
Managing users, API keys, integrations, and company settings stays with signed-in people. Neither API keys nor OAuth tokens can hold those permissions.
Revocation and audit
Revoking a key or a grant in Settings takes effect on the next request. Every tool call over the hosted endpoint is written to an audit log with the credential that made it.
Sandboxed built-in agents
The agents that run inside SaaSFlow execute in isolated containers with a run-scoped credential. They run on Claude, hosted by Google Cloud in the EU.
EU hosted, no money movement
SaaSFlow runs in the EU and reads from your billing and banking providers. Nothing here can initiate a payment.

See your real numbers today

Connect Stripe and your bank, and SaaSFlow builds your P&L, subscription metrics, and forecasts. Free under €10k MRR, no credit card required.