How to add MCP servers to Windsurf (mcp_config.json)
Configure local and remote MCP servers for Windsurf’s Cascade agent in mcp_config.json: file location, serverUrl for remote servers and turning tools off.
1. Open mcp_config.json
In the Cascade panel, click the … (Actions) menu at the top right and choose Open MCP config file in the MCPs section. According to the current docs the file is at ~/.config/devin/mcp_config.json on macOS and Linux and %APPDATA%\devin\mcp_config.json on Windows (Windsurf is now part of Devin Desktop; older Windsurf releases used ~/.codeium/windsurf/mcp_config.json). Opening it from the menu always gets the right file.
2. Add a local (stdio) server
Add an entry under mcpServers, the same shape Claude Desktop and Cursor use:
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}3. Add a remote server
Remote HTTP servers use serverUrl (or url) instead of a command. Example with the free Socketlist server:
{
"mcpServers": {
"socketlist": {
"serverUrl": "https://socketlist.pages.dev/mcp"
}
}
}Add a headers object if the server needs an API key.
4. Keep secrets out of the file
The config supports ${env:VAR_NAME} and ${file:/path/to/file} in command, args, env, serverUrl, url and headers.
5. Turn servers and tools on or off
The MCPs section of the Actions menu lists each server with a toggle. To hide single tools, add "disabledTools": ["tool_name"] to a server entry. Cascade can use at most 100 tools at a time.
Notes
This applies to the Cascade agent. The newer Devin Local agent keeps MCP servers in the Devin CLI config instead. Source: the official Cascade MCP documentation.