Looking to connect to third party? Use this redirect URL: https://api.fluso.ai/v1/mcp-oauth/callback
How it works
When you connect a server, Fluso checks what kind of sign-in it uses, asks you for exactly that, and stores the result encrypted on the backend. Sign-in happens in a popup on the server’s own login page, like Gmail or Slack. After that, the runtime fetches a fresh token from the backend whenever a tool needs one. You don’t run a tunnel. You don’t paste secrets into a config file. You don’t configure a callback URL.Two ways to connect
You can add a server from the dedicated MCP tab, or by asking in chat. The MCP tab. Open Customization in the left sidebar, then the MCP tab. Click Add MCP server, paste a URL, click through the dialog, done. Use this when you already know the URL. Chat. Ask Fluso to “connect to Linear MCP”, or paste a docs page and let it figure out the endpoint. The same sign-in card shows up inline in the conversation. Use this when you’re not sure the service even has an MCP endpoint. Both paths land at the same place. A server added in chat shows up in the MCP tab. A server added in the MCP tab is usable in chat from the next message on.Where to find them

Adding a server
Click Connect a server (or Add MCP server, once you have any connected). A dialog opens.
OAuth
The one-click case. The server supports OAuth 2.1 with Dynamic Client Registration. Fluso registers itself on the fly and shows you a single Authorize button. Click it. A popup opens on the server’s own sign-in page. Approve. The popup closes. The row appears in the list. This is what Linear, Notion, Asana, Atlassian, Sentry, Cloudflare, and most modern MCP servers look like.OAuth (BYO)
OAuth, but the server doesn’t let Fluso register itself. You go to the server’s developer console, register an app yourself, and bring the credentials back.
API key
The server has no OAuth. It expects a key in an HTTP header.
X-Api-Key. Change it if your server uses something else. Click Save.
Bearer
A bearer token, sent asAuthorization: Bearer <token>.

Whatever you paste goes straight to the backend over HTTPS and is stored encrypted at rest, the same way OAuth tokens are. It never sits in the browser. It doesn’t appear in logs.
Signing in
For the OAuth tabs, Authorize opens a popup on the server’s sign-in page.


Managing connections



Connection lifecycle
MCP connections live in the backend, not in the chat or the agent’s runtime sandbox. That has a few consequences worth knowing. Connections are per account, not per session. Sign in once on any device. The connection is there in every new chat, on every other device you sign in to Fluso from, and it survives if we restart your runtime sandbox in the background. The sandbox is ephemeral. Your connections aren’t. Each chat runs in a per-user sandbox that we recycle on deploys, on long idles, or if it crashes. When a fresh sandbox starts, the agent asks the backend for your connected servers and rebuilds its workspace config files. No re-authorization. Mid-chat sandbox restarts are invisible to you. The runtime never stores tokens. Tools call the backend for a short-lived access token per request, use it, drop it. Even if a sandbox were compromised, the on-disk state is config (URLs, server IDs, scopes), not secrets. Tokens refresh in the background. While a connection is Connected, Fluso renews tokens before they expire. You only see this when refresh fails, which is what flips the row to Needs reauth. Disconnect is immediate. From the next message on, no agent in any chat or sandbox can call that server’s tools. The row, the workspace config, and the stored token all go away.Adding a server from chat
If you don’t know whether a service has an MCP endpoint, don’t go hunting. Ask Fluso.“Connect to Linear MCP.”
“Set this up: https://developers.asana.com/docs/mcp.”Fluso reads whatever docs you point it at, finds the endpoint, and surfaces the same sign-in card right in the chat. The green check, the popup, the automatic wait, all of it. You sign in. The card flips to Connected. Fluso carries on with whatever you actually asked for. Servers added in chat show up in the MCP tab. Servers added in the MCP tab are usable from chat. One list, two ways in.
When a service is both an MCP and a connector
You can connect Linear as a connector and as an MCP server. You can connect both. When both exist, the MCP server wins. Fluso uses MCP tools first and falls back to the connector only if the MCP can’t satisfy a request. This is deliberate. A custom MCP you set up is almost always more specific to your workflow than a generic connector. If you find yourself preferring the connector’s behavior, disconnect the MCP server. The same rule applies in reverse for capabilities. If a connected MCP server covers what a connector would do, Fluso won’t ask you to add the connector. The MCP is enough.Troubleshooting
Fluso can't find the server's sign-in metadata
Fluso can't find the server's sign-in metadata
The URL is probably the docs page, not the MCP endpoint. Try
mcp.<service>.com or <service>.com/mcp.The row stays on "Needs reauth" after a Reconnect
The row stays on "Needs reauth" after a Reconnect
The server returned a sign-in Fluso can’t use. Disconnect the row and add the server fresh.
The dialog rejected my URL as "private or reserved address space"
The dialog rejected my URL as "private or reserved address space"
Working as intended. The public app can’t point at internal IPs. Expose the server publicly behind its own auth, or run Fluso against a backend that can reach it.
Sign-in fails with no clear reason
Sign-in fails with no clear reason
Usually one of: you denied consent, the server’s app config is broken, the scopes don’t match the account you signed in with. Check the server’s docs.
The dialog says "DCR rejected"
The dialog says "DCR rejected"
The server advertises Dynamic Client Registration but rejected Fluso. Click Try again, or switch to OAuth (BYO) and register an app yourself.

Things to know
- Any MCP server works. Modern OAuth, OAuth without auto-registration, plain API keys, bearer tokens. Nothing gets blocked because of how the server handles sign-in.
- All credentials are stored encrypted. OAuth tokens, API keys, bearer tokens, client secrets. Never in logs. Never in plain text.
- Sign-in is between you and the server. Fluso never sees your password. The server hands back a token. That’s what we keep.
- Disconnect is local. It removes Fluso’s access on our side. To revoke it on the server too, do that from the server’s settings.