Gemini CLI connects to the Functionize MCP server natively. It speaks Streamable HTTP, discovers our OAuth configuration on its own, and opens your browser to sign in. No bridge, no Node.js requirement beyond Gemini CLI itself.
The quickest route
gemini mcp add --transport http functionize https://mcp.functionize.com/mcp
To pin a specific team at the same time:
gemini mcp add --transport http \
--header "X-Functionize-Team-Id: 12345" \
functionize https://mcp.functionize.com/mcp
Then start Gemini CLI and run /mcp to check the connection. If it needs
authenticating, run /mcp auth functionize and complete the sign-in in your
browser.
Adding it by hand
Edit one of these:
| You, everywhere | ~/.gemini/settings.jsonWindows: %USERPROFILE%\.gemini\settings.json |
| One project | .gemini/settings.json in the project root |
{
"mcpServers": {
"functionize": {
"httpUrl": "https://mcp.functionize.com/mcp",
"headers": {
"X-Functionize-Team-Id": "12345"
},
"timeout": 600000
}
}
}
Use httpUrl, not url. This is the one thing to get
right. In Gemini CLI, url selects the legacy SSE transport — it will not error, it
will simply connect the wrong way to our Streamable HTTP endpoint. If you have copied a config
from another tool's documentation, this is almost certainly what is wrong.
The headers block is optional; omit it to act as whichever team your web login
lands on. timeout is in milliseconds and defaults to 600000, or ten
minutes.
Leave OAuth settings out entirely. Gemini CLI discovers our authorization and token endpoints automatically the first time it gets a 401, then opens your browser.
Sign in
On first use, Gemini CLI opens your browser and listens on a local callback port. Sign in with the same account you use for Functionize Studio — there is no separate MCP account. If your organisation uses SSO, choose the SSO option rather than typing a password.
Tokens are stored at ~/.gemini/mcp-oauth-tokens.json. Deleting that file forces a
fresh sign-in, which is the first thing to try if a previously working connection stops
authenticating.
The sign-in page is at functionize.us.auth0.com. If you are ever asked for
Functionize credentials on another domain, do not enter them.
Check it worked
In a Gemini CLI session:
/mcp
That shows connection status and the available tools. Then ask it to list your Functionize agent sessions. The list is team-wide, so on a shared team you will see colleagues' sessions too.
Useful commands
gemini mcp list | Show configured servers |
gemini mcp remove functionize | Remove the entry |
/mcp | Status and tools, inside a session |
/mcp auth | List servers needing authentication |
/mcp auth functionize | Authenticate, or re-authenticate after a token expires |
Known limitations
Sign-in needs a browser on the same machine. The OAuth callback is served on a local port, so this does not work headless, over SSH without display forwarding, or in a container with no browser. If you work that way, authenticate once on a desktop machine and carry the token file across.
Do not set trust: true. It bypasses every tool-call confirmation
for that server, including writes.
If the team header seems ignored, confirm the connection works without it first. Whether a static header is still sent once an OAuth token is attached is not documented by any MCP client vendor, so verify it on your own setup rather than assuming.
For anything else, see Troubleshooting the Functionize MCP Connection.