Add a Remote MCP Server to Cline: Settings, Auth and Fixes | MCP Hunter

Add a Remote MCP Server to Cline: Settings, Auth and Fixes

How to add a remote MCP server to Cline from the Remote Servers tab, the CLI or cline_mcp_settings.json, why a missing type falls back to SSE, how sign-in works, and how to fix one that will not connect.

MCP Hunter team 6 min read

The quickest way is the Remote Servers tab: in the Cline panel, click the MCP Servers icon in the top toolbar, open Remote Servers, enter a name and the server's URL, leave the transport on Streamable HTTP, and click Add Server [1].

To write it yourself, the same server is one entry in cline_mcp_settings.json:

{
  "mcpServers": {
    "my-server": {
      "type": "streamableHttp",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Everything below is checked against Cline's documentation, and where the documentation is silent against its source code, on 14 October 2026 [1][2][3].

TL;DR:

  • Always write "type": "streamableHttp". Leave it out and Cline uses the legacy SSE transport [1].
  • One settings file for every Cline: VS Code, JetBrains, the CLI and the SDK all read cline_mcp_settings.json in ~/.cline/data/settings/ [1][4].
  • A server that needs sign-in shows an Authenticate button on its row [3].
  • timeout is in seconds, default 60 [3].

Add the server

From the Remote Servers tab

The form asks for three things [1]:

Field What to put
Server Name Any unique label, such as my-server
Server URL The MCP endpoint itself, usually ending in /mcp, not the product's homepage
Transport Type Streamable HTTP, which the form selects for you

If the tab is missing, your organisation has turned off personal remote servers [3].

From the CLI

cline mcp opens a wizard, or add a server in one line [2]:

cline mcp add my-server https://mcp.example.com/mcp \
  --transport http \
  --header "Authorization: Bearer $MY_SERVER_TOKEN" --yes

cline config mcp lists what is configured [2]. The CLI writes to the same file the editor reads, so a server added here shows up in VS Code too [1].

In cline_mcp_settings.json

In the editor, open the MCP Servers icon, then the Configure tab, then Configure MCP Servers. That opens the settings file [1]. On disk it lives in ~/.cline/data/settings/, and you can point it elsewhere with the CLINE_MCP_SETTINGS_PATH environment variable [1].

A full remote entry, from Cline's own example [1]:

{
  "mcpServers": {
    "my-server": {
      "type": "streamableHttp",
      "url": "https://mcp.example.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

autoApprove lists tool names Cline may call without asking you first. Leave it empty for a server you have not vetted.

Why the type field matters

Cline's documentation is direct about it: "Omitting it defaults to the legacy sse transport for backward compatibility" [1]. So an entry with only a url, the shape Cursor's documentation uses, connects to a modern server with a transport it may no longer speak.

type Transport
streamableHttp Streamable HTTP, what current servers speak
sse, or no type at all SSE, the transport Streamable HTTP replaced
stdio A local process

Any other value fails with "Server type must be one of: 'stdio', 'sse', or 'streamableHttp'" [3]. Note the casing: streamableHttp, not streamable-http or http.

Keep the token out of the file

Cline's advice is to keep secrets in environment variables [1]. The VS Code extension expands ${env:VAR_NAME} in URLs and headers [3]:

"headers": {
  "Authorization": "Bearer ${env:MY_SERVER_TOKEN}"
}

The CLI's documentation does not describe that syntax, so on the CLI pass the header with --header from a shell where the variable is set, as above.

Sign in to a server that needs it

When a server answers 401, its row in the MCP Servers panel says "This MCP server requires authentication to get started." and shows an Authenticate button [3]. Clicking it opens the server's sign-in page in your browser, and Cline sends the token it gets back as Authorization: Bearer [3]. On the CLI, the cline mcp wizard has an "Authorize OAuth" step that runs or reruns the browser sign-in [1].

Most servers let a client register itself during that sign-in. We read the authorization metadata of 169 servers that ask for credentials, from our registry census on 9 October 2026: 162 offered Dynamic Client Registration [5]. MCP OAuth covers what a server has to publish for this to work.

Timeouts

Each server has a timeout in seconds, default 60, between 1 and 3,600 [3]. A larger value is clamped to 3,600, because Cline reads it as a seconds and milliseconds mix-up [3]. You can also set it from the dropdown on the server's row [3].

"my-server": {
  "type": "streamableHttp",
  "url": "https://mcp.example.com/mcp",
  "timeout": 180
}

A slow tool fails with "MCP request to "my-server" timed out after 60s." [3] Raising the limit is the quick fix; the lasting one is a tool that returns early and lets the client poll, which MCP server errors covers along with 406s, CORS and -32601.

When it will not connect

What you see Usual cause Fix
A known-good server fails to connect No type, so Cline spoke SSE Add "type": "streamableHttp"
"Server type must be one of ..." type spelled differently Use streamableHttp exactly
"MCP settings schema error: no servers were loaded." [3] Invalid JSON or an unknown field Fix the file; one bad entry stops them all
"Invalid URL format" in the form [3] A URL without https:// Paste the full endpoint
401 with a header configured Token wrong, expired, or ${env:...} unset Check the variable where your editor starts
"requires authentication to get started" The server uses sign-in Click Authenticate
"timed out after 60s" One slow tool Raise timeout (seconds)
The Remote Servers tab is missing Blocked by your organisation's settings Ask your admin, or edit the file if allowed

Check it from outside before you share it

Our MCP connection test calls your server from our network, runs the handshake and tools/list, and reports what a stranger on the internet gets back, with a dated URL you can share. If it passes there and fails in Cline, the problem is in your settings file, not the server.

The same setup in other clients is in Claude Code, Codex, Cursor, VS Code, Gemini CLI, GitHub Copilot CLI, Claude Desktop and ChatGPT, and remote MCP server vs stdio covers whether your server should have a public address at all.

Sources

  1. MCP overview, Cline docs
  2. CLI reference, Cline docs
  3. Cline source code, GitHub: the settings schema, McpHub.ts, the Remote Servers form and the shared MCP timeout rules, read on 14 October 2026
  4. Configuration, Cline docs
  5. Dynamic Client Registration, MCP Hunter glossary