Connect VS Code and GitHub Copilot to the Functionize MCP Server

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.json
workspace, VS Code's own format
top-level key is servers
.mcp.json
repository 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.