VS Code connects to the Functionize MCP server natively in GitHub Copilot's agent mode. It handles Streamable HTTP and OAuth itself — including registering with our server automatically — so there is no bridge and no Node.js requirement.
You need VS Code 1.102 or later, where MCP support became generally available. Streamable HTTP arrived in 1.100 and OAuth in 1.101, so any current build is fine.
The easy way
Open the Command Palette and run MCP: Add Server. Choose an HTTP server, paste
https://mcp.functionize.com/mcp, and pick whether to add it for this workspace or for
you globally. VS Code writes the configuration for you.
If you would rather edit the file directly, read on.
Adding it by hand
This is where people trip up: the key name depends on which file you use.
.vscode/mcp.jsonworkspace, VS Code's own format |
top-level key is servers |
.mcp.jsonrepository root, portable format |
top-level key is mcpServers |
| Your user profile | run MCP: Open User Configuration from the Command Palette |
Use the command rather than hunting for the user-profile file — VS Code does not publish that path, and it moves with profiles.
In .vscode/mcp.json:
{
"servers": {
"functionize": {
"type": "http",
"url": "https://mcp.functionize.com/mcp"
}
}
}
"type": "http" is required. VS Code will not infer the transport.
Use http for Streamable HTTP — sse is the legacy transport and is not
what our server expects.
Optional: pin a team
{
"servers": {
"functionize": {
"type": "http",
"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 your active
team. A team ID is not a secret, so a literal value is fine here — VS Code's documentation warns
against hardcoding genuine secrets and offers ${input:...} variables for those.
You do not need the optional oauth block. It exists for servers that issue static
client IDs; ours supports dynamic registration, so VS Code will register itself.
Sign in
VS Code opens your browser on first connection. Sign in with the same account you use for Functionize Studio. If your organisation uses SSO, choose the SSO option rather than typing a password.
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
Run MCP: List Servers to confirm Functionize is connected, then open Copilot in agent mode and ask it to list your Functionize agent sessions. The list is team-wide, so on a shared team you will see colleagues' sessions as well as your own.
If it does not connect
Check the key name matches the filename. servers in
.vscode/mcp.json, mcpServers in .mcp.json. Mixing them is
the single most common mistake.
Check "type": "http" is present.
To force a clean sign-in, run Authentication: Remove Dynamic Authentication Providers from the Command Palette, then reconnect. This is the VS Code equivalent of clearing a cached token.
Two documented limitations worth knowing. MCP server sandboxing is not
available on Windows. And servers defined in .vscode/mcp.json that use interactive
input variables are not forwarded in remote sessions.
For anything else, see Troubleshooting the Functionize MCP Connection.