Getting Started with the Functionize MCP Server

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.

How the pieces connect: your AI tool, the hosted Functionize MCP server, and your agent sessions

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.