MCP client - Cognition - verified
How to add an MCP server to Windsurf
Where to add MCP servers in Windsurf: macOS / Linux: ~/.config/devin/mcp_config.json (or $XDG_CONFIG_HOME/devin/mcp_config.json); Windows: %APPDATA%\devin\mcp_config.json. Its docs list support for stdio, Streamable HTTP and SSE. It handles OAuth sign-in for remote servers.
Windsurf homepage - Windsurf in our tools directory - Compare all MCP clients
- Kind
- Editor
- stdio
- Yes
- Streamable HTTP
- Yes
- SSE
- Yes
Add a server
- Where the config lives
- macOS / Linux: ~/.config/devin/mcp_config.json (or $XDG_CONFIG_HOME/devin/mcp_config.json); Windows: %APPDATA%\devin\mcp_config.json
The example from the Windsurf docs, copied verbatim. Swap in your server's name, command or URL.
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
}
}
}
}Which server?
Pick a server from the verified directory of official MCP servers. Each one lists its transport, auth and the setup snippets its vendor publishes, so you can match it to what Windsurf supports.
MCP support
What the Windsurf docs say it supports. Not stated means the docs do not say either way.
| Feature | Value | Source |
|---|---|---|
| ToolsCalls the functions a server exposes. | Yes | docs.devin.ai/desktop/cascade/mcp |
| ResourcesReads data and files a server exposes as resources. | Yes | docs.devin.ai/desktop/cascade/mcp |
| PromptsOffers a server's prompt templates to the user. | Yes | docs.devin.ai/desktop/cascade/mcp |
| SamplingLets a server ask the client's model for a completion. | Not stated | Docs do not say |
| RootsTells a server which directories it may work in. | Not stated | Docs do not say |
| ElicitationLets a server ask the user for input mid-task. | Not stated | Docs do not say |
| DiscoveryPicks up tools, prompts or resources a server adds or removes while connected. | Not stated | Docs do not say |
| InstructionsUses the instructions a server sends when it connects. | Not stated | Docs do not say |
| stdioStarts a local server as a subprocess. | Yes | docs.devin.ai/desktop/cascade/mcp |
| Streamable HTTPConnects to a remote server over the current HTTP transport. | Yes | docs.devin.ai/desktop/cascade/mcp |
| SSEConnects over the older HTTP+SSE transport. | Yes | docs.devin.ai/desktop/cascade/mcp |
| OAuthSigns in to remote servers with OAuth. | Yes | docs.devin.ai/desktop/cascade/mcp |
Worth knowing
docs.windsurf.com/windsurf/cascade/mcp now redirects to the Devin Desktop docs, which say this mcp_config.json setup applies only to the legacy Cascade agent, with a 100-tool limit.
Other editors
FAQ
Where is the Windsurf MCP config?
macOS / Linux: ~/.config/devin/mcp_config.json (or $XDG_CONFIG_HOME/devin/mcp_config.json); Windows: %APPDATA%\devin\mcp_config.json. The example on this page is copied from https://docs.devin.ai/desktop/cascade/mcp
Does Windsurf support remote MCP servers over Streamable HTTP?
Yes, per https://docs.devin.ai/desktop/cascade/mcp. Its docs list support for stdio, Streamable HTTP and SSE.
Does Windsurf support OAuth for MCP servers?
Yes. It handles OAuth sign-in for remote servers. Source: https://docs.devin.ai/desktop/cascade/mcp
Which MCP features does Windsurf support?
Its docs list Tools, Resources and Prompts. They do not state Sampling, Roots, Elicitation, Discovery and Instructions.
Sources
Last verified from the pages below.
- Cascade MCP Integration (redirected from docs.windsurf.com) - docs.devin.ai
Newsletter
New MCP servers, the week they ship
One email per week. New official MCP servers, the coding tools that support them and how developers wire them up.