Cursor connects to the Functionize MCP server directly. It speaks Streamable HTTP and handles OAuth itself, so there is no bridge to install and no Node.js requirement.
Setup is one small config file and a sign-in.
Add the server
Create or edit one of these files:
| Just this project | .cursor/mcp.json in the project root |
| Everywhere | ~/.cursor/mcp.json in your home directoryOn Windows that is %USERPROFILE%\.cursor\mcp.json |
Add the server:
{
"mcpServers": {
"functionize": {
"url": "https://mcp.functionize.com/mcp"
}
}
}
Do not add a type or transport key. Cursor works out
that the server is remote from the presence of url. Adding a transport key — which
other tools do require — is a common copy-paste error here.
You can also add it through the interface: open the sidebar, choose Customize, and use the MCP management screen. Servers have an enable/disable toggle; a disabled server will not load or appear in chat.
Optional: pin a team
If you belong to more than one Functionize team and want this connection to act as a specific one:
{
"mcpServers": {
"functionize": {
"url": "https://mcp.functionize.com/mcp",
"headers": {
"X-Functionize-Team-Id": "12345"
}
}
}
}
Replace 12345 with your team's numeric ID. Omit the header to use whichever team
your web login lands on. Your team ID is not a secret, so it is fine inline — but if you ever add
a genuine credential to this file, use Cursor's ${env:NAME} interpolation rather than
writing it in plain text.
Sign in
Cursor opens your browser the first time it connects. Sign in with the same account you use for Functionize Studio — there is no separate MCP account or password. If your organisation uses SSO, choose the SSO option rather than typing a password.
Cursor registers itself with our server automatically, so there is nothing to configure on our side and no client ID to request.
The sign-in page is hosted at functionize.us.auth0.com. If you are ever asked for
Functionize credentials on another domain, do not enter them.
Check it worked
Ask Cursor to list your Functionize agent sessions. If your team's sessions come back, you are connected. The list is team-wide, so on a shared team you will see colleagues' sessions too.
Ten tools should now be available, covering starting sessions, sending messages, streaming events, attaching files and stopping sessions.
If it does not connect
Check the file is valid JSON. A stray comma after adding the entry is the most common cause of a server that never appears.
Check you have not added a transport key. See above.
Try reopening Cursor. Cursor does not document a restart requirement, but if the server does not appear after editing the file by hand, reopening is a reasonable thing to try.
If the team header seems ignored, confirm the connection is working without it first. Whether a custom header is still sent after an OAuth token is attached is not documented by any MCP client vendor, so test this on your own setup rather than assuming.
For anything else, see Troubleshooting the Functionize MCP Connection.
A note on the Windows path
Cursor's documentation describes the global config as living "in your home directory" without
giving a Windows path. %USERPROFILE%\.cursor\mcp.json is the standard equivalent and
is what we have seen work, but if it does not, use a project-level
.cursor/mcp.json instead, which is documented explicitly.