What is Windsurf?
Windsurf is an AI-native IDE built by Codeium, featuring their Cascade agent for agentic coding workflows. Unlike traditional AI assistants that only respond to prompts, Cascade can autonomously plan and execute multi-step coding tasks.
Windsurf combines the familiarity of VS Code with deep AI integration, offering features like Cascade for agentic coding, Supercomplete for intelligent code completion, and now MCP support for extending capabilities.
With MCP integration, Cascade can access external tools, databases, APIs, and services—making it significantly more capable for real-world development tasks.
MCP in Windsurf Overview
Windsurf's MCP implementation uses the same configuration format as Claude Desktop, making it easy to migrate existing configurations. Key characteristics:
- Configuration file:
~/.codeium/windsurf/mcp_config.json - Format: JSON (same schema as Claude Desktop)
- Tool limit: 100 tools maximum across all servers
- Agent: Cascade automatically uses relevant tools
Installing via Plugin Store
The easiest way to add MCP servers is through Windsurf's Plugin Store:
- Open Windsurf and click the Cascade panel
- Click the hammer icon (tools) at the top
- Select “Configure MCP”
- Browse the Plugin Store for available servers
- Click “Install” on your desired server
- Fill in any required configuration (API keys, paths)
- Click “Save” and the server will start automatically
Popular Servers in Plugin Store
Filesystem
FilesRead, write, and manage files in specified directories
GitHub
CodeInteract with GitHub repositories, issues, and pull requests
PostgreSQL
DatabaseQuery and manage PostgreSQL databases
Puppeteer
AutomationBrowser automation and web scraping capabilities
Brave Search
SearchWeb search integration for current information
Memory
ContextPersistent memory and context across sessions
Manual Configuration
For custom servers or advanced configuration, edit the config file directly:
Configuration File Location
# macOS / Linux# Windows# Windows# Windows# Windows# Windowsws
%USERPROFILE%\.codeium\windsurf\mcp_config.jsonBasic Configuration Structure
{
"mcpServers": {
"server-name": {
"command": "executable",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR": "value"
}
}
}
}Tip
You can also access the config file via Windsurf: open the Cascade panel, click the hammer icon, then select “Open Raw Config” to edit the JSON directly in the editor.
Transport Types
Windsurf supports two transport methods for MCP servers:
| Transport | Execution | Requirements | Description |
|---|---|---|---|
| stdio | Local | command + args | Local command-line servers managed by Windsurf. Best for single-user, local development. |
| HTTP/SSE | Local/Remote | url + headers (optional) | Remote servers using Server-Sent Events for streaming. Supports OAuth authentication. |
Configuration Fields
| Field | Required | Description | Example |
|---|---|---|---|
| command | Yes (stdio) | The executable to run the server | "npx", "python", "node" |
| args | No | Arguments passed to the command | ["-y", "@modelcontextprotocol/server-filesystem"] |
| env | No | Environment variables for the server | {"API_KEY": "your-key"} |
| url | Yes (HTTP) | URL for remote HTTP/SSE servers | "https://api.example.com/mcp" |
| headers | No | HTTP headers for authentication | {"Authorization": "Bearer token"} |
Configuration Examples
Filesystem Server
Allow Cascade to read and write files in specific directories:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/projects",
"/Users/username/documents"
]
}
}
}GitHub Integration
Enable Cascade to work with GitHub repositories:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}PostgreSQL Database
Connect Cascade to your PostgreSQL database:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:pass@localhost:5432/mydb"
}
}
}
}Multiple Servers
Combine multiple MCP servers in a single configuration:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your_brave_api_key"
}
}
}
}Using MCP Tools in Cascade
Once configured, MCP tools become available to Cascade automatically:
Viewing Available Tools
- Open the Cascade panel
- Click the hammer icon (tools)
- View all connected servers and their status
- Expand each server to see available tools
Tool Approval
By default, Cascade asks for approval before executing MCP tools. You can:
- Approve once: Allow the tool for this specific call
- Approve for session: Allow all uses during current session
- Deny: Prevent the tool from running
Cascade Agentic Workflow
Cascade can chain multiple MCP tool calls together as part of complex tasks. For example, it might search GitHub for issues, read relevant code files, and update documentation—all in a single agentic workflow.
Enterprise Configuration
For enterprise deployments, Windsurf provides admin controls for MCP server management:
Admin Whitelisting
Enterprise administrators can configure approved MCP servers centrally:
- Whitelist mode: Only allow approved MCP servers
- Pre-configured servers: Push server configurations to all team members
- Credential management: Inject API keys and tokens centrally
Enterprise Feature
MCP server whitelisting and central configuration is available on Windsurf Enterprise plans. Contact Codeium for details on enterprise deployment options.
Limitations
Be aware of these current limitations when using MCP with Windsurf:
100 Tool Limit
Cascade supports a maximum of 100 tools across all connected MCP servers. If you exceed this limit, some tools may not be available. Prioritise essential tools and disable unused servers.
Tools Only
Windsurf currently supports MCP Tools functionality. Resources and Prompts from MCP servers are not yet fully supported.
Global Configuration Only
MCP configuration is global to the user. Project-specific MCP configurations are not yet supported (unlike Cursor's .cursor/mcp.json).
Troubleshooting
Server shows as “disconnected”
- • Check that the command exists and is in your PATH
- • Verify required environment variables are set correctly
- • Try running the command manually in terminal to see error output
- • Restart Windsurf after config changes
Tools not appearing in Cascade
- • Ensure the server is showing as “connected” in the tools panel
- • Check if you've exceeded the 100 tool limit
- • Verify JSON syntax in mcp_config.json is valid
- • Try clicking “Refresh” in the MCP configuration panel
npx servers fail to start
- • Ensure Node.js is installed and npx is available
- • Try running
npx -y package-namemanually first - • Clear npm cache:
npm cache clean --force - • Check for network/proxy issues blocking npm registry
Configuration file not found
- • Create the directory:
mkdir -p ~/.codeium/windsurf - • Create an empty config:
echo '{"mcpServers":{}}' > ~/.codeium/windsurf/mcp_config.json - • Or use the Plugin Store to install a server, which creates the file automatically
Ready to Extend Cascade?
MCP extends Cascade by connecting it to your tools and services. Start with the Plugin Store for easy setup, then explore custom configurations as your workflow demands. With access to file systems, databases, APIs, and more, Cascade becomes a capable development partner.
Frequently Asked Questions
Windsurf stores MCP configuration at ~/.codeium/windsurf/mcp_config.json on macOS/Linux and %USERPROFILE%\.codeium\windsurf\mcp_config.json on Windows. You can also access it via Cascade panel > hammer icon > Open Raw Config.
The easiest way is through the Plugin Store: open the Cascade panel, click the hammer icon, select "Configure MCP", browse available servers, and click Install. For custom servers, edit the mcp_config.json file directly.
Windsurf supports a maximum of 100 tools across all connected MCP servers combined. If you exceed this limit, some tools may not be available. Prioritise essential tools and disable unused servers to stay within the limit.
Currently, Windsurf only supports global MCP configuration. Project-specific configurations (like Cursor's .cursor/mcp.json) are not yet supported. All MCP servers are available across all projects.
Check that the command exists and is in your PATH. Verify required environment variables are set correctly in the config. Try running the command manually in terminal to see error output. Restart Windsurf after making configuration changes.
References & Further Reading
- Windsurf MCP Documentation- Official guide to MCP in Windsurf
- Windsurf by Codeium- AI-native code editor with Cascade assistant
- Model Context Protocol – Official Documentation- Complete MCP specification and guides
- Official MCP Servers Repository- Reference implementations and pre-built servers
- Building MCP Servers- Guide to creating custom MCP servers
- MCP SDK on npm- TypeScript/JavaScript SDK for building servers

