Nodo Slack MCP roto después de la actualización reciente de n8n Cloud — HTTP Streamable retorna error JSON-RPC invalid_union

Nodo Slack MCP roto después de la actualización reciente de n8n Cloud — HTTP Streamable devuelve error JSON-RPC invalid_union

Describe el problema/error/pregunta

Mi nodo Slack MCP dejó de funcionar de la noche a la mañana sin cambios de mi parte. Había estado funcionando de manera confiable durante más de un mes.

¿Cuál es el mensaje de error (si lo hay)?

{ “code”: “invalid_union”, “errors”: […], “path”: , “message”: “Invalid input” }

El error incluye "Unrecognized keys: \"ok\", \"error\"" — lo que significa que el servidor Slack MCP está devolviendo una respuesta en formato Slack API en lugar de JSON-RPC 2.0.

Configuración del nodo:

  • Endpoint: https://mcp.slack.com/mcp

  • Server Transport: HTTP Streamable

  • Autenticación: Bearer Auth (token xoxp)

Lo que he descartado:

  • El token es válido — una prueba curl directa devuelve una respuesta limpia en JSON-RPC 2.0 tools/list

  • Intenté SSE como alternativa y el transporte SSE a https://mcp.slack.com/sse falla con “Could not connect to MCP server” (Slack solo admite HTTP Streamable)

Mi teoría: La actualización reciente del núcleo de n8n que añadió un controlador GET para cumplimiento de la especificación HTTP Streamable (#28787) parece haber roto la compatibilidad con el servidor MCP de Slack. El protocolo de enlace GET que n8n ahora inicia está siendo rechazado por el servidor de Slack, que responde en formato Slack API (ok/error) en lugar de JSON-RPC 2.0.

Entorno:

  • n8n Cloud (pendoio.app.n8n.cloud)

  • Nodo Slack MCP como herramienta dentro de un nodo AI Agent

¿Alguien más ha encontrado esto? ¿Hay alguna solución alternativa mientras se trabaja en un parche?

¡Hola @Camille_Eyman! ¡Bienvenida a la comunidad!

Del issue solo encontré este caso de 2025 MCP client tool uses SSE while http streamable is selected · Issue #18938 · n8n-io/n8n · GitHub
Por lo que parece en tu caso, Slack está trayendo algo diferente a JSON, esto genera error.
Yo evitaría el camino del Slack MCP y usaría el nodo Slack o llamaría a la API de Slack mediante HTTP request

La causa raíz es una falta de coincidencia entre lo que devuelve el servidor MCP de Slack y lo que espera el cliente MCP de n8n. El endpoint mcp.slack.com/mcp de Slack utiliza su propio envoltorio de respuesta ({"ok": true, ...}) para algunas llamadas en lugar de JSON-RPC 2.0 puro — el cliente MCP de n8n valida estrictamente el formato JSON-RPC 2.0 y rechaza cualquier cosa con claves no reconocidas como ok o error.

Esta es una peculiaridad de implementación del lado de Slack, no un bug puro de n8n, pero la validación más estricta de n8n después de la actualización lo pone de manifiesto.

Por ahora, los workarounds prácticos son:

  • Utilizar el nodo de Slack nativo en n8n (cubre la mayoría de operaciones comunes)
  • Para operaciones que el nodo de Slack no cubre, utilizar un nodo HTTP Request llamando directamente a la API web de Slack (https://slack.com/api/METHOD) con tu token de bot

Si necesitas MCP específicamente para un agente de IA, puedes reportar esto como un bug en el GitHub de n8n para que puedan agregar tolerancia para envoltorios JSON-RPC no estándar de la implementación MCP de Slack.