# Conecta SocialCutter a Cline por MCP: el transporte correcto
> Configura el servidor MCP de SocialCutter en Cline: type streamableHttp, los ficheros del IDE y del CLI, autoApprove y errores de transporte.
- URL: https://socialcutter.theboomer.dev/guias/cline/
- Idioma: es
- Familia: ia
- Actualizado: 2026-09-24
- Palabras clave: Cline, MCP, streamableHttp, sse, cline_mcp_settings.json, X-API-Key, SocialCutter
## Qué hace Cline y dónde encaja el MCP

Cline es un agente de programación que trabaja sobre tu editor y también tiene un CLI. Como cualquier cliente MCP, permite que el agente llame herramientas de un servicio externo en lugar de escribir peticiones HTTP a mano. En nuestro caso, el servidor MCP de SocialCutter publica **28 herramientas**: procesar imágenes, consultar el historial y el monedero, gestionar cupones y claves de API, y leer la facturación.

El catálogo completo de herramientas, los modos de conexión y los detalles del protocolo están en la [guía del servidor MCP de SocialCutter](/guias/mcp/). Esta página se centra en lo específico de Cline, que tiene una trampa documentada, dos ficheros de configuración distintos y un asistente de línea de comandos con una limitación que sorprende a mucha gente.

Antes de entrar: SocialCutter admite las dos cabeceras, **`X-API-Key: sc_...`** y **`Authorization: Bearer sc_...`**. Usa la que documente tu cliente; el resultado es el mismo. Un `Bearer` sin el prefijo `sc_` se trata como token de sesión y dará 401. El endpoint es `https://mcp.socialcutter.theboomer.dev/mcp` y habla HTTP con streaming, no SSE.

## La trampa: si omites type, Cline asume sse

Esta es la parte que hay que leer dos veces, porque está documentada y aun así se cuela en casi todas las configuraciones escritas a mano.

Cline mantiene el transporte **legacy `sse`** por retrocompatibilidad. Cuando en una entrada de `mcpServers` **falta el campo `type`**, Cline no adivina por la forma de la URL ni prueba varios transportes: asume `sse`. Y como el endpoint de SocialCutter es HTTP con streaming, ese supuesto apunta a la conexión equivocada.

El síntoma típico no es un error visible y claro, sino un servidor que aparece en la lista **sin herramientas** o que se queda intentando conectar. Es exactamente el tipo de fallo que se busca en el sitio equivocado: se revisa la URL, la clave, el cortafuegos, y el problema era un campo que no estaba.

La solución es de una línea:

```json
"type": "streamableHttp"
```

De ahí que todos los ejemplos de esta guía incluyan siempre `type` explícito. Si además estás migrando una configuración antigua que funcionaba con SSE, ese es el cambio: `sse` fuera, `streamableHttp` dentro.

## Los dos ficheros de configuración

Cline es extensión de IDE y también CLI, y cada uno guarda su configuración en un sitio distinto:

| Uso | Fichero | Ámbito |
|---|---|---|
| Extensión de IDE | `~/.cline/data/settings/cline_mcp_settings.json` | Global compartido |
| CLI | `~/.cline/mcp.json` | Global del CLI |

Dos avisos prácticos:

- **No se sincronizan solos.** Añadir el servidor a la extensión no lo añade al CLI ni al contrario. Si usas los dos, escribe la entrada en ambos ficheros.
- **En la extensión** también puedes abrir el mismo JSON desde el botón **Configure MCP Servers** del panel de MCP: es la forma más segura de acertar con la ruta que usa tu versión, porque abre directamente el fichero que la extensión está leyendo.

En Windows, el `~` es tu carpeta de usuario, así que `~/.cline/mcp.json` es `C:\Users\tu_usuario\.cline\mcp.json`.

## El bloque completo

Con `type` explícito, la cabecera correcta y los dos campos de control que Cline espera:

```json
{
  "mcpServers": {
    "socialcutter": {
      "type": "streamableHttp",
      "url": "https://mcp.socialcutter.theboomer.dev/mcp",
      "headers": { "X-API-Key": "sc_tu_clave" },
      // equivalente: "headers": { "Authorization": "Bearer sc_tu_clave" },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

Qué hace cada campo:

- **`type`**: `"streamableHttp"`. No lo omitas nunca; omitirlo significa `sse` y el transporte equivocado.
- **`url`**: el endpoint exacto, con su `/mcp` final.
- **`headers`**: `X-API-Key` con la clave `sc_...`, o `Authorization: Bearer sc_...`. Ninguna herramienta acepta la clave como argumento, la autenticación va siempre por cabecera.
- **`disabled`**: `false` para dejar el servidor activo. Si lo pones en `true`, Cline lo ignora sin borrar la configuración, que es útil para desactivar un servidor puntualmente.
- **`autoApprove`**: un array. Vacío significa que Cline te pide confirmación antes de usar cualquier herramienta. Si añades nombres concretos —por ejemplo `["list_platforms", "get_credits"]`—, esas se ejecutan sin preguntar y el resto siguen pidiendo permiso.

Si prefieres no escribir la clave en claro, guarda el valor en tu gestor de secretos y pega el fichero desde plantilla. El fichero de configuración de Cline no está pensado para publicarse.

## Alta por línea de comandos (y su limitación)

Cline trae un asistente para no editar el JSON a mano:

```bash
cline mcp install socialcutter --transport http https://mcp.socialcutter.theboomer.dev/mcp
```

Y para revisar lo que hay dado de alta:

```bash
cline mcp
```

El aviso importante: **el asistente de instalación exige una terminal interactiva (TTY)**. Funciona perfectamente cuando lo lanzas tú en tu terminal, y falla o se queda colgado en un script, en un fichero de automatización, en una CI o en cualquier entorno sin terminal interactiva. Si es tu caso, la alternativa es exactamente la que ya tienes arriba: **editar el JSON directamente**. No hay un flag documentado que desbloquee el asistente sin TTY, así que no merece la pena pelearse con él.

En la práctica, para una sola máquina el camino más rápido es crear la entrada en el JSON y refrescar. El asistente tiene sentido cuando estás dando de alta varios servidores y no quieres recordar el nombre de los campos.

## Errores típicos

| Síntoma | Causa probable | Solución |
|---|---|---|
| El servidor aparece pero sin herramientas | Falta `type`, así que Cline usa el transporte legacy `sse` | Añade `"type": "streamableHttp"` y refresca |
| `401: Invalid or expired authentication token` | No llega ninguna cabecera, o un `Authorization: Bearer` cuyo valor no empieza por `sc_` (se toma como token de sesión) | Manda tu clave `sc_...` en `X-API-Key`, o en `Authorization: Bearer sc_...` |
| `401: Invalid API key` | Clave mal copiada, revocada o de otra cuenta | Crea una nueva en Perfil → API keys y sustitúyela |
| La conexión funciona en el IDE y no en el CLI | Has editado solo uno de los dos ficheros | Replica la entrada en `~/.cline/mcp.json` |
| `cline mcp install` no responde o se cuelga | El asistente necesita una terminal interactiva | Edita el JSON a mano |
| El servidor sigue desactivado | `disabled` está en `true` | Ponlo en `false` y refresca |
| Cada llamada pide confirmación | `autoApprove` está vacío | Añade a la lista las herramientas que quieras ejecutar sin preguntar |

## Siguientes pasos

- Panorama del protocolo: [Usa SocialCutter desde tu LLM o editor con MCP](/guias/mcp/)
- Camino con código: [Procesa imágenes con la API desde la terminal (curl)](/guias/curl/) y [desde Python](/guias/python/)
- Estrategia: [Automatizar imágenes para redes sociales: los 4 caminos](/guias/automatizar-imagenes-redes-sociales/)
- Referencia de la API: https://docs.socialcutter.theboomer.dev
- Dashboard: https://dash.socialcutter.theboomer.dev