MCP (Model Context Protocol) is a protocol that enables LLMs to access custom tools and services. An MCP client (Cascade, in this case) can make requests to MCP servers to access tools that they provide. Cascade now natively integrates with MCP, allowing you to bring your own selection of MCP servers for Cascade to use. See the official MCP docs for more information.

Enterprise users must manually turn this on via settings

Adding a new MCP plugin

New MCP plugins can be added by going to the Settings > Tools > Windsurf Settings > Add Server section.

If you cannot find your desired MCP plugin, you can add it manually by clicking View Raw Config button and editing the raw mcp_config.json file.

When you click on an MCP server, simply click + Add Server to expose the server and its tools to Cascade.

Cascade supports two transport types for MCP servers: stdio and /sse.

For /sse servers, the URL should reflect that of the endpoint and resemble https://<your-server-url>/sse.

Make sure to press the refresh button after you add a new MCP plugin.

mcp_config.json

The ~/.codeium/mcp_config.json file is a JSON file that contains a list of servers that Cascade can connect to.

The JSON should follow the same schema as the config file for Claude Desktop.

Here’s an example configuration, which sets up a single server for GitHub:

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

It’s important to note that for SSE servers, the configuration is slightly different and requires a serverUrl field.

Here’s an example configuration for a SSE server:

{
  "mcpServers": {
    "figma": {
      "serverUrl": "<your-server-url>/sse"
    }
  }
}

Be sure to provide the required arguments and environment variables for the servers that you want to use.

See the official MCP server reference repository or OpenTools for some example servers.

Admin Controls (Teams & Enterprises)

Team admins can toggle MCP access for their team, as well as whitelist approved MCP servers for their team to use:

MCP Team Settings

Configurable MCP settings for your team.

The above link will only work if you have admin privileges for your team.

By default, users within a team will be able to configure their own MCP servers.

By whitelisting any MCP servers, admins are electing to configure the entirety of the MCP experience for their team. Once even a single MCP server is whitelisted for the team, all other MCP servers will be blacklisted.

To whitelist an MCP server, admins must input the desired Server ID and Server Config (JSON). The Server Config (JSON) payload inputed here should exactly match the payload that would be inputed into the mcp_config.json file.

For example:

Server ID = github-mcp-server

{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "ghcr.io/github/github-mcp-server"
  ],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": ""
  }
}

Notes

  • Since MCP tool calls can invoke code written by arbitrary server implementers, we do not assume liability for MCP tool call failures. To reiterate:
  • We currently support an MCP server’s tools and resources, not prompts.