Exode MCP in VS Code: Setup for Copilot Agent Mode
To add the Exode MCP server in VS Code, open the MCP Servers list from the Command Palette, choose Add Server, then Command (stdio), and enter npx -y claude-exode-mcp. The config file uses a top-level servers key, not mcpServers, which is the mistake people make when pasting a Claude or Cursor entry.
VS Code is the client where the config format is most likely to trip you up, because it changed. The guided flow now writes to more than one destination, and the key inside the file is not the same as in other tools.
This page covers the guided flow, the file format, the destinations worth knowing about, and how to check that the agent can actually call the server.
Add the server from the Command Palette
Open the Command Palette and run Chat: Open Customizations, then pick MCP Servers, or run MCP: Add Server directly. Choose Add Server, pick the configuration group, then choose Command (stdio) because Exode is a local command server.
Enter npx as the command with -y claude-exode-mcp as its arguments, and give it a server ID such as exode that is not already used in that file. VS Code then writes the entry for you, which avoids the key-name mistake entirely.
The config file, and why the key differs
The VS Code format uses a top-level servers object. Portable MCP configs, the kind Claude and Cursor use, use mcpServers. VS Code documents this difference explicitly and warns against copying config between the two without checking the format.
The workspace file is .vscode/mcp.json. VS Code labels that destination deprecated in the guided flow, but it still works and it is what most existing tutorials show. The current guided flow also offers a global Copilot location that writes to mcp-config.json under your Copilot home, and a workspace-root .mcp.json for sharing with compatible Copilot tools.
{
"servers": {
"exode": {
"type": "stdio",
"command": "npx",
"args": ["-y", "claude-exode-mcp"],
"env": { "WORKSPACE_ROOT": "${workspaceFolder}" }
}
}
}Verify the first tool call
A saved config is not proof that the agent can use the server. Start an agent session and ask something small that must use a tool, such as "list the .exode files in this workspace with the exode server". Then open the tool call in the session and check that it ran.
If no call appears, the server is not connected. If a call appears and fails, the connection is fine and the problem is the workspace root or the path you gave.
Prompting in agent mode
VS Code agent mode has your open files and the project context, so a prompt can point at a real component and ask for the motion in the .exode file. Keep the file path in the prompt: without it, the agent may write React animation code instead of changing the artboard.
Using the exode server, open artboards/nav.exode.
The hamburger should morph into a close icon: two states, MenuOpen and MenuClosed,
driven by a boolean "menuOpen". 220ms, ease out, and a slight stagger on the two bars.
Leave the rest of the nav untouched. Then run validate_artboard on the file.When it will not connect
Check the order things happen in. The config has to be saved, the server has to start, and the runtime it needs has to exist on the machine that runs it. A command server needs Node.js and npx available in the environment VS Code launches it from, which is not always your terminal environment.
If you paste a config from another tool and the editor shows the entry but never starts it, the servers-versus-mcpServers key is the first thing to check.
- Saved but not started: reload the editor window.
- Started, zero tools: run npx -y claude-exode-mcp in a terminal to see the error.
- Tools present, path errors: set WORKSPACE_ROOT explicitly.
- Nothing at all: confirm the entry is in the file the current flow reads.
Frequently asked questions
We make ExodeUI and its MCP server. Treat what an agent produces as a draft, the same way you would treat code from a new teammate.
ExodeUI runs in the browser and on desktop. One .exode file plays in React, Vue, Svelte, Angular, Solid, React Native, SwiftUI and Flutter.