
How to add an MCP server to Windsurf (now Devin Desktop)
Windsurf is now Devin Desktop. Add MCP servers from Customize, MCPs or the .devin/mcp_config.json files.
- Local servers
- Yes
- runs stdio servers
- Hosted servers
- Yes
- connects by URL
- Config
- JSON
- how servers are added
- Picks
- 5
- ranked
Windsurf is now Devin Desktop. Add MCP servers from Customize, MCPs or the .devin/mcp_config.json files.
Good for
- Windsurf users who now see Devin Desktop and want MCP servers back
- Teams sharing servers in .devin/mcp_config.json
- People keeping personal keys in .devin/mcp_config.local.json
- Admins who restrict servers with an allowlist or MCP registry
Install Windsurf
Windsurf
- 1
Click Customize in the agent sidebar of the Agents window.
- 2
Open the MCPs tab.
- 3
Pick the scope with the Install MCPs for selector, for example This computer.
- 4
Under Available, click Install on a server from your MCP registries.
- 5
Under This computer, toggle a server on or off, open its config file, or refresh the list.
Windsurf is now Devin Desktop (June 2, 2026), so the docs describe this as the Devin Local agent. Before v3000.3 (the Local 3.6 release) servers lived under mcpServers in config.json; newer versions use the dedicated mcp_config.json files and migrate old entries on startup. Keep personal keys in .devin/mcp_config.local.json, which is gitignored.
From the vendor's docs. Source.
At a glance
- Add a server
- Customize, then the MCPs tab
- Config file (project, shared)
- .devin/mcp_config.json
- Config file (local override)
- .devin/mcp_config.local.json, gitignored
- Top-level key
- mcpServers
- Transports
- stdio, Streamable HTTP, SSE
- Sign in (OAuth)
- Supported for each transport; devin mcp login <name>
- Local server fields
- command, args, env, disabled
- Remote server fields
- url, transport, headers, oauthClientId, oauthClientSecret, oauthResource
- Tool approval
- Prompts before calling any MCP tool by default
- Team controls
- MCP allowlist and MCP registry for enterprise admins
- Tool limit
- Not stated in the docs
Add an MCP server to Windsurf (Devin Desktop)
- 1
Open the MCPs tab
Click Customize in the agent sidebar of the Agents window, then open MCPs. Use Install MCPs for to pick the scope, for example This computer. Available lists servers from your MCP registries; click Install on one to add it.
- 2
Or choose a config file
Project, shared with your team:
.devin/mcp_config.json. Personal and gitignored:.devin/mcp_config.local.json. All projects:~/.config/devin/mcp_config.json(%APPDATA%\devin\mcp_config.jsonon Windows). - 3
Add a local server (stdio)
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "<your-token>" } } } }Put the token in
.devin/mcp_config.local.jsonso it stays out of version control.Uses GitHub MCP Server
- 4
Or add a remote server by URL
{ "mcpServers": { "notion": { "url": "https://mcp.notion.com/mcp", "transport": "http" } } }For an OAuth server, run
devin mcp login notion, or click Authenticate when the server shows Needs authentication. Remote servers try Streamable HTTP first; set"transport": "sse"for a legacy SSE endpoint. - 5
Check it loaded
Open Customize, MCPs, This computer and look for the server. Use the list's refresh action after you edit a file. In the Devin CLI,
devin mcp listshows every configured server. - 6
Use it in a prompt
The agent asks for approval before it calls an MCP tool. You can allow one tool or every tool on that server, for the session or permanently.
PromptList my open GitHub issues for this repository and summarize the three oldest.Uses GitHub MCP Server
- 7
If it does not work
Check for a Needs authentication state and click Authenticate. If tools are missing, ask the agent to list MCP servers and tools, since a server can need a moment to start. For a stdio server, run its command in a terminal to confirm it starts and that its environment variables are set.
Best MCP servers for Windsurf
Official servers with an approved PlugWiki page that run in Windsurf (Devin Desktop) over stdio or HTTP; ordered by GitHub stars, then name. Derived from data we hold.
- 1
Context7OfficialHosted or LocalAPI keyGives the agent current library docs while it writes code.
64,001 GitHub stars - 2
Playwright MCPOfficialLocalLets the agent drive and test your app in a real browser.
38,887 GitHub stars - 3
GitHub MCP ServerOfficialHosted or LocalOAuthPull requests, issues and code search beyond what git can do.
34,115 GitHub stars - 4
sentry-mcpOfficialHosted or LocalOAuthPulls Sentry errors into the agent so it can find the cause.
952 GitHub stars - 5
Notion MCPOfficialHostedOAuthRead and edit specs and notes in Notion through its hosted server.
MCP servers that work in Windsurf
40 · official first, then servers with a page, then by stars
Scrapling MCP ServerOfficialLocalNo sign-inWeb scraping with stealth HTTP, real browsers, and Cloudflare bypass. CSS selectors supported.
90.6K GitHub stars
Context7OfficialHosted or LocalAPI keyUp-to-date docs for AI agents
64K GitHub stars
Chrome DevTools MCPOfficialLocalMCP server for Chrome DevTools
54.5K GitHub stars
Playwright MCPOfficialLocalPlaywright MCP server
38.9K GitHub stars
GitHub MCP ServerOfficialHosted or LocalOAuthGitHub's official MCP server. Lets an AI assistant read code, manage issues and pull requests, check Actions runs and security alerts. Hosted at api.githubcopilot.com/mcp or run locally with Docker or a Go binary.
34.1K GitHub stars
OpenWork MCP GatewayOfficialHostedOAuthYour OpenWork org's skills, plugins, workflows, and connections through one OAuth MCP URL.
24.3K GitHub stars
MCP Toolbox for DatabasesOfficialLocaltoken in envMCP Toolbox for Databases enables your agent to connect to your database.
16.8K GitHub stars
apify-mcp-serverOfficialHosted or LocalOAuthExtract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
14K GitHub stars
SeleniumBase MCPOfficialLocalNo sign-inStealthy browser automation, testing, and web-scraping via CDP Mode.
13.2K GitHub stars
AutoClipOfficialLocalNo sign-inClip long videos into short clips with covers and captions. Local CLI and MCP.
9.9K GitHub stars
Firecrawl MCP ServerOfficialHosted or LocalAPI keyFirecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
7.7K GitHub stars
firecrawl-mcp-serverOfficialLocalAPI keyOfficial Firecrawl MCP server, the context API for AI agents: search, scrape, and interact with the web, plus parse, crawl, map, Agent and Monitor, from any MCP client.
7.7K GitHub stars
MobileBuildMCPOfficialLocalBuild, run and test iOS and macOS apps, drive the simulator and debug with LLDB from your AI assistant. Formerly XcodeBuildMCP.
6.5K GitHub stars
magic-mcpOfficialLocalAPI keyIt's like v0, but in your Cursor / Claude Code / Windsurf: search 10,000+ React/Tailwind components, generate new UI with AI, and publish your own — right from your editor. Magic MCP is now the 21st MCP; this package keeps old configs working. Setup: 21st.dev/mcp
6.3K GitHub stars- Excalidraw MCPOfficialHosted or LocalNo sign-in
Official Excalidraw MCP App server: streams hand-drawn diagrams into the chat with interactive fullscreen editing. Hosted or local.
5.6K GitHub stars
Exa MCP ServerOfficialHosted or LocalOAuthConnect AI agents to Exa for web search, content fetching, and multi-step research.
5.2K GitHub stars
notion-mcp-serverOfficialLocaltoken in envOfficial Notion MCP Server
4.7K GitHub stars
mcp-grafanaOfficialHosted or LocalAn MCP server giving access to Grafana dashboards, data and more.
3.6K GitHub stars- Google Analytics MCP ServerOfficialLocaltoken in env
Google's official Google Analytics MCP server: runs locally and queries GA4 reports and property settings with your Google credentials. Read-only unless you add the --allow-write flag.
3.6K GitHub stars
SupabaseOfficialHosted or LocalOAuthMCP server for interacting with the Supabase platform
3K GitHub stars
Show all 40Show fewer
brightdata-mcpOfficialLocaltoken in envA powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access.
2.7K GitHub stars
Perplexity MCP ServerOfficialHosted or LocalOAuthConnector for Perplexity API, to enable real-time, web-wide research.
2.6K GitHub stars
tavily-mcpOfficialLocalProduction ready MCP server with real-time search, extract, map & crawl.
2.5K GitHub stars
Solana MCP by VybeOfficialHostedOAuthSolana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
2.2K GitHub stars
Azure DevOps (ADO)OfficialHostedOAuthThe MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
2.1K GitHub stars
Azure DevOps Local MCP ServerOfficialLocalOAuthThe MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
2.1K GitHub stars
anysearch-mcp-serverOfficialHostedAPI keyUnified real-time search MCP server supporting general web search, vertical domain search, parallel batch search, and full-page URL content extraction.
2.1K GitHub stars
Microsoft Learn MCPOfficialHostedNo sign-inOfficial Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.
2K GitHub stars- WordPress MCP AdapterOfficialLocal
The official WordPress plugin that turns a self-hosted site into an MCP server, exposing Abilities API actions from core, plugins and themes over STDIO (WP-CLI) or HTTP.
1.9K GitHub stars
MeiGen-AI-Design-MCPOfficialHosted or LocalOAuthDiscover inspiration and create images and videos with the latest AI models. Works with ChatGPT, Claude, Cursor, and other MCP clients.
1.8K GitHub stars
MATLAB MCP ServerOfficialLocalNo sign-inConnect AI coding agents to MATLAB. Run code, tests, and analysis via MCP.
1.7K GitHub stars
datagouv-mcpOfficialHostedNo sign-inOfficial data.gouv.fr Model Context Protocol (MCP) server that allows AI chatbots to search, explore, and analyze datasets from the French national Open Data platform, directly through conversation.
1.6K GitHub stars
MiniMax-MCPOfficialLocalAPI keyOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
1.6K GitHub stars
mcp-server-qdrantOfficialLocalAPI keyAn official Qdrant Model Context Protocol (MCP) server implementation
1.6K GitHub stars
TerraformOfficialHosted or LocalAPI keyGenerate more accurate Terraform and automate workflows for HCP Terraform and Terraform Enterprise
1.6K GitHub stars
@brave/brave-search-mcp-serverOfficialLocalBrave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
1.5K GitHub stars
IDA MCPOfficialLocalNo sign-inOfficial Hex-Rays MCP server that lets AI agents open, decompile and annotate binaries in IDA, alongside you in the IDA GUI or headless.
1.5K GitHub stars- X MCP (X API)OfficialHosted or LocalOAuth
X's hosted MCP server for the X API at api.x.com/mcp: AI clients search posts, read users, trends and news, manage bookmarks and publish Articles through your X developer app, directly or via the xurl mcp bridge.
1.4K GitHub stars
Power BI Authoring MCP Server (Local)OfficialLocalOAuthThe Power BI Authoring MCP server lets an AI agent create and change Power BI semantic models.
1.3K GitHub stars
ref-tools-mcpOfficialLocalAPI keyToken efficient search for coding agents over public and private documentation.
1.2K GitHub stars
Common errors and fixes
Server shows Needs authentication
Cause: The stored OAuth credentials expired or were revoked.
Fix: Click Authenticate, or run devin mcp logout <name> then devin mcp login <name>.
windsurf Source
Auth required or AuthRequired error from a remote server
Cause: The server requires OAuth and this client has no session yet. Each MCP client signs in separately.
Fix: Run devin mcp login <name>, even if you signed in from Claude Code.
windsurf Source
OAuth fails because of the resource parameter
Cause: Some authorization servers reject the RFC 8707 resource parameter that Devin sends by default.
Fix: Set "oauthResource": "" on the server entry, then log out and log in again.
windsurf Source
Remote server will not connect on a different SSE path
Cause: Devin tries Streamable HTTP first and falls back to SSE on the same URL only for non-authentication 4xx errors.
Fix: Set "transport": "sse" with the SSE URL.
windsurf Source
Tools do not appear
Cause: The server may need a moment to initialize.
Fix: Ask the agent to list MCP servers and tools. For a stdio server, run its command in a terminal and check its environment variables.
windsurf Source
Server is configured but blocked
Cause: MCP is disabled for the team, or the server is not on the allowlist or in an enforced MCP registry.
Fix: Ask your admin to add it to the allowlist or registry.
windsurf Source
Verdict
Windsurf is now Devin Desktop, and the MCP setup moved to Customize, MCPs and the .devin/mcp_config.json files, with stdio, Streamable HTTP, SSE and OAuth. The main limit is that old Windsurf guides and the old docs URLs no longer match what you see, and the docs state no tool limit to plan around.
Windsurf is now Devin Desktop, and the MCP setup moved to Customize, MCPs and the .devin/mcp_config.json files, with stdio, Streamable HTTP, SSE and OAuth. The main limit is that old Windsurf guides and the old docs URLs no longer match what you see, and the docs state no tool limit to plan around.
Best for
- Windsurf users who upgraded to Devin Desktop
- Teams that share servers in a committed .devin/mcp_config.json
Skip it if
- You are following a guide that points at a Windsurf-era config path
Questions
Is Windsurf now Devin Desktop?
Yes. The Devin docs say Devin Desktop is the new name for Windsurf, effective June 2, 2026, with the same editor. The old docs.windsurf.com MCP page now redirects (HTTP 308) to docs.devin.ai.
Where is the Windsurf MCP config file?
.devin/mcp_config.json in a project, .devin/mcp_config.local.json for a gitignored personal override, or ~/.config/devin/mcp_config.json for all projects. On Windows the user file is %APPDATA%\devin\mcp_config.json.
How do I add an MCP server in the app?
Open Customize in the agent sidebar, choose MCPs, pick a scope with Install MCPs for, and click Install on a server under Available. Servers under This computer can be toggled, refreshed or opened in their config file.
Does it support remote (HTTP) MCP servers?
Yes. Devin Local supports stdio, Streamable HTTP and SSE. For a remote server set url, and optionally transport ("http" or "sse") and headers.
Does it support OAuth for MCP servers?
Yes, for each transport. Run devin mcp login <name>, or click Authenticate when a server shows Needs authentication. If a provider has no dynamic client registration, set oauthClientId and oauthClientSecret.
Does it ask before running MCP tools?
Yes, by default it prompts before calling any MCP tool. You can allow one tool or a whole server for the session or permanently, and admins can default-allow trusted servers.
How do I disable an MCP server?
Use the toggle under Customize, MCPs, This computer, or set "disabled": true on the entry. In the Devin CLI, devin mcp disable <name> does the same.
Can admins limit which MCP servers my team can use?
Yes. Enterprise admins manage an MCP allowlist and MCP registries under MCP & ACP in team settings. A server that is not on the allowlist or registry will not connect.
What about the Windsurf JetBrains plugin?
The FAQ says the plugin is in maintenance mode and recommends Devin over ACP. Its MCP page says Open MCP config file opens ~/.config/devin/mcp_config.json, or %AppData%/devin/mcp_config.json on Windows.
Information
updated Nov 2, 2026
- Transports
- stdio, SSE, Streamable HTTP
- Config file (all)
~/.codeium/windsurf/mcp_config.json- MCP docs
- docs.windsurf.com
Sources
Docs, issue trackers and discussions this page is built from.
Show all 6Hide
- Devin Local Customizations · docs.devin.ai
- MCP Configuration · docs.devin.ai
- Devin Desktop FAQ · docs.devin.ai
- Devin Local Customizations (redirect target of the old Windsurf MCP URL) · docs.devin.ai
- Devin Local Permissions · docs.devin.ai
- Windsurf Cascade MCP configuration · docs.devin.ai