Connect Claude Code to the Functionize MCP Server

Claude Code speaks HTTP MCP and OAuth natively, so connecting it to Functionize takes two commands and a sign-in. There is no bridge to install and nothing to copy and paste back into the terminal.

These steps are identical on macOS and Windows.

If you have not read Getting Started with the Functionize MCP Server, it is worth two minutes first — it covers what the server does and what you need.

Connecting Claude Code: add the server, run /mcp, sign in, done

The fastest way: let Claude do it

Claude Code can set this up itself. Open Claude Code in any project and paste the prompt below exactly as it is. It will run the commands and tell you when to sign in.

Connect me to the hosted Functionize MCP server.

1. Run: claude mcp list
   Remove any entry whose URL contains internal-dev.functionize.com, or any
   Functionize-named entry that is not the stdio @functionize/mcp package.
   Leave the stdio "functionize" entry alone if it exists.

2. Run: claude mcp add --transport http functionize-hosted https://mcp.functionize.com/mcp

3. Confirm it was added with: claude mcp list

4. Then STOP and tell me to run /mcp myself, select functionize-hosted, and
   authenticate in the browser. Do not use the authenticate or
   complete_authentication tools - those are only for when the browser opens on a
   different machine, and they reintroduce copy/paste.

Run the commands, do not just print them.

When it tells you to, run /mcp, pick functionize-hosted, and sign in. Then skip to Check it worked.

If you would rather do it by hand, or the prompt does not work in your setup, the manual steps follow.

Manual setup

Step 1 — Clear out any old connection

If you connected to an earlier internal build of this server, remove that entry first. An entry pointing at internal-dev.functionize.com will not work from outside our network, and having both is confusing.

claude mcp list

Remove anything whose URL contains internal-dev.functionize.com, or any Functionize-named entry you no longer recognise:

claude mcp remove <name>

If you have the stdio @functionize/mcp package configured, leave it alone. It is a different, still-valid connection.

Step 2 — Add the server

claude mcp add --transport http functionize-hosted https://mcp.functionize.com/mcp

That writes an http server entry into your Claude Code configuration. If you want to see what it produced, the equivalent JSON under mcpServers looks like this:

"functionize-hosted": {
  "type": "http",
  "url": "https://mcp.functionize.com/mcp",
  "oauth": { "callbackPort": 8080 }
}

The configuration file is at ~/.claude.json on macOS and %USERPROFILE%\.claude.json on Windows, though you should not normally need to edit it by hand.

Optional: pin a team

If you belong to more than one Functionize team and want this connection to act as a specific one, add the header when you create the entry:

claude mcp add --transport http functionize-hosted \
  https://mcp.functionize.com/mcp \
  --header "X-Functionize-Team-Id: 982"

Replace 982 with your team's numeric ID. Omit the header entirely to use whichever team your web login lands on. The server checks your membership on every request and refuses with a 403 if you are not in the team you named.

Step 3 — Sign in

Run:

/mcp

Select functionize-hosted from the list and choose to authenticate. Claude Code then opens your browser to sign in with your Functionize account, captures the response automatically, and stores the tokens for you.

Sign in with the same credentials you use for Functionize Studio. The MCP server has no separate account and no separate password. If your organisation signs you in through SSO, use the SSO option on that screen rather than typing a password — and if you have only ever reached Functionize through SSO, you may not have a password set at all.

The sign-in page is hosted at functionize.us.auth0.com. If you are ever prompted for Functionize credentials on a different domain, do not enter them.

You will be prompted to re-authenticate automatically whenever the token expires.

Step 4 — Check it worked

Ask Claude Code:

list my Functionize agent sessions

It should call list_agent_sessions and return your team's sessions. Remember that the list is team-wide, so on a shared team you will see your colleagues' sessions too.

All ten tools should now be available. You can confirm with /mcp.

Why there is no copy and paste here

You may have seen MCP connections that ask you to copy an authorisation code back into the terminal. That is not needed here, and it is worth knowing why so you do not go looking for it.

Our OAuth broker permits loopback redirect URIs, so Claude Code can start a listener on a local port and have the authorisation code redirected straight back to it. The client captures the code itself.

The server does expose authenticate and complete_authentication tools that involve copying a code, but those exist only for the case where your browser opens on a different machine from your client, so no local listener can catch the redirect. When the browser and Claude Code are on the same machine — which is almost always — use /mcp and ignore those tools.

If something goes wrong

See Troubleshooting the Functionize MCP Connection, which covers sign-in problems, stale tokens, and connections that appear but return nothing.