
This guide is part of our MCP setup guides, within The MCP Guide. Paths are checked against each app's documentation on the date shown.
Setting up MCP on Linux works the same way as on a Mac: install a client, add servers to its config file, restart, and check the server connected. What differs is where each file lives. Most Linux clients keep config under your home folder, such as ~/.config/Claude/claude_desktop_config.json for Claude Desktop or ~/.cursor/mcp.json for Cursor.
The big change in 2026 is that Claude Desktop now has an official Linux build, in beta for Ubuntu and Debian. This guide lists the config path for every major client on Linux, then covers the runtime and permission issues that cause most Linux failures.
Checked against: Anthropic's Claude Desktop on Linux (beta) docs, the MCP local server guide, Claude Code setup docs and each client's own MCP docs linked below, on 2 November 2026. eSEOspace did not test these clients on Linux.
Key Takeaways
- Claude Desktop for Linux is in beta for Ubuntu 22.04+ and Debian 12+ (x86_64 and arm64), installed from Anthropic's apt repository.
- Its MCP config is
~/.config/Claude/claude_desktop_config.json, with logs in~/.config/Claude/logs. - Claude Code supports Ubuntu 20.04+, Debian 10+ and Alpine 3.19+, and stores servers in
~/.claude.jsonand.mcp.json. - On Fedora, Arch and other non-Debian distributions, Anthropic says to use the Claude Code CLI instead of the desktop app.
- VS Code's per-server MCP sandbox works on Linux and macOS, not Windows.
Config paths on Linux, by client
| Client | User-level MCP config | Project-level config | Source |
|---|---|---|---|
| Claude Desktop (beta) | ~/.config/Claude/claude_desktop_config.json | None | MCP docs |
| Claude Code | ~/.claude.json | .mcp.json | Claude Code docs |
| Cursor | ~/.cursor/mcp.json | .cursor/mcp.json | Cursor docs |
| VS Code (Copilot) | ~/.copilot/mcp-config.json | .mcp.json or .vscode/mcp.json | VS Code docs |
| Gemini CLI | ~/.gemini/settings.json | .gemini/settings.json | Gemini CLI docs |
| Codex | ~/.codex/config.toml | .codex/config.toml | Codex docs |
| Devin Desktop (Windsurf) | ~/.config/devin/mcp_config.json | .devin/mcp_config.json | Devin docs |
| goose | ~/.config/goose/config.yaml | None documented | goose docs |
| LM Studio | ~/.lmstudio/mcp.json | None | LM Studio release notes |
| Kiro / Amazon Q | ~/.kiro/settings/mcp.json | .kiro/settings/mcp.json | Kiro docs |
| Cline CLI | ~/.cline/data/settings/cline_mcp_settings.json | None | Cline docs |
Zed keeps MCP servers under context_servers in its settings file; open it with zed: open settings file rather than guessing the path. Each client has its own guide in this series, such as our Cursor mcp.json guide and Gemini CLI setup.
Install Claude Desktop on Linux
Anthropic's Linux page says the desktop app is in beta and requires "Ubuntu 22.04 or later, or Debian 12 or later" on x86_64 or arm64. It installs from Anthropic's apt repository. The steps, in short:
sudo apt install curl gnupg
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc
gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
sudo apt update && sudo apt install claude-desktop
Anthropic says the fingerprint gpg prints should be 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE. Check it before you continue. Commands checked against Anthropic's docs on 2 November 2026.
For distributions that are not Debian-based, such as Fedora or Arch, Anthropic says to "run the CLI instead."
Add an MCP server to Claude Desktop on Linux
- Open Settings > Developer > Edit Config, or edit
~/.config/Claude/claude_desktop_config.jsondirectly. - Add a server. This is the MCP quickstart's Filesystem example with Linux paths:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/home/username/Documents"
]
}
}
}
- Quit Claude completely and relaunch.
- Follow the logs if it does not appear:
tail -n 20 -f ~/.config/Claude/logs/mcp*.log
Anthropic's extensions article says secrets in desktop extensions are stored in "your distro's keychain manager" on Linux. Our config file location guide covers the same file on other systems.
Claude Code on Linux
Claude Code's setup docs list Ubuntu 20.04+, Debian 10+ and Alpine Linux 3.19+. Install it with:
curl -fsSL https://claude.ai/install.sh | bash
Anthropic also documents apt, dnf and apk packages. On Alpine and other musl-based systems, the docs say you need bash, curl, libgcc, libstdc++ and ripgrep, and must set USE_BUILTIN_RIPGREP=0. Then add servers with claude mcp add, covered in our claude mcp add guide.
Runtimes: Node, npx and uvx
Most local MCP servers start with npx (Node.js) or uvx (Python via uv). The MCP quickstart recommends the Node.js LTS release. Two Linux-specific points:
- Desktop apps may not see your shell PATH. If you installed Node with a version manager in
~/.bashrc, a desktop app launched from the menu may not findnpx. Put the full path fromwhich npxin thecommandfield. - Distribution Node packages can be old. Many servers need a recent Node. VS Code's Playwright example, for instance, needs Node.js 18 or newer.
LM Studio's release notes make the general point: servers that rely on npx or uvx need "those tools installed and available in your system's PATH."
Sandboxing on Linux
Linux gets one feature Windows does not. VS Code's docs say "on macOS and Linux, per-server sandboxing restricts file system and network access for stdio MCP servers," and "this mechanism isn't available on Windows." Use it for servers you are still evaluating. Our MCP sandboxing guide explains other ways to isolate local servers, such as containers.
WSL is not the same as Linux
If you run Linux inside Windows (WSL), the desktop app question changes. Anthropic's Linux page says WSL 2 users should "install the Windows desktop app and run sessions inside your distribution." Claude Code's add-from-claude-desktop import works on macOS and WSL. See our WSL setup errors guide for common problems.
Next step
Pick the client your team will standardize on with the MCP client support matrix, then generate configs with the MCP config generator.
More in the MCP Guide
Free tools: MCP Config Generator · Client Support Matrix
Latest research: State of MCP: October 2026
Frequently asked questions
Is there a Claude Desktop app for Linux?
Yes, in beta. Anthropic supports Ubuntu 22.04+ and Debian 12+ on x86_64 and arm64, installed from its apt repository. Other distributions should use the Claude Code CLI.
Where is claude_desktop_config.json on Linux?
At ~/.config/Claude/claude_desktop_config.json. MCP logs are in ~/.config/Claude/logs.
Why does my MCP server work in the terminal but not in a desktop app?
The app likely cannot see the PATH your shell sets, so it cannot find npx, node or uvx. Use full paths in the command field.
Can I sandbox MCP servers on Linux?
VS Code's per-server sandbox works on Linux and macOS. Running a server in a container is another common option.











