Overview
Formo supports OAuth for remote MCP clients that can discover and complete an OAuth authorization flow.
Setup
- ChatGPT
- Claude
- Others
- Open ChatGPT settings
- Go to Apps
- Click Advanced settings
- Enable Developer mode

- Go back to Apps
- Click Create app
-
Enter the app details:
Name
MCP server URL
- Description: optional
- Authentication: OAuth

- Click Create
- Sign in to Formo, select a project, and approve access
- Start asking ChatGPT questions about your Formo analytics
ChatGPT Developer mode is a beta feature. ChatGPT apps created in Developer mode also cannot use memory.
Scopes
Formo MCP OAuth supports the following scopes:OAuth access is bound to the project selected on the Formo consent page. The MCP server validates that the user still has access to that project before serving requests.
Troubleshooting
403 MCP access requires a Scale or Enterprise plan: The signed-in workspace is on a Growth plan. MCP authorization is gated server-side, so the OAuth flow will not complete. Upgrade the workspace to a Scale or Enterprise plan, then reconnect.- Client does not start OAuth: Confirm the MCP server URL is exactly
https://api.formo.so/v0/mcp/and includes the trailing slash. - Invalid scope: Request supported scopes only (see the table above), plus
offline_accesswhen refresh is needed. - Consent page asks you to sign in again: Sign in to Formo and you will be returned to the same OAuth authorization flow.
- No projects are available: The signed-in Formo account must be an owner or admin of a team with at least one project.
- Project access denied after connecting: Reconnect and choose a project that your Formo user can still access.
- API key stopped working: OAuth does not replace API keys. Check that the key has the permission the failing tool needs (analytics and SQL need
query:read), has not been revoked, and is sent asAuthorization: Bearer <workspace_api_key>.
OAuth discovery
Most OAuth-capable MCP clients discover Formo’s OAuth configuration automatically from the MCP server URL:401 with a WWW-Authenticate challenge that points clients to Formo’s protected resource metadata. Access tokens expire after 1 hour; clients that request offline_access can refresh access without asking the user to sign in again.
OAuth metadata URLs
OAuth metadata URLs
The
openid-configuration path is an alias that returns the same OAuth authorization-server metadata for clients that look there. Formo MCP is OAuth 2.0 only and does not implement full OpenID Connect.
