Saltar al contenido principal
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 MCP

Se pueden añadir nuevos MCP desde el MCP Marketplace, al que se accede haciendo clic en el icono MCPs en el menú superior derecho del panel de Cascade, o desde la sección Windsurf Settings > Cascade > MCP Servers. Si no encuentras el MCP que deseas, puedes añadirlo manualmente editando directamente el archivo mcp_config.json. Los MCP oficiales aparecerán con una marca de verificación azul, lo que indica que están creados por la empresa proveedora del servicio. Cuando hagas clic en un MCP, simplemente haz clic en Install para poner el servidor y sus herramientas a disposición de Cascade. Windsurf es compatible con tres tipos de transporte para servidores MCP: stdio, Streamable HTTP y SSE. Windsurf también es compatible con OAuth para cada tipo de transporte. Para servidores http, la URL debe corresponder al endpoint y tener un formato similar a https://<your-server-url>/mcp.

Configuración de herramientas MCP

Cada MCP 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. En cada página de configuración de un MCP, puedes activar o desactivar las herramientas que quieras habilitar. Para abrir la configuración de un MCP, haz clic en el icono MCPs en el menú superior derecho del panel de Cascade y haz clic en el MCP deseado.

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. 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>"
      }
    }
  }
}
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.

MCP HTTP remotos

Es importante tener en cuenta que, para MCP HTTP remotos, la configuración es ligeramente diferente y requiere un campo serverUrl o url. Aquí tienes un ejemplo de configuración para un servidor HTTP:
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<url-de-tu-servidor>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Interpolación de la configuración

El archivo ~/.codeium/windsurf/mcp_config.json gestiona la interpolación de variables de entorno en estos campos: command, args, env, serverUrl, url y headers. Aquí tienes un ejemplo de configuración que utiliza una variable de entorno AUTH_TOKEN en headers.
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

Controles de administración (Teams & Enterprise)

Los administradores de equipo pueden activar o desactivar el acceso a MCP para su equipo, así como definir una lista de servidores MCP aprobados para que su equipo los use:

Ajustes de MCP del equipo

Ajustes configurables de MCP para tu equipo.
El enlace anterior solo funcionará si tienes privilegios de administrador en tu equipo.
De manera predeterminada, los usuarios de un equipo podrán configurar sus propios servidores MCP. Sin embargo, una vez que añadas siquiera un solo servidor MCP a la lista de permitidos, todos los servidores que no estén en esa lista 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, resources y prompts de un servidor MCP.