Documentation Index Fetch the complete documentation index at: https://docs.formo.so/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Use Workspace API Key authentication for MCP clients that let you configure custom HTTP headers, local editor integrations, or stdio bridges such as mcp-remote.
OAuth is also available for MCP clients that manage user sign-in. See MCP OAuth .
The MCP endpoint is:
https://api.formo.so/v0/mcp/
Keep the trailing slash in /v0/mcp/. Do not use https://api.formo.so/ as the MCP server URL.
Create an API key
Go to your Formo workspace settings
Navigate to Settings → API Keys
Click Create API Key
Enable the MCP scope
Copy the generated key
Use the API key as a Bearer token:
Authorization: Bearer < your_workspace_api_ke y >
Workspace API keys are project-specific. The MCP server can only read analytics data for the project attached to the key.
Setup
Select your client below to configure Formo with API key authentication.
Claude Desktop
Cursor
Claude Code
Windsurf
VS Code
Codex
mcp-remote / CLI
Other clients
On Claude Desktop, go to Settings > Developer > Edit Config
This opens the Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Add the following configuration:
{
"mcpServers" : {
"formo" : {
"command" : "npx" ,
"args" : [
"mcp-remote" ,
"https://api.formo.so/v0/mcp/" ,
"--header" ,
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
Restart Claude Desktop for the changes to take effect.
Upon successful restart, click the + icon on a new chat screen to enable Formo.
You can go to the Connectors settings to configure the Formo connector permissions to Always Allow.
Press Cmd+, (macOS) or Ctrl+, (Windows/Linux) to open Settings.
Find the “MCP” section in the settings sidebar.
Click “Add new MCP server” and configure:
Name: formo
Type: sse
URL: https://api.formo.so/v0/mcp/
Headers: Authorization: Bearer YOUR_API_KEY
Alternatively, add this to .cursor/mcp.json in your project: {
"mcpServers" : {
"formo" : {
"url" : "https://api.formo.so/v0/mcp/" ,
"headers" : {
"Authorization" : "Bearer YOUR_API_KEY"
}
}
}
}
Run the following command: claude mcp add --scope user --transport http formo https://api.formo.so/v0/mcp/ --header "Authorization: Bearer YOUR_API_KEY"
This registers the Formo MCP server globally for your user. To scope it to a specific project, use --scope project instead.
Open Windsurf Settings and navigate to the MCP section, or edit ~/.codeium/windsurf/mcp_config.json directly.
Add the following configuration:
{
"mcpServers" : {
"formo" : {
"serverUrl" : "https://api.formo.so/v0/mcp/" ,
"headers" : {
"Authorization" : "Bearer YOUR_API_KEY"
}
}
}
}
Restart Windsurf for the changes to take effect.
Add the following to .vscode/mcp.json in your project: {
"servers" : {
"formo" : {
"type" : "http" ,
"url" : "https://api.formo.so/v0/mcp/" ,
"headers" : {
"Authorization" : "Bearer YOUR_API_KEY"
}
}
}
}
Add the following to ~/.codex/config.toml: [ mcp_servers . formo ]
url = "https://api.formo.so/v0/mcp/"
http_headers = { " Authorization " = "Bearer YOUR_API_KEY" }
For clients that only support stdio-based MCP servers, use the mcp-remote bridge to connect to Formo’s HTTP-based server.
Ensure Node.js is installed: node --version
Run the following command:
npx mcp-remote https://api.formo.so/v0/mcp/ --header "Authorization: Bearer YOUR_API_KEY"
You can use this with any MCP client that supports stdio transports: {
"mcpServers" : {
"formo" : {
"command" : "npx" ,
"args" : [
"mcp-remote" ,
"https://api.formo.so/v0/mcp/" ,
"--header" ,
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
Most MCP clients support HTTP transport with custom headers. Configure your client with:
Server URL: https://api.formo.so/v0/mcp/
Header: Authorization: Bearer YOUR_API_KEY
If your client only supports stdio transport, use the mcp-remote bridge.
Example queries Try prompts you can ask once Formo is connected.
Troubleshooting
Tools not appearing: Verify your API key has the MCP scope enabled. Check that the URL ends with a trailing slash: https://api.formo.so/v0/mcp/. Restart your AI assistant after configuration changes.
Authentication errors: Ensure the API key is sent as Authorization: Bearer YOUR_API_KEY. Check that the API key has not been revoked.
Wrong project data: Workspace API keys are project-specific. Create or use a key attached to the project you want the MCP client to query.
Claude Desktop not connecting: Ensure Node.js is installed and accessible from the command line. Check Claude Desktop logs: ~/Library/Logs/Claude/ on macOS.