The Functionize MCP server lets an AI client — Claude Code, Claude Desktop, Gemini CLI, or anything else that speaks the Model Context Protocol — work directly with your Functionize agent sessions. You can start a session, send it messages, stream its events, attach files and images, and stop it again, all without leaving the client you already work in.
This article covers what the server is, what you need before you start, and which connection method to use. The step-by-step instructions live in two companion articles, one per client.
Which connection you want
There are two ways to reach Functionize over MCP, and they are not the same thing.
| Hosted server (recommended) |
stdio package (@functionize/mcp) |
|
| Where it runs | An always-on server we maintain | A binary on your own machine |
| Sign-in | Your Functionize account, in the browser | An API key and secret you paste in |
| Tools available | All 10 | 3 |
| Network | Public internet over HTTPS — no VPN required | Anywhere |
The hosted server is at https://mcp.functionize.com/mcp and is the one these
guides describe. The two can coexist: if you already have the stdio package configured, adding
the hosted server does not disturb it, because it is a separate, separately named entry.
What you get
Once connected, ten tools become available to your client:
-
start_agent_session— begin a new agent session -
send_agent_message— send a message into a session -
get_agent_session— read a session's current state -
get_agent_session_events— read a session's event log -
stream_agent_session_events— follow events as they happen -
list_agent_sessions— list the sessions on your team -
list_agent_teams— list the teams you belong to -
stop_agent_session— stop a running session -
upload_session_file— attach a file or image to a session -
delete_session_file— remove an attachment
Note that list_agent_sessions is team-wide. On a shared team it returns sessions
started by your colleagues as well as your own.
Before you start
Everyone
- A Functionize account. Sign-in works with a password or with Google and enterprise SSO — there is nothing to provision in advance.
- An internet connection. The server is a public HTTPS endpoint, so no VPN, Tailscale, or network allow-listing is required.
Claude Desktop users only
Node.js 18 or newer. Claude Desktop reaches the server through a small local bridge that runs on Node. Claude Code does not need this.
Check what you have:
node --version
If that command is not found, or reports a version below 18, install Node from
nodejs.org. On macOS you can also use
brew install node.
Choose your guide
| Claude Code | The simplest path. Claude Code speaks HTTP MCP and OAuth natively — two commands, no bridge, nothing to copy and paste. Works the same on macOS and Windows. |
| Claude Desktop | Needs Node.js and a small edit to a configuration file. Paths differ between macOS and Windows; both are covered. |
If you use both, you can connect both. They are independent.
A note on teams
By default the connection acts as your active team — the one your web login lands on.
If you belong to more than one team and want a connection pinned to a specific one, both guides
show how, using the X-Functionize-Team-Id header. The server checks that you are a
member of the team you name and refuses the request if you are not.
To find your team IDs, connect first and then ask your client to list your Functionize teams.
The list_agent_teams tool returns them by name, flags the default, and tells you
which team the current connection is acting as.