# Connect SocialCutter to Cline over MCP: the right transport
> Configure the SocialCutter MCP server in Cline: type streamableHttp, the IDE and CLI config files, autoApprove and the transport errors to expect.
- URL: https://socialcutter.theboomer.dev/en/guides/cline/
- Idioma: en
- Familia: ia
- Actualizado: 2026-09-24
- Palabras clave: Cline, MCP, streamableHttp, sse, cline_mcp_settings.json, X-API-Key, SocialCutter
## What Cline is and where MCP fits

Cline is a coding agent that works inside your editor and also ships a CLI. Like any MCP client, it lets the agent call tools on an external service instead of hand-writing HTTP requests. In our case, the SocialCutter MCP server publishes **28 tools**: process images, read history and wallet, manage coupons and API keys, and read billing.

The full tool catalogue, the connection modes and the protocol details live in the [SocialCutter MCP server guide](/en/guides/mcp/). This page focuses on what is specific to Cline, which has one documented trap, two separate configuration files and a command-line wizard with a limitation that catches people out.

First, the basics: SocialCutter accepts both headers, **`X-API-Key: sc_...`** and **`Authorization: Bearer sc_...`**. Use whichever your client documents; the result is identical. A `Bearer` without the `sc_` prefix is treated as a session token and will return 401. The endpoint is `https://mcp.socialcutter.theboomer.dev/mcp` and it speaks streamable HTTP, not SSE.

## The trap: omit type and Cline assumes sse

This is the part to read twice, because it is documented and still ends up in almost every hand-written config.

Cline keeps the **legacy `sse` transport** for backwards compatibility. When a `mcpServers` entry **omits the `type` field**, Cline does not guess from the shape of the URL and does not try several transports: it assumes `sse`. And since the SocialCutter endpoint is streamable HTTP, that assumption points at the wrong connection.

The typical symptom is not a clear error but a server that shows up in the list **with no tools**, or that sits there trying to connect. That is exactly the kind of failure you debug in the wrong place: you check the URL, the key, the firewall — and the problem was a missing field.

The fix is one line:

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

Which is why every example on this page includes an explicit `type`. If you are also migrating an old config that used to work over SSE, that is the change: `sse` out, `streamableHttp` in.

## The two configuration files

Cline is both an IDE extension and a CLI, and each one keeps its config somewhere else:

| Usage | File | Scope |
|---|---|---|
| IDE extension | `~/.cline/data/settings/cline_mcp_settings.json` | Shared global |
| CLI | `~/.cline/mcp.json` | CLI global |

Two practical notes:

- **They do not sync on their own.** Adding the server to the extension does not add it to the CLI or the other way round. If you use both, write the entry in both files.
- **In the extension** you can also open that same JSON from the **Configure MCP Servers** button in the MCP panel: it is the safest way to hit the right path, because it opens the file the extension is actually reading.

On Windows the `~` is your user folder, so `~/.cline/mcp.json` is `C:\Users\your_user\.cline\mcp.json`.

## The full block

With an explicit `type`, the correct header and the two control fields Cline expects:

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

What each field does:

- **`type`**: `"streamableHttp"`. Never omit it; omitting it means `sse` and the wrong transport.
- **`url`**: the exact endpoint, with its trailing `/mcp`.
- **`headers`**: `X-API-Key` with the `sc_...` key, or `Authorization: Bearer sc_...`. No tool accepts the key as an argument, so authentication always travels in a header.
- **`disabled`**: `false` to keep the server active. Set it to `true` and Cline ignores the server without deleting the config, which is handy for switching one off temporarily.
- **`autoApprove`**: an array. Empty means Cline asks for confirmation before using any tool. Add specific names — `["list_platforms", "get_credits"]`, for instance — and those run without asking while the rest keep asking.

If you would rather not write the key in plain text, keep the value in your secrets manager and paste the file from a template. Cline's config file is not meant to be published.

## Install from the command line (and its limitation)

Cline ships a wizard so you do not have to edit the JSON by hand:

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

And to review what is registered:

```bash
cline mcp
```

The important caveat: **the install wizard requires an interactive terminal (TTY)**. It works fine when you run it yourself in your terminal, and it fails or hangs in a script, an automation file, a CI job or any environment without an interactive terminal. If that is your case, the alternative is exactly the block above: **edit the JSON directly**. There is no documented flag that unlocks the wizard without a TTY, so it is not worth fighting.

In practice, for a single machine the fastest path is to write the entry in the JSON and refresh. The wizard earns its keep when you are registering several servers and do not want to remember the field names.

## Common errors

| Symptom | Likely cause | Fix |
|---|---|---|
| The server appears but has no tools | `type` is missing, so Cline uses the legacy `sse` transport | Add `"type": "streamableHttp"` and refresh |
| `401: Invalid or expired authentication token` | No header reaches the server, or an `Authorization: Bearer` whose value does not start with `sc_` (treated as a session token) | Send your `sc_...` key in `X-API-Key`, or in `Authorization: Bearer sc_...` |
| `401: Invalid API key` | The key is mistyped, revoked or from another account | Create a new one under Profile → API keys and replace it |
| It works in the IDE but not in the CLI | You edited only one of the two files | Mirror the entry in `~/.cline/mcp.json` |
| `cline mcp install` does not respond or hangs | The wizard needs an interactive terminal | Edit the JSON by hand |
| The server stays disabled | `disabled` is set to `true` | Set it to `false` and refresh |
| Every call asks for confirmation | `autoApprove` is empty | Add the tools you want to run without asking |

## Next steps

- Protocol overview: [Use SocialCutter from your LLM or editor with MCP](/en/guides/mcp/)
- Code path: [Process images with the API from the terminal (curl)](/en/guides/curl/) and [from Python](/en/guides/python/)
- Strategy: [Automating social media images: the 4 paths](/en/guides/automatizar-imagenes-redes-sociales/)
- API reference: https://docs.socialcutter.theboomer.dev
- Dashboard: https://dash.socialcutter.theboomer.dev