Skip to main content
Watch: I Built an AI App Without Leaving Databricks

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.

JSON
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}

Source: docs.devin.ai/desktop/cascade/mcp

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.

Windsurf MCP features, transports and OAuth, each with its source
FeatureValueSource
ToolsCalls the functions a server exposes.Yesdocs.devin.ai/desktop/cascade/mcp
ResourcesReads data and files a server exposes as resources.Yesdocs.devin.ai/desktop/cascade/mcp
PromptsOffers a server's prompt templates to the user.Yesdocs.devin.ai/desktop/cascade/mcp
SamplingLets a server ask the client's model for a completion.Not statedDocs do not say
RootsTells a server which directories it may work in.Not statedDocs do not say
ElicitationLets a server ask the user for input mid-task.Not statedDocs do not say
DiscoveryPicks up tools, prompts or resources a server adds or removes while connected.Not statedDocs do not say
InstructionsUses the instructions a server sends when it connects.Not statedDocs do not say
stdioStarts a local server as a subprocess.Yesdocs.devin.ai/desktop/cascade/mcp
Streamable HTTPConnects to a remote server over the current HTTP transport.Yesdocs.devin.ai/desktop/cascade/mcp
SSEConnects over the older HTTP+SSE transport.Yesdocs.devin.ai/desktop/cascade/mcp
OAuthSigns in to remote servers with OAuth.Yesdocs.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.

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.

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.