MCP (Model Context Protocol) es un protocolo que permite a los modelos de lenguaje (LLM) acceder a herramientas y servicios personalizados. Un cliente MCP (Cascade, en este caso) puede enviar solicitudes a servidores MCP para acceder a las herramientas que estos proporcionan. Cascade ahora se integra de forma nativa con MCP, lo que te permite usar tu propia selección de servidores MCP para que Cascade los utilice. Consulta la documentación oficial de MCP para obtener más información.
Los usuarios de Enterprise deben activar esta opción manualmente en la configuración

Añadir un nuevo plugin MCP

Puedes añadir nuevos plugins MCP desde la Tienda de Plugins, a la que accedes haciendo clic en el ícono de Plugins en el menú superior derecho del panel de Cascade, o desde Windsurf Settings > Cascade > Plugins. Si no encuentras el plugin MCP que buscas, puedes añadirlo manualmente editando el archivo mcp_config.json en bruto. Los plugins MCP oficiales aparecerán con una marca azul, indicando que están creados por la empresa propietaria del servicio. Al hacer clic en un plugin, simplemente selecciona Install para exponer el servidor y sus herramientas a Cascade. Windsurf admite dos tipos de transporte para servidores MCP: stdio y http. Para servidores http, la URL debe corresponder al endpoint y tener el formato https://<your-server-url>/mcp. También admitimos transporte HTTP con streaming y autenticación MCP.
Asegúrate de pulsar el botón de actualizar después de añadir un nuevo plugin MCP.

Configuración de herramientas MCP

Cada plugin tiene una cantidad determinada de herramientas a las que puede acceder. Cascade tiene un límite de 100 herramientas en total a las que puede acceder en un momento dado. A nivel de plugin, puedes ir a la pestaña Tools y activar las herramientas que quieras habilitar. O, desde Windsurf Settings, puedes hacer clic en el botón Manage plugins.

mcp_config.json

El archivo ~/.codeium/windsurf/mcp_config.json es un archivo JSON que contiene una lista de servidores a los que Cascade puede conectarse. El JSON debe seguir el mismo esquema que el archivo de configuración de Claude Desktop. A continuación se muestra un ejemplo de configuración que define un único servidor para GitHub:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<TU_TOKEN_DE_ACCESO_PERSONAL>"
      }
    }
  }
}
Es importante tener en cuenta que, para servidores HTTP, la configuración es ligeramente diferente y requiere un campo serverUrl. Aquí tienes un ejemplo de configuración para un servidor HTTP:
{
  "mcpServers": {
    "figma": {
      "serverUrl": "<url-de-tu-servidor>/mcp"
    }
  }
}
Para el servidor MCP de Figma Dev Mode, asegúrate de haber actualizado a la versión más reciente de la aplicación de escritorio de Figma para usar el nuevo endpoint “/mcp”.
Asegúrate de proporcionar los argumentos y las variables de entorno necesarios para los servidores que quieras utilizar. Consulta el repositorio oficial de referencia de servidores MCP o OpenTools para ver algunos servidores de ejemplo.

Controles de administrador (Teams y Enterprise)

Los administradores de equipo pueden activar o desactivar el acceso a MCP para su equipo y, además, permitir servidores MCP aprobados para que su equipo los use:

MCP Team Settings

Ajustes de MCP configurables para tu equipo.
El enlace anterior solo funcionará si tienes privilegios de administrador de tu equipo.
De forma predeterminada, los usuarios de un equipo pueden configurar sus propios servidores MCP. Sin embargo, una vez que permitas aunque sea un solo servidor MCP, todos los servidores no permitidos quedarán bloqueados para tu equipo.

Cómo funciona la coincidencia de servidores

Cuando incluyes en la lista de permitidos un servidor MCP, el sistema utiliza coincidencia de patrones con expresiones regulares (regex) con las siguientes reglas:
  • Coincidencia de cadena completa: Todos los patrones se anclan automáticamente (se envuelven con ^(?:pattern)$) para evitar coincidencias parciales
  • Campo Command: Debe coincidir exactamente o conforme a tu patrón de regex
  • Matriz de argumentos: Cada argumento se compara individualmente con su patrón correspondiente
  • Longitud de la matriz: La cantidad de argumentos debe coincidir exactamente entre la lista de permitidos y la configuración del usuario
  • Caracteres especiales: Caracteres como $, ., [, ], (, ) tienen un significado especial en regex y deben escaparse con \ si deseas una coincidencia literal

Opciones de configuración

Configuración de lista de permitidos del administrador:
  • Server ID: github-mcp-server
  • Server Config (JSON): (dejar vacío)
{}
Configuración de usuario correspondiente (mcp_config.json):
{
  "mcpServers": {
    "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": "ghp_your_token_here"
      }
    }
  }
}
Esto permite a los usuarios instalar el servidor MCP de GitHub con cualquier configuración válida, siempre que el ID del servidor coincida con la entrada de la tienda de plugins.
Configuración de lista de permitidos del administrador:
  • Server ID: github-mcp-server
  • Server Config (JSON):
{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "ghcr.io/github/github-mcp-server"
  ],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": ""
  }
}
Configuración de usuario correspondiente (mcp_config.json):
{
  "mcpServers": {
    "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": "ghp_your_token_here"
      }
    }
  }
}
Los usuarios deben usar exactamente esta configuración: cualquier desviación en command o args será bloqueada. La sección env puede tener valores diferentes.
Configuración de lista de permitidos del administrador:
  • Server ID: python-mcp-server
  • Server Config (JSON):
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
Configuración de usuario correspondiente (mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Este ejemplo ofrece flexibilidad a los usuarios sin comprometer la seguridad:
  • La regex /.*\\.py coincide con cualquier ruta de archivo Python como /home/user/my_server.py
  • La regex [0-9]+ coincide con cualquier puerto numérico como 8080 o 3000
  • Los usuarios pueden personalizar rutas y puertos mientras los administradores garantizan que solo se ejecuten scripts de Python

Patrones comunes de regex

PatrónCoincide conEjemplo
.*Cualquier cadena/home/user/script.py
[0-9]+Cualquier número8080, 3000
[a-zA-Z0-9_]+Alfanumérico + guion bajoapi_key_123
\\$HOMELiteral $HOME$HOME (sin expandir)
\\.pyLiteral .pyscript.py
\\[cli\\]Literal [cli]mcp[cli]

Notas

Directrices de configuración para administradores

  • Variables de entorno: La sección env no se compara con expresiones regulares (regex) y los usuarios pueden configurarla libremente
  • Herramientas deshabilitadas: El array disabledTools se maneja por separado y no forma parte de la comprobación de la lista de permitidos (whitelist)
  • Sensible a mayúsculas y minúsculas: Todas las coincidencias distinguen entre mayúsculas y minúsculas
  • Manejo de errores: Los patrones de regex no válidos se registrarán y darán lugar a la denegación de acceso
  • Pruebas: Prueba tus patrones de regex cuidadosamente; patrones demasiado restrictivos pueden bloquear casos de uso legítimos

Solución de problemas

Si los usuarios informan que sus servidores MCP no funcionan después de incluirlos en la lista de permitidos:
  1. Verifica coincidencias exactas: Asegúrate de que el patrón de la lista de permitidos coincida exactamente con la configuración del usuario
  2. Verifica el escape en las expresiones regex: Es posible que sea necesario escapar caracteres especiales (p. ej., \. para puntos literales)
  3. Revisa los logs: Los patrones regex no válidos se registran con advertencias
  4. Prueba los patrones: Usa un verificador de regex para confirmar que tus patrones funcionen como se espera
Recuerda: Una vez que incluyes en la lista de permitidos cualquier servidor, todos los demás servidores se bloquean automáticamente para los miembros de tu equipo.

Información general

  • Dado que las llamadas a herramientas MCP pueden invocar código escrito por implementadores de servidores arbitrarios, no asumimos responsabilidad por fallas en dichas llamadas. Para reiterar:
  • Actualmente admitimos las tools y resources de un servidor MCP, no los prompts.