Connect a client
Add the SaaSFlow MCP server to Claude, ChatGPT, Cursor, or your own client.
Every client talks to the same endpoint over HTTPS:
https://api.saasflow.com/mcpMost clients only need that URL. They discover the auth flow from the endpoint itself
(RFC 9728 metadata at /.well-known/oauth-protected-resource/mcp), register
themselves, and send you to app.saasflow.com to sign in and approve.
By client
| Client | Setup |
|---|---|
| Claude (web, desktop, mobile) | Settings → Connectors → Add custom connector, paste the URL. |
| ChatGPT | Add it as a connector. Same URL, same OAuth flow. |
| Claude Code | claude mcp add --transport http saasflow https://api.saasflow.com/mcp |
| Cursor | { "mcpServers": { "saasflow": { "url": "https://api.saasflow.com/mcp" } } } in .cursor/mcp.json |
| Your own client | Streamable HTTP transport, bearer auth. See OAuth for apps. |
A client that speaks only stdio can bridge to the endpoint:
{
"mcpServers": {
"saasflow": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.saasflow.com/mcp"]
}
}
}mcp-remote is a third-party bridge, not a SaaSFlow package.
OAuth
| Field | Value |
|---|---|
| Authorization endpoint | https://api.saasflow.com/auth/oauth2/authorize |
| Token endpoint | https://api.saasflow.com/auth/oauth2/token |
| Resource | https://api.saasflow.com/mcp |
| Scopes | saasflow:read, saasflow:write |
Issued tokens have audience https://api.saasflow.com/mcp. SaaSFlow stores the consent
grant; revocation from Settings → API keys invalidates the token in real time.
| Scope | Grants |
|---|---|
saasflow:read | All :read permissions, intersected with your user permissions. |
saasflow:write | Reads + :write permissions. Admin (:manage) is never granted via OAuth. |
saasflow:read is enough for questions and analysis. Write tools
are registered only when the token carries saasflow:write.
API keys
For scripts, CI, and clients that would rather send a fixed header than run a browser flow, pass an API key as the bearer token:
Authorization: Bearer sf_live_...A key belongs to one company, so tool calls can omit companyId. Write tools are
registered, bounded by the key's permission set.
Get a token for testing
The saasflow CLI can mint an OAuth bearer:
saasflow login
# Then to print a fresh access token:
saasflow whoami --json | jq -r '.oauth.accessToken'Useful when wiring up a custom MCP client.
Revoke
Open Settings → API keys in the SaaSFlow app. OAuth consent grants are listed alongside API keys, and revoking is immediate.