Design PCBs from Cursor, VS Code and Windsurf
One mcp.json entry per editor. The agent in your IDE can then design a board, check it and export it while you work on the firmware next to it.
Cursor
Use ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one project.
With a personal access token
{
"mcpServers": {
"pcbeditor": {
"url": "https://api.robodib.com/mcp",
"headers": {
"Authorization": "Bearer ${env:PCBEDITOR_TOKEN}"
}
}
}
}Create the token at pcbeditor.com/profile/ai-tools and set PCBEDITOR_TOKEN in your shell profile or system environment, then restart Cursor. Remote servers do not read an envFile, so the variable has to be in the environment Cursor starts from.
With OAuth sign-in
Cursor supports OAuth for remote servers. Leave out the headers and Cursor runs the sign-in in your browser, where you approve access on PCBEditor’s consent page.
{
"mcpServers": {
"pcbeditor": {
"url": "https://api.robodib.com/mcp"
}
}
}VS Code with GitHub Copilot
VS Code’s format uses a top-level servers object, not mcpServers. Put this in .vscode/mcp.json for one workspace, or run MCP: Open User Configuration from the Command Palette to add it for every workspace.
With OAuth sign-in
{
"servers": {
"pcbeditor": {
"type": "http",
"url": "https://api.robodib.com/mcp"
}
}
}VS Code implements the MCP authorization specification with dynamic client registration, so the PCBEditor consent page opens in your browser the first time the server starts.
With a personal access token
An input of type promptString with password set asks for the token once and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "pcbeditor-token",
"description": "PCBEditor personal access token (pcbe_...)",
"password": true
}
],
"servers": {
"pcbeditor": {
"type": "http",
"url": "https://api.robodib.com/mcp",
"headers": {
"Authorization": "Bearer ${input:pcbeditor-token}"
}
}
}
}From the command line
code --add-mcp '{"name":"pcbeditor","type":"http","url":"https://api.robodib.com/mcp"}'This adds the OAuth form to your user configuration. In Copilot Chat, switch to agent mode and the PCBEditor tools appear in the tools list.
Windsurf (Devin Desktop)
Windsurf was renamed Devin Desktop in June 2026; its MCP format did not change. Open the raw MCP config from the app’s MCP settings and add:
{
"mcpServers": {
"pcbeditor": {
"serverUrl": "https://api.robodib.com/mcp",
"headers": {
"Authorization": "Bearer ${env:PCBEDITOR_TOKEN}"
}
}
}
}Leave out the headers to use the OAuth sign-in instead; the docs list OAuth support for Streamable HTTP servers. Refresh the MCP list after saving.
Common questions
- Can Cursor design a PCB?
- With PCBEditor's MCP server connected, Cursor's agent can ask PCBEditor for a complete board from a description: parts, schematic, placement, autorouting and a design-rule check. It is useful next to firmware: the agent can design the board and read its pin assignments while you write the code.
- Where does the token go?
- In an environment variable. Cursor reads it with ${env:NAME} in the headers; VS Code can prompt for it once with a password input. Neither file then holds the token, so it is safe to commit a project config.
- Does VS Code support the OAuth sign-in?
- Yes. VS Code implements the MCP authorization specification, including dynamic client registration. Add the server with its URL only and VS Code opens the PCBEditor consent page in your browser the first time the server is used.
- Is Windsurf still called Windsurf?
- Cognition renamed Windsurf to Devin Desktop in June 2026. The MCP configuration format is the same: serverUrl and headers, with ${env:VAR} for secrets.
The server needs a free PCBEditor account. Clients that support MCP sign-in open a consent page in your browser; for the rest, create a personal access token.