Home / Integrations / Cline

Cline MCP setup: the complete config reference

Where Cline’s MCP config lives, what goes in it, the marketplace and GitHub install paths, and how to fix the common failures — plus how to put a policy gate in front of every tool call.

QUICK ANSWERQuick answer: servers live in cline_mcp_settings.json — open it via the MCP Servers icon → Configure tab → Configure MCP Servers. Top-level key is mcpServers.

Where Cline keeps its MCP config.

ScopePathNotes
VS Code extension cline_mcp_settings.json Open it via the MCP Servers icon → Configure tab → Configure MCP Servers — the button opens the right file for your install.
Cline CLI ~/.cline/mcp.json Used by the standalone CLI.

The extension file’s on-disk location has moved between versions (older installs kept it under VS Code’s globalStorage/saoudrizwan.claude-dev/settings/) — the Configure button is the reliable route.

The config format, key by key.

A top-level mcpServers object, one entry per server. Local servers declare a command; remote servers declare a url. Cline adds two keys most clients don’t have: disabled and autoApprove.

KeyWhat it does
command Executable for a stdio server. Use an absolute path if PATH resolution fails.
args Array of arguments passed to the command.
env Environment variables for the server process.
url Endpoint for a remote server — streamable HTTP recommended, SSE legacy.
headers HTTP headers for remote servers — where auth tokens go.
disabled Set true to switch a server off without deleting its config.
autoApprove Array of tool names Cline may run without asking. Empty array = approve every call manually.
timeout Connection/request timeout for the server.
cline_mcp_settings.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

REMOTE SERVER (HTTP):

cline_mcp_settings.json
{
  "mcpServers": {
    "remote-server": {
      "url": "https://example.com/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

What Cline speaks.

TransportStatusHow to declare it
stdio Supported Declare command + args. Runs locally.
Streamable HTTP Supported Declare url. The recommended remote transport.
SSE Deprecated Legacy remote transport; still accepted, prefer streamable HTTP.

Adding a server, three ways.

01 MCP Servers panel

Click the MCP Servers icon in Cline’s top toolbar → Configure tab → Configure MCP Servers opens the JSON file. Save and Cline reloads the list.

02 MCP Marketplace

The Marketplace tab in the same panel offers one-click installs for popular servers — Cline writes the config for you.

03 Remote Servers tab + CLI

The Remote Servers tab adds a URL-based server from the UI, and the cline mcp CLI wizard prompts for a name, transport, and command or URL.

Check it's actually connected.

  1. Open the MCP Servers panel — each configured server shows a status row with an enable/disable toggle.
  2. Expand the server entry to see its discovered tools.
  3. Ask Cline to use one of the tools; without an autoApprove entry it will ask before each call.

When it doesn't work.

Server shows as unresponsive

Use the Restart Server button in the MCP panel — the most common fix after a config change or a crashed process.

Command not found when launched from VS Code

GUI-launched VS Code doesn’t always inherit your shell PATH. Use an absolute path for commandwhich npx gives it to you.

Cline asks for approval on every single call

That’s the default. Add the tool names you trust to the server’s autoApprove array.

Remote server won’t connect

Use streamable HTTP rather than legacy SSE, and put the auth token in headers.Authorization. Raise timeout for slow servers.

Config file nowhere to be found

Don’t hunt the filesystem — the location has moved between versions. The Configure MCP Servers button in the MCP panel opens the right file for your install.

Put a policy gate in front of it.

A standard Postgres MCP wired into Cline. Every query hits the database directly, with no audit trail and no statement-level controls.

cline_mcp_settings.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"],
      "env": {},
      "disabled": false
    }
  }
}

Register the Postgres MCP in PolicyLayer, mint a grant, point Cline at the proxy URL. PolicyLayer evaluates every call against the grant’s policy before it reaches the database.

cline_mcp_settings.json
{
  "mcpServers": {
    "postgres": {
      "url": "https://proxy.policylayer.com/mcp/<server-uuid>/",
      "headers": {
        "Authorization": "Bearer <grant-token>"
      },
      "disabled": false
    }
  }
}

The <server-uuid> appears on each server's detail page. The <grant-token> shows once at mint time. See the Quick start for the full setup walk-through — and if you operate under SOC 2, HIPAA, GDPR or similar, the compliance hub maps how gateway-mediated MCP traffic evidences each framework.

What the gateway adds.

Rate limits
Cap tool calls per minute, hour, or day, per grant or shared across the team.
Access controls
Allow, deny, or conditionally gate any tool against the call's arguments.
Spend caps
Increment a counter by the call's amount; deny when the daily total exceeds your budget.
Audit logs
Every call records the grant, tool, argument keys, and the rule that decided.

A policy in practice.

Allow list_tables. Allow queries, but deny any statement containing DROP, TRUNCATE or DELETE.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "query": {
      "deny_if": [
        {
          "conditions": [
            { "path": "args.sql", "op": "regex", "value": "(?i)(DROP|TRUNCATE|DELETE)\\s" }
          ]
        }
      ]
    },
    "list_tables": {}
  }
}

See Writing policies for the policy format, operators, and quota shapes.

Cline MCP questions.

Where is the Cline MCP settings file?+

The reliable route is the MCP Servers icon → Configure tab → Configure MCP Servers, which opens cline_mcp_settings.json wherever your install keeps it — the on-disk location has moved between versions. The standalone Cline CLI uses ~/.cline/mcp.json.

What does autoApprove do in Cline?+

It lists tool names Cline may execute without asking you first. With an empty array (the default), every tool call needs manual approval. Only auto-approve tools you would be happy to see run unattended.

Does Cline support remote MCP servers?+

Yes. Declare a url instead of a command — streamable HTTP is the recommended transport, with SSE kept as legacy support. Auth tokens go in the headers block.

How do I install an MCP server in Cline without editing JSON?+

The MCP Marketplace tab offers one-click installs, the Remote Servers tab adds URL-based servers from the UI, and the cline mcp CLI wizard walks through name, transport and command or URL.

Is autoApprove enough to control what Cline’s tools can do?+

autoApprove only decides whether you are asked — it can’t inspect arguments, rate-limit, or log calls. For rules like “allow queries but never DROP” you need argument-level policy, which is what routing the server through PolicyLayer adds.

Take your agents live. Without losing control.

Route your MCP traffic through PolicyLayer. Every tool call is checked against your policy before it runs: allow, deny, or require approval. Per-identity grants. Full audit log. Live in minutes.

Instant setup, no code required.

46,500+ MCP servers and 515,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.