MCP clients — Claude Desktop · Cursor · Cline · Roo Code · Continue · VS Code · Zed
MCP clients — six in one place
If MCP is the standard, the clients are the entry points that actually expose it to users. Multi-client environments, where multiple clients share the same server simultaneously, are the reality.
1. About clients
An MCP client is both an LLM host and the part that maintains a 1:1 connection to one MCP server. From the user's perspective, an MCP client is recognized as "an app that can register MCP servers and use the tools."
| Client | Form | Origin |
|---|---|---|
| Claude Desktop | Desktop app | Anthropic. |
| Cursor | AI-first IDE (VS Code based) | Anysphere. |
| Cline | VS Code extension | saoudrizwan. |
| Roo Code | VS Code extension (fork of Cline) | RooVetGit / Roo Code team. |
| Continue | VS Code · JetBrains extension | Continue Dev. |
| VS Code (Copilot Chat) | Editor + extension | Microsoft. |
| Zed | Editor | Zed Industries. |
| Goose | Desktop · CLI | Block. |
New clients keep emerging, so the table above is partial.
2. Configuration format
Most clients share an mcpServers key structure. The differences are file location and additional fields.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
"env": { "EXTRA": "1" }
},
"remote": {
"url": "https://example.com/mcp",
"headers": { "Authorization": "Bearer ..." }
}
}
}
Configuration file locations (subject to change over time):
| Client | Location |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | Project or ~/.cursor/mcp.json |
| Cline / Roo Code | VS Code settings or workspace .mcp.json |
| VS Code | .vscode/mcp.json or user settings |
| Zed | context_servers in ~/.config/zed/settings.json |
3. Transport · permissions
Transports:
- STDIO — supported by virtually all clients. The most common shape.
- HTTP / Streamable HTTP — added relatively late, gradually becoming standard.
Tool permission models:
- Auto-execute — some clients allow automatic calls for safe tools.
- Per-call approval — ask the user on each call.
- Per-session approval — pass once at the start, then through the session.
- Allow-list — pre-allow by tool/server name.
Even with the same server, the user experience differs sharply depending on the client's permission model.
4. Notes per client
Claude Desktop — one of the original MCP implementations. macOS and Windows desktop app, Claude as the host model. Supports all three primitives — resources, tools, prompts.
Cursor — an AI-first IDE based on a VS Code fork. Manages MCP server registration at project and user levels; tools and resources flow into the agent mode's context.
Cline — a VS Code extension maintained by saoudrizwan. Started as an autonomous coding agent; MCP support was added later. The user approval steps are clearly defined.
Roo Code — a variant extension that started as a fork of Cline. Multiple modes (Code · Architect · Debug) and user-defined modes, plus MCP server integration.
Continue — an open-source coding assistant extension. Supports both VS Code and JetBrains. MCP integration was added relatively early.
VS Code (Copilot Chat) — Microsoft added MCP integration to VS Code from late 2024 onward. Supports .vscode/mcp.json, settings sync, and discovery.
Zed — a collaborative editor written in Rust. Registers MCP servers under the name context_servers.
Goose — an open-source agent (desktop · CLI) released by Block. Acts as an MCP-compatible client and supports various model backends.
5. Multi-client
The same filesystem server can be used by Claude Desktop · Cursor · VS Code at the same time. Each client either spawns its own child process (STDIO) or opens separate sessions to the same HTTP endpoint (HTTP).
6. Environment variables and credentials
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
}
}
}
Putting keys directly in the config file risks exposure during backup or sync. OS keychain and secret-manager integration is offered by some clients.
7. Workspace vs user settings
- Workspace settings — per-project servers. Suited for team sharing.
- User settings — common to all projects. Personal credentials.
- Global / system — some clients add an extra layer.
When the same name conflicts, the precedence varies by client. Follow each client's documented rule.
Windows vs Unix differences:
- Windows —
%APPDATA%·%USERPROFILE%, backslash paths. - macOS · Linux —
~, slash paths. - If executables like
npxare not on PATH, STDIO server startup fails.
8. Common pitfalls
Client version drift — the same server works on client A but partially on B. Differences in SDK or spec version.
Config file location changes — client updates may move the file location or rename keys. Read the release notes.
JSON comments — mcp.json accepting standard JSON only fails on comments. Some clients support JSONC.
Permission overload — when one server exposes too many tools the model picks the wrong one. Split servers per task.
Plain-text credentials — keys leak via config-file backup or sync. Use environment variables and secret managers.
Conflicting server names — when the same name exists at multiple layers (user, workspace), it's unclear which one applies.
Insufficient logging — some clients don't expose MCP traffic logs by default. Find the debug option's location.
Closing thoughts
MCP clients are growing fast, and the multi-client environment, where the same server is shared by multiple clients, is becoming the norm. Separating credentials into environment variables and defaulting tool permissions to per-call approval reduces operational incidents.
Next
- mcp-context7
- mcp-figma
We refer to MCP Quickstart · Cursor MCP · VS Code MCP · Zed Context Servers · Cline · Roo Code · Continue.