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 hosted MCP server lives at api.saasflow.com/mcp and speaks OAuth, so hosted clients need nothing more than the URL. Local clients run the npm package with an API key. Both expose 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

Hosted 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

Hosted 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 hosted endpoint in its MCP settings file. Prefer a local process with an API key? Use the npm package below instead.

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

MCP server docs

Claude Desktop and other local clients

The npm package runs the same tool catalog as a local process and authenticates with an API key from Settings. Pick the key's permissions per company.

claude_desktop_config.json
{
  "mcpServers": {
    "saasflow": {
      "command": "npx",
      "args": ["-y", "@saasflow/mcp"],
      "env": {
        "SAASFLOW_API_KEY": "sf_live_...",
        "SAASFLOW_COMPANY_ID": "cmp_..."
      }
    }
  }
}

Local 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. Owners approve the AI provider once per company, in a dialog that names the model, the processing location, and the data shared. 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 hosted endpoint, its auth, and the npm package.
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 MCP connection starts with read tools only. Write tools appear only when you enable them: the write scope on an OAuth grant, or a flag on the local server.
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, and only after an owner has approved the AI provider for the company.
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.