Configuración MCP de Windsurf: marketplace e instalación de servidores en Devin Desktop

Windsurf se convirtió en Devin Desktop en junio de 2026, y su configuración de MCP se dividió en dos. Este artículo muestra dónde vive cada archivo de configuración, qué agente tiene el marketplace, cómo añadir servidores stdio y remotos a mano y cómo arreglar un servidor que nunca aparece, con PicassoIA como ejemplo práctico.

Configuración MCP de Windsurf: marketplace e instalación de servidores en Devin Desktop
Cristian Da Conceicao
Fundador de Picasso IA

Buscas un tutorial de configuración MCP para Windsurf, lo sigues paso a paso y el icono del marketplace que describe no aparece por ninguna parte de tu pantalla. No es un error tuyo. Windsurf pasó a llamarse Devin Desktop en junio de 2026, la documentación antigua ahora redirige a docs.devin.ai, y el agente por defecto para las pestañas nuevas cambió de Cascade a Devin Local. Los dos agentes configuran los servidores MCP de formas distintas, y solo uno de ellos tiene marketplace.

Este artículo aclara en cuál de las dos configuraciones estás, dónde vive cada archivo de configuración, cómo añadir servidores desde el marketplace o a mano y qué revisar cuando un servidor se queda callado. También muestra cómo conectar los modelos de imagen y video de PicassoIA mediante MCP, para que tu editor pueda producir recursos mientras programas. Cada configuración que aparece aquí proviene de la documentación oficial de Devin salvo que indique lo contrario, y cuando esas páginas no coinciden entre sí, lo señalo.

Qué cambió en Windsurf

Windsurf ahora es Devin Desktop

Cognition renombró el editor en junio de 2026. Los resultados de búsqueda y los tutoriales antiguos siguen diciendo Windsurf, pero el registro de cambios, las páginas de producto y la documentación ya están bajo el nombre de Devin. Cascade sobrevive como el nombre del agente heredado, mientras que Devin Local es el predeterminado.

Esa división es la razón por la que tantos tutoriales parecen incorrectos. La página oficial de MCP de Cascade empieza con una advertencia: sus instrucciones se aplican solo al agente Cascade heredado, y Devin Local configura los servidores MCP a través de los archivos de configuración de la CLI de Devin.

Desarrollador con jersey henley carbón en un escritorio de pie con dos monitores que muestran paneles borrosos del editor

Dos agentes, dos configuraciones

CaracterísticaCascade heredadoDevin Local
Marketplace de MCPNingunoSí, con instalaciones de un clic
Añadir un servidorEditar mcp_config.json desde el menú de accionesMarketplace, devin mcp add o archivos de configuración
Aprobación antes de llamar a herramientasNo por defectoPide confirmación por defecto
Límite de herramientas100 herramientas en totalNo indicado en las páginas que revisé
Campos de servidor remotoserverUrl o url, más headersurl, más transport y headers

💡 Comprobación rápida: Las pestañas nuevas se abren con Devin Local por defecto. Salvo que hayas cambiado de agente a propósito, supón que la columna de Devin Local describe tu editor.

Dónde vive el archivo de configuración

Antes de editar nada, averigua qué archivo lee tu agente. Una edición correcta en el archivo equivocado produce el tipo de fallo más confuso: no pasa nada y nadie se queja.

Rutas de Cascade heredado

La página actual de Cascade indica ~/.config/devin/mcp_config.json en macOS y Linux (o el mismo archivo bajo $XDG_CONFIG_HOME/devin/ cuando esa variable está definida) y %APPDATA%\devin\mcp_config.json en Windows. Para abrirlo desde el editor, haz clic en el menú ... (Acciones), arriba a la derecha del panel de Cascade, y luego elige Abrir archivo de configuración de MCP en la sección MCPs.

Los tutoriales escritos antes del cambio de nombre apuntan a otro lugar: ~/.codeium/windsurf/mcp_config.json, o %USERPROFILE%\.codeium\windsurf\mcp_config.json en Windows. Textos de terceros afirman que una entrada del archivo antiguo todavía se carga, pero las páginas oficiales no lo confirman. Considera la ruta antigua como un plan de respaldo, no como la opción principal.

Primer plano de unas manos escribiendo mientras editan un archivo de configuración en un equipo portátil

Capas de configuración de Devin Local

Devin Local lee los archivos de configuración de la CLI de Devin, que se organizan en tres capas:

AlcanceArchivoNotas
Usuario~/.config/devin/mcp_config.json o %APPDATA%\devin\mcp_config.jsonSe aplica a todos los proyectos
Proyecto.devin/mcp_config.jsonVive en el repositorio, así que se puede compartir
Anulación local.devin/mcp_config.local.jsonExcluido de git, personal para ti

Un detalle incómodo: la página de Devin Local enumera archivos config.json con los mismos tres alcances, mientras que la página de la CLI dice que las versiones anteriores (antes de la v3000.3) guardaban mcpServers dentro de esos archivos principales de configuración, y las más nuevas usan el archivo independiente mcp_config.json. Las páginas de documentación no coinciden sobre cuál es la vigente. Ejecuta devin mcp list para ver qué cargó realmente tu instalación antes de editar un archivo.

Usar el marketplace de MCP

La página oficial de Cascade es directa: Cascade no tiene marketplace de MCP ni instalación de un clic, y esas funciones existen solo para el agente Devin Local. Si un tutorial te pide hacer clic en el icono de MCPs del panel de Cascade y pulsar Instalar, describe el editor antiguo.

Dónde encontrarlo

En Devin Local, las notas de la versión señalan la página Customize de la barra lateral, donde Browse marketplace aparece en la pestaña Plugins. Las etiquetas de los menús cambian entre versiones, así que si no los ves, empieza por Customize y busca desde ahí.

Muchas entradas son integraciones OAuth de un clic. Las notas de la versión mencionan servicios como Dropbox, ClickHouse Cloud, Typeform, Coda, GitBook, Railway, Retool, Smartsheet y Make. Al instalar uno, se devuelve una URL de autorización, la apruebas en el navegador y el servidor se conecta sin que pegues ningún token en un archivo. Si las credenciales guardadas caducan más adelante, el servidor muestra un estado Needs auth con un botón Authenticate.

Vista cenital de un escritorio de desarrollador ordenado con un equipo portátil, una libreta, notas adhesivas y una planta

Cuándo saltártelo

El marketplace es la vía más rápida, pero no siempre la correcta. Edita la configuración a mano cuando:

  • Necesitas fijar la versión de un paquete en args en lugar de usar siempre la más reciente.
  • El servidor es interno y nunca aparecerá en un listado público.
  • Quieres que la configuración esté confirmada en el repositorio para que tus compañeros la reciban al hacer checkout.
  • Necesitas control exacto sobre las variables de entorno y los argumentos de arranque.

Las instalaciones con OAuth tienen una contrapartida: ganas comodidad a cambio de control, pues ningún secreto queda en tu disco, pero tampoco decides los argumentos de arranque. Una entrada editada a mano te da ambas cosas, a cambio de rotar los tokens tú mismo.

Añadir un servidor a mano

Ejemplo de servidor stdio

Un servidor stdio es un proceso local que el editor inicia y con el que se comunica por la entrada y salida estándar. Este es el ejemplo oficial de GitHub, con el token movido a una variable de entorno:

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

command y args son lo que escribirías en una terminal. La marca -y permite que npx instale el paquete sin detenerse a preguntar. El bloque env se pasa al proceso, y no se garantiza que llegue a él nada más de tu shell.

Vista desde abajo de un pasillo con racks de servidores negros y haces ordenados de cables de red

Ejemplo de servidor remoto

Los servidores remotos necesitan una URL en lugar de un comando. Cascade heredado acepta serverUrl o url:

{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

El formato de la CLI de Devin usa url y un transport explícito:

{
  "mcpServers": {
    "server-name": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "headers": {},
      "disabled": false
    }
  }
}

Cuando transport es "http" o se omite, la CLI intenta primero Streamable HTTP y recurre a SSE si el servidor responde 404. Cascade documenta tres transportes en total: stdio, Streamable HTTP y SSE, cada uno con soporte de OAuth.

Aquí tienes una referencia rápida de campos para ambos formatos:

CampoUsado porFunción
command, argsStdioEl programa que se inicia y sus argumentos
envStdioVariables que se pasan al proceso
serverUrl o urlRemotoDónde escucha el servidor
transportRemoto, formato CLIDéjalo en "http" para intentar primero Streamable HTTP
headersRemotoCabeceras adicionales de la petición, como un token Bearer
oauthClientId, oauthClientSecret, oauthResourceRemoto, formato CLIAjustes para servidores que necesitan OAuth
disabledStdio y remoto, formato CLIDesactiva una entrada sin borrarla
disabledToolsCascadeOculta herramientas concretas al agente

Desarrollador trabajando junto a la ventana de una cafetería en una tarde lluviosa, con un equipo portátil y un flat white

Comandos de la CLI y secretos

Puedes evitar el JSON por completo. La CLI de Devin gestiona los servidores con estos comandos:

ComandoQué hace
devin mcp add <name> -- <command> [args...]Añade un servidor stdio
devin mcp add <name> <URL>Añade un servidor HTTP
devin mcp list y devin mcp getMuestran lo que está cargado e inspeccionan un servidor
devin mcp login <name> y logoutInician o borran el inicio de sesión OAuth
devin mcp enable y disableActivan o desactivan un servidor
devin mcp remove <name>Borra la entrada

Los archivos de configuración admiten dos patrones de interpolación: ${env:VAR_NAME} sustituye por una variable de entorno, y ${file:/path/to/file} sustituye por el contenido de un archivo, con rutas ~ permitidas.

💡 Consejo: Guarda los tokens personales en .devin/mcp_config.local.json, que está excluido de git, y mantén el .devin/mcp_config.json compartido libre de secretos. Un token confirmado una sola vez permanece en el historial de git.

Límites, aprobaciones y listas de permitidos

El límite de 100 herramientas

Cascade puede tener 100 herramientas en total entre todos los servidores conectados. Los servidores grandes consumen ese presupuesto rápido, y al superarlo, algunas herramientas simplemente no estarán disponibles. Recorta lo que no necesitas con el array disabledTools:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "disabledTools": ["create_repository"]
    }
  }
}

Un conjunto de herramientas más pequeño también ayuda al agente a elegir la adecuada, así que desactivar las que nunca usas merece la pena incluso por debajo del límite.

Mano escribiendo en un cuaderno de anillas junto a páginas impresas de código y una regla

Peticiones de aprobación en Devin Local

Devin Local se comporta de forma distinta a Cascade en este punto. Su configuración predeterminada pide aprobación antes de llamar a cualquier herramienta de MCP. Puedes conceder permiso a una sola herramienta o a un servidor entero, para la sesión o de forma permanente. Los administradores de Enterprise pueden permitir por defecto servidores o herramientas concretos, para que las integraciones de confianza dejen de interrumpir a la gente.

Listas de permitidos del equipo

Los administradores de los planes Teams y Enterprise pueden definir un registro de MCP personalizado y una lista de permitidos. Hay dos reglas que importan. Una vez que cualquier servidor está en la lista, todos los servidores que no estén en ella quedan bloqueados para todo el equipo. Y los patrones son expresiones regulares que se comparan con la cadena completa, así que un patrón demasiado laxo no coincidirá como esperas. Los usuarios de Enterprise también tienen que activar MCP manualmente en la configuración.

Un despliegue seguro sigue estos pasos: enumera los servidores que tu equipo ya usa, escribe un patrón anclado por servidor, activa la lista de permitidos para un grupo pequeño de prueba y pide a alguien de ese grupo que añada un servidor que no incluiste y confirme que queda bloqueado. Solo entonces amplíala a todos.

Cuatro compañeros de pie alrededor de una pizarra con cajas y flechas dibujadas a mano en una oficina abierta

Solucionar un servidor silencioso

Revisa lo básico

Sigue esta lista en orden:

  1. Valida el JSON. Una coma sobrante o una comilla que falta hace que todo el archivo sea ilegible.
  2. Ejecuta el comando en una terminal. Si npx -y @modelcontextprotocol/server-github falla allí, también fallará en el editor.
  3. Comprueba Node.js. Los textos de configuración de terceros indican Node.js 18 o posterior para los servidores npx.
  4. Ejecuta devin mcp list. Muestra lo que realmente se cargó, y eso gana a adivinar.
  5. Reinicia el editor. La página oficial no dice si hace falta reiniciar, mientras que los textos de terceros lo recomiendan, así que reiniciar es una precaución barata.
  6. Revisa el entorno. Un servidor que funciona bien en tu terminal puede depender de una variable que el editor nunca vio. Defínela en env, o usa ${env:VAR} y abre el editor desde una shell que la tenga.

Primer plano de un desarrollador con gafas de carey frunciendo el ceño ante un equipo portátil mientras depura

Descarta el archivo equivocado

Si el servidor nunca aparece, comprueba si editaste el archivo que lee tu agente. Un tutorial de antes del cambio de nombre te manda a ~/.codeium/windsurf/mcp_config.json, y Devin Local lee en su lugar las capas de la CLI. Añade una entrada de prueba y confirma que aparece en devin mcp list antes de crear la configuración definitiva.

Si vas a trasladar una configuración antigua de Windsurf, copia su bloque mcpServers en tu mcp_config.json de nivel de usuario, ejecuta devin mcp list y solo después borra el archivo antiguo. Hacerlo en ese orden evita que pierdas un servidor que funciona mientras pruebas.

Cuando la lista de permitidos del equipo está activa, la documentación indica cuatro comprobaciones: confirma que el patrón coincide exactamente con la configuración del usuario, verifica el escapado de las expresiones regulares, revisa los registros (los patrones no válidos se registran con advertencias) y prueba los patrones en un probador de expresiones regulares.

Cómo usar PicassoIA a través de MCP

Una vez ordenada la configuración, un servidor MCP solo es útil si hace algo por tu proyecto. Un buen primer candidato es la generación de imágenes, porque las portadas del blog, las capturas de la app y los banners del README surgen en pleno desarrollo. PicassoIA expone cuatro modelos a través de su conector MCP y de su API para desarrolladores:

ModeloQué hace
PicassoIA ImageTexto a imagen
PicassoIA Image Editor ProEdita una imagen existente
PicassoIA VideoVideo a partir de texto o de una imagen
Seedance 2.5 LiteVideo con audio

Así se conecta:

  1. Abre tu página de conexiones MCP. Está en picassoia.com/en/mcp/accounts y requiere iniciar sesión. Crea una conexión y copia la URL del servidor que aparece allí. La URL no se publica en el sitio público, así que no la adivines.
  2. Añádela desde la CLI. Ejecuta devin mcp add picassoia <URL from step 1>. Es la forma de comando documentada para un servidor HTTP.
  3. Inicia sesión si te lo pide. Si el servidor usa OAuth, ejecuta devin mcp login picassoia.
  4. Confirma que se cargó. devin mcp list debería mostrar picassoia.
  5. Pide un recurso. Dile al agente lo que necesitas, por ejemplo una foto de portada 16:9 para una publicación. Iniciará el trabajo con PicassoIA Image y consultará el estado hasta que sea succeeded, y entonces te dará la URL.

Escritorio de diseñador con un monitor grande que muestra una fotografía de un lago de montaña, una tableta gráfica y una cámara

Herramientas y límites del conector

El conector de PicassoIA expone nueve herramientas: generate_image, edit_image, generate_video_picassoia, generate_video_seedance, get_generation, list_generations, cancel_generation, list_models y get_account. Es una porción pequeña de un presupuesto de 100 herramientas.

Los trabajos son asíncronos. Una llamada de generación devuelve un id de predicción, y el agente consulta get_generation hasta que el trabajo tenga éxito o falle. Un fallo es definitivo, así que reintenta con una nueva generación. La plataforma permite 5 predicciones simultáneas por cuenta, compartidas entre los tokens de API y las conexiones MCP, y los prompts están limitados a 4000 caracteres.

¿Prefieres scripts a un editor? La API para desarrolladores está en https://api.picassoia.com/v1 y acepta un token Bearer que empieza por pia_sk_, creado desde la sección de API de tu cuenta. Las predicciones se crean con POST /v1/models/{owner}/{name}/predictions y se leen después con GET /v1/predictions/{id}. La página de precios y la documentación de la API describen el acceso por plan de forma distinta, así que revisa qué plan necesita tu cuenta antes de desplegarlo en un equipo.

💡 Consejo: ¿Necesitas ayuda para redactar un prompt antes de que el agente lo ejecute? La colección de modelos de lenguaje de PicassoIA incluye Claude Sonnet 5 y GPT 5.6 Sol.

Pruébalo con tus propias imágenes

Tu configuración solo es tan buena como lo primero que produzca, así que produce algo. Conecta el servidor, pide una imagen de portada para el proyecto en el que trabajas hoy y mira cómo queda. Cambia la iluminación, la lente y el encuadre en tu prompt, vuelve a generarla y compara. Unas pocas rondas bastan para encontrar un estilo que encaje con tu blog o tu app.

Tres primeros prompts sirven bien como pruebas de conexión:

  • Una foto de portada. Pide a PicassoIA Image una fotografía 16:9 de un escritorio con luz de hora dorada, con una lente y una iluminación concretas indicadas en el prompt.
  • Una edición. Entrega una captura o foto existente a PicassoIA Image Editor Pro y pide un cambio preciso.
  • Un clip corto. Convierte la foto de portada en movimiento con PicassoIA Video y revisa el resultado antes de comprometerte con un render más largo.

Abre Picasso IA, elige un modelo de la lista y genera tu primera imagen. Todos los modelos, desde texto a imagen y video hasta lenguaje, aparecen en picassoia.com/en/all-models.

Compartir este artículo

Elige tu idioma