¿Claude Desktop no funciona con MCP? Soluciones para la configuración y los servidores HTTP

¿Claude Desktop no muestra herramientas o dice que el servidor se desconectó? Sigue las comprobaciones en orden: reinicia la app por completo, repara el JSON de configuración, corrige los errores de PATH y spawn npx ENOENT, y luego configura los servidores HTTP y remotos con conectores o mcp-remote. Prueba todo con MCP Inspector y curl.

¿Claude Desktop no funciona con MCP? Soluciones para la configuración y los servidores HTTP
Cristian Da Conceicao
Fundador de Picasso IA

Tu servidor MCP funcionaba ayer. Hoy Claude Desktop no muestra herramientas, aparece un aviso de "Server disconnected" o no pasa nada, y la única pista es un error vago que no lleva a ninguna parte. Le pasa a casi todo el que conecta un servidor local, y la causa casi siempre es una de cinco cosas: un claude_desktop_config.json roto, un comando que la app no encuentra, un servidor que escribe texto incorrecto en stdout, un servidor HTTP añadido de la forma equivocada o una app que nunca se reinició del todo.

Este artículo repasa cada fallo en el orden en que conviene revisarlos, con el JSON, las rutas y los comandos exactos para pegar. Empieza por arriba y para en cuanto aparezcan tus herramientas. La mayoría de las soluciones llevan menos de cinco minutos.

Lo que vesCausa más probableIr a
Sin herramientas tras editar la configuraciónLa app no se cerró del todo o se editó el archivo equivocadoRevisa primero lo básico
Aviso rojo sobre JSON no válidoComa final, comillas tipográficas, barras invertidas sin escaparCorrige el JSON de configuración roto
spawn npx ENOENT en el registroClaude no encuentra Node o npxCorrige los errores de comando e inicio
Unexpected token en el registroEl servidor escribe los registros en stdoutMantén stdout limpio
Una entrada url no hace nadaLos servidores HTTP no van en el archivo de configuraciónCorrige los servidores HTTP y remotos

💡 Respuesta rápida: cierra Claude Desktop desde la bandeja o la barra de menús (no solo la ventana), pasa tu configuración por un validador de JSON, sustituye npx por su ruta absoluta y añade los servidores remotos desde Configuración, Conectores en lugar de hacerlo en el archivo de configuración. Con eso solo ya se resuelven la mayoría de los casos.

Revisa primero lo básico

Antes de tocar una sola línea de JSON, descarta las causas sencillas. Explican más configuraciones fallidas que cualquier error real.

Cierra Claude Desktop por completo

Cerrar la ventana no es cerrar la app. En Windows, la app sigue funcionando en la bandeja del sistema, y en macOS sigue activa hasta que pulsas Cmd+Q. Claude Desktop lee su configuración solo al arrancar, así que cualquier cambio que hagas mientras está abierta se ignora.

Haz clic con el botón derecho en el icono de la bandeja (o usa la barra de menús), elige Salir, espera dos segundos y vuelve a abrir la app. Hazlo después de cada cambio, aunque solo sea un carácter.

Primer plano de las manos de un desarrollador escribiendo en un equipo portátil a la altura de la mesa

Abre el archivo de configuración correcto

No busques el archivo a mano. Abre Configuración, elige Desarrollador y pulsa Editar configuración. Así se abre el archivo exacto que lee la app. Las ubicaciones habituales son estas:

SistemaArchivo de configuraciónCarpeta de registros
macOS~/Library/Application Support/Claude/claude_desktop_config.json~/Library/Logs/Claude/
Windows%APPDATA%\Claude\claude_desktop_config.json%APPDATA%\Claude\logs\

💡 Si editas un archivo y nunca cambia nada, puede que estés editando una copia que la app no usa. Algunas instalaciones empaquetadas de Windows redirigen los datos de la app a otra carpeta. Editar configuración siempre abre el correcto.

Una configuración mínima que funciona tiene este aspecto. Si esta carga y la tuya no, la diferencia entre los dos archivos es tu error.

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"]
    }
  }
}

Vista cenital de un escritorio con un equipo portátil, un cuaderno con bocetos de carpetas y una taza de té

Lee los registros antes de adivinar

Cada servidor local escribe su propio registro, llamado mcp-server-NAME.log, junto a un mcp.log general. En Configuración, Desarrollador, cada servidor también muestra si está en ejecución o ha fallado, así que puedes ver de un vistazo qué entrada es el problema.

Para seguir los registros en directo en macOS:

tail -n 40 -F ~/Library/Logs/Claude/mcp*.log

Y en PowerShell de Windows:

Get-Content "$env:APPDATA\Claude\logs\mcp.log" -Tail 40 -Wait

Reinicia la app con la ventana de registros abierta y el error suele aparecer en pantalla en los primeros segundos. Estas son las líneas que conviene reconocer:

Línea del registroQué significa
spawn npx ENOENTEl comando no se encontró en el PATH de la app
Unexpected token ... is not valid JSONEl servidor imprimió texto plano en stdout
Server transport closed unexpectedlyEl proceso se inició y terminó enseguida
401 Unauthorized o 403 ForbiddenToken ausente, caducado o rechazado
ECONNREFUSEDNo hay nada escuchando en esa dirección

Desarrollador visto de espaldas por la noche leyendo líneas de registro en una terminal bajo una lámpara de escritorio

Corrige el JSON de configuración roto

Claude Desktop no perdona los errores de sintaxis. Una sola coma mal puesta y todos los servidores del archivo desaparecen, no solo el que acabas de editar.

Errores de sintaxis que lo rompen todo

Revisa esta lista línea por línea:

  • Comas finales después de la última propiedad de un objeto o de una lista.
  • Comentarios. JSON no admite comentarios, así que las líneas // que copiaste de un tutorial romperán el archivo.
  • Comillas tipográficas. Las aplicaciones de chat y los procesadores de texto convierten " en comillas curvas que parecen idénticas pero fallan al instante.
  • Una coma que falta entre dos entradas de servidor.
  • Un nombre de nivel superior incorrecto. Debe ser exactamente mcpServers, con esa S mayúscula. Variantes como mcpservers o servers se ignoran sin avisar.
  • Números en env. Los valores de entorno deben ser cadenas, así que escribe "PORT": "8080", no "PORT": 8080.
  • Secciones borradas. Si el archivo ya tenía otros ajustes de nivel superior, consérvalos al pegar un bloque mcpServers nuevo.

Este es un archivo roto típico:

{
  "mcpServers": {
    "notes": {
      "command": "node",
      // path to my server
      "args": ["C:\Users\Ana\notes-server\index.js"],
    }
  }
}

Y la versión corregida:

{
  "mcpServers": {
    "notes": {
      "command": "node",
      "args": ["C:\\Users\\Ana\\notes-server\\index.js"]
    }
  }
}

La forma más rápida de detectar todo esto de una vez es dejar que un analizador haga el trabajo. Python incluye uno:

python -m json.tool claude_desktop_config.json

Si devuelve tu archivo tal cual, la sintaxis es válida. Si muestra un error con un número de línea, ve directamente a esa línea.

Vista desde abajo de un monitor lleno de código con sangría y una frente arrugada detrás

Rutas de Windows y barras invertidas

La barra invertida es el carácter de escape de JSON, así que C:\Users\Ana no es válido porque \U no es un escape real. Tienes dos opciones seguras:

  1. Duplica cada barra invertida: C:\\Users\\Ana\\notes-server\\index.js
  2. Usa barras normales: C:/Users/Ana/notes-server/index.js

Windows acepta las barras normales en casi todos los casos, y son mucho más difíciles de escribir mal. Los espacios en los nombres de carpeta no son un problema dentro de una cadena JSON, pero prueba antes la ruta en una terminal.

Corrige los errores de comando e inicio

La configuración es válida, la app se reinició y el servidor sigue fallando. Ahora el problema está en el propio proceso.

Por qué aparece spawn npx ENOENT

ENOENT significa "no existe ese archivo o directorio". Claude Desktop, cuando se abre desde el Dock o el menú Inicio, no lee el perfil de tu shell, así que nunca ve el PATH que tienes en una terminal. Si instalaste Node con nvm, fnm, asdf o Volta, los ejecutables están en una carpeta que solo conoce tu shell. El comando funciona en tu terminal y falla dentro de la app, y por eso resulta tan confuso.

Sendero de bosque que se divide en dos junto a un poste de madera sin indicaciones en una niebla otoñal

Usa rutas absolutas para Node

Pregunta a tu terminal dónde está realmente el ejecutable:

which npx     # macOS
where npx     # Windows

Después pega la ruta completa en command. Como npx necesita encontrar node, añade una entrada PATH en env que incluya la misma carpeta:

{
  "mcpServers": {
    "filesystem": {
      "command": "/Users/you/.nvm/versions/node/v22.11.0/bin/npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"],
      "env": {
        "PATH": "/Users/you/.nvm/versions/node/v22.11.0/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

Ejecuta también node --version. Muchos servidores iniciados con npx necesitan una versión LTS reciente de Node, y una instalación antigua del sistema es una causa oculta muy común.

El envoltorio cmd de Windows

En Windows, npx es en realidad un archivo por lotes llamado npx.cmd, y lanzarlo directamente puede fallar. Envuélvelo en cmd /c para que el shell lo resuelva correctamente:

{
  "mcpServers": {
    "filesystem": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@modelcontextprotocol/server-filesystem", "C:/Users/Ana/Documents"]
    }
  }
}

Dos equipos portátiles uno junto al otro sobre un escritorio blanco, uno plateado y otro negro, ambos mostrando editores de código

Mantén stdout limpio

Este punto afecta a quienes escriben su propio servidor. Un servidor stdio se comunica con Claude mediante mensajes JSON-RPC por stdout, y nada más puede ir ahí. Un console.log("server started") suelto corrompe el flujo, y la app corta la conexión con un error Unexpected token.

LenguajeIncorrectoCorrecto
Node.jsconsole.log("ready")console.error("ready")
Pythonprint("ready")print("ready", file=sys.stderr)
CualquieraSalida de depuración por stdoutEnvía todo a stderr o a un archivo de registro

💡 Algunas bibliotecas imprimen un banner o una advertencia de obsolescencia al importarse. Si el registro muestra texto que tú no escribiste, ejecuta el servidor en una terminal y observa qué aparece antes del primer mensaje del protocolo.

Corrige los servidores HTTP y remotos

Los servidores HTTP generan más confusión que ningún otro caso, porque el archivo de configuración parece el lugar para añadirlos. No lo es.

El archivo de configuración solo ejecuta servidores locales

Las entradas bajo mcpServers lanzan un programa en tu equipo y se comunican con él por stdin y stdout. No se conectan a una dirección web. Añadir "url": "https://example.com/mcp" a ese bloque es el error HTTP más frecuente, porque la app no tiene forma de usar esa entrada.

Vista simétrica de un pasillo de centro de datos entre bastidores de servidores negros, con un técnico al fondo

Añade un conector personalizado

Los servidores remotos se configuran con Conectores. Los conectores personalizados están disponibles en los planes Pro, Max, Team y Enterprise, y en Team o Enterprise puede que el propietario de la organización tenga que añadir el conector primero.

  1. Abre Configuración y elige Conectores.
  2. Pulsa Añadir conector personalizado.
  3. Pega la dirección HTTPS del endpoint del servidor, que a menudo termina en /mcp.
  4. Inicia sesión si el servidor pide OAuth.
  5. Activa el conector desde el menú de herramientas en un chat nuevo.

Busca un endpoint de Streamable HTTP. Un servidor que solo habla el transporte SSE antiguo es una incompatibilidad frecuente. Cuando el conector falla, esta tabla ayuda a acotar el problema:

Error que vesCausa probableSolución
401 o 403Token ausente, caducado o inicio de sesión no terminadoElimina el conector, añádelo de nuevo y completa la solicitud de OAuth
404Ruta incorrectaPrueba /mcp en lugar de /sse, o consulta la documentación del servidor
Tiempo agotado o conexión rechazadaEl servidor solo escucha en localhost o está detrás de un cortafuegosPublícalo en una dirección HTTPS accesible, o usa un puente
Error de certificadoCertificado autofirmado o caducadoUsa un certificado válido
Se conecta pero no muestra herramientasEl servidor falla al pedir la lista de herramientasRevisa los registros del propio servidor

Un servidor vinculado a localhost es el culpable habitual cuando un conector personalizado no logra conectarse, porque esa dirección significa algo distinto según desde dónde se origine la solicitud.

Usa un puente con mcp-remote

Cuando el servidor es privado, local o necesita una cabecera, el paquete mcp-remote actúa como puente stdio. Claude lo lanza como cualquier otro servidor local, y él reenvía el tráfico a tu endpoint HTTP:

{
  "mcpServers": {
    "my-remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://example.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_TOKEN"
      }
    }
  }
}

Hay dos detalles importantes. Primero, escribe la cabecera sin espacio después de los dos puntos y guarda el valor real en env. En Windows, los espacios dentro de args pueden deformarse cuando se inicia npx, y esta estructura evita ese fallo. Segundo, mcp-remote tiene opciones para forzar un comportamiento solo HTTP o solo SSE, así que revisa su README cuando la negociación predeterminada elija el transporte equivocado. Todo lo de las secciones anteriores sigue aplicando: reinicia por completo, usa rutas absolutas y lee el registro.

Prueba los servidores fuera de Claude

Cuando no sabes si el fallo está en el servidor o en la app, deja la app fuera de la ecuación.

Ejecuta MCP Inspector

MCP Inspector, la herramienta oficial, se conecta a un servidor y muestra sus herramientas en una pestaña del navegador:

npx @modelcontextprotocol/inspector node build/index.js

En el caso de un servidor HTTP, abre el Inspector, elige el tipo de transporte correspondiente y pega la URL. El resultado separa el problema con claridad:

  • Las herramientas aparecen en el Inspector pero no en Claude: el problema está en tu configuración, en el PATH o en el reinicio.
  • El Inspector también falla: el problema está en el servidor, así que arréglalo allí primero.

Prueba HTTP con curl

Para un servidor Streamable HTTP, envía una solicitud initialize real y lee el código de estado:

curl -i -X POST https://example.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-test","version":"0.0.1"}}}'
EstadoSignificado
200 con un cuerpo JSON o event-streamEl servidor está activo y el transporte es el correcto
401 o 403La dirección es correcta, las credenciales no
404Ruta incorrecta
405 o 406Falta la cabecera Accept, o el endpoint espera otro método
Tiempo agotadoRed, cortafuegos o DNS

Primer plano macro de cables Ethernet azules conectados a un panel de parcheo gris

Usa las herramientas de PicassoIA dentro de Claude

Una vez que los conectores funcionan, lo bueno es aprovecharlos. PicassoIA ofrece una conexión MCP para que Claude cree imágenes y clips por ti dentro de un chat. La conexión expone cuatro modelos:

ModeloQué hace
PicassoIA ImageTexto a imagen
PicassoIA Image Editor ProEdita una imagen existente
PicassoIA VideoTexto o imagen a video
Seedance 2.5 LiteVideo con audio

Los trabajos de generación son asíncronos. La herramienta devuelve de inmediato un ID de predicción, y Claude consulta después el estado hasta que el trabajo termina con éxito o con error. Este diseño explica gran parte de los informes de "se queda colgado":

  • Un trabajo sigue apareciendo como en ejecución: pide a Claude que revise la predicción existente por su ID. Volver a enviar el mismo prompt solo inicia un segundo trabajo.
  • Fallos cuando se ejecutan muchos trabajos a la vez: una cuenta ejecuta hasta cinco predicciones simultáneas, compartidas entre todas las conexiones, así que mantente en cinco o menos.
  • Herramientas que faltan tras conectar: activa el conector desde el menú de herramientas y abre un chat nuevo.
  • No sabes qué permite tu plan: pide a Claude que consulte tu cuenta, o revisa la página de conexiones MCP en tu cuenta de PicassoIA.

Fotógrafo en un estudio luminoso revisando una cuadrícula de fotografías de paisajes en un monitor grande

Usa Claude Sonnet 5 en PicassoIA

¿Atascado con una configuración que parece correcta y aun así falla? Pásasela a un segundo par de ojos. Claude Sonnet 5 funciona en PicassoIA y está pensado para depurar código, y puede leer capturas de pantalla de avisos de error.

  1. Abre la página del modelo. Ve a Claude Sonnet 5 en PicassoIA.
  2. Rellena el prompt. Pega tu configuración, las últimas 30 líneas del registro, tu sistema operativo, tu versión de Node y lo que esperabas que pasara. Elimina antes todos los tokens.
  3. Adjunta una captura de pantalla. El campo image acepta una imagen del error. Sube max_image_resolution por encima de su valor predeterminado de 0,5 megapíxeles si el texto se ve borroso al escalarlo.
  4. Ajusta el esfuerzo. El valor predeterminado low es el más rápido. Cambia a high cuando interactúan varios servidores o la causa no está clara.
  5. Añade un prompt del sistema. Algo como: "Eres un asistente para resolver problemas de MCP. Devuelve primero el JSON corregido y después una lista breve de causas."
  6. Genera y compara. Compara la respuesta con tu archivo, aplica un cambio cada vez y reinicia la app por completo después de cada uno.

💡 Nunca pegues tokens reales en ninguna ventana de chat. Sustitúyelos por YOUR_TOKEN y pon el valor real solo en tu archivo local.

Para problemas difíciles que abarcan varios archivos, Claude Fable 5 y Claude Opus 4.7 también están disponibles en la misma categoría.

Crea tu primera imagen hoy

Tus servidores están en marcha, las herramientas son visibles y lo más difícil ya está hecho. Ahora dedica diez minutos a la parte divertida. Abre PicassoIA Image y escribe un prompt para una escena que colgarías en una pared. Refínala con PicassoIA Image Editor Pro y luego dale vida con PicassoIA Video.

Prueba el mismo prompt en tres estilos, cambia el ángulo de la cámara, pasa la luz del amanecer al atardecer y compara. La forma más rápida de mejorar es hacer muchos experimentos pequeños y quedarte con los que te sorprendan. Cuando quieras más opciones, explora todos los modelos en picassoia.com/en/all-models y mira qué encaja en tu próximo proyecto en Picasso IA.

Compartir este artículo

Elige tu idioma