MCPs for Claude Desktop: Complete 2026 Setup Guide (10 Min Install)
Step-by-step setup guide for installing MCPs on Claude Desktop in 2026. Covers Filesystem, GitHub, Memory, and Playwright MCPs with copy-paste configs, verification steps, and Windows vs macOS quirks.

TL;DR — Setting Up MCPs on Claude Desktop (2026)
MCPs (Model Context Protocol servers) extend Claude Desktop with tools — file access, GitHub repos, databases, browser automation, Slack, Notion, anything you can wrap in a small JSON-RPC process. This setup guide walks you through installing your first MCP, verifying it works, and layering on more — covering the four MCPs we'd put on a fresh machine: Filesystem, GitHub, Memory, and Playwright. Total setup time: under 15 minutes. No paid services, no signup walls.
Tested on Claude Desktop 0.13+ · macOS, Windows · June 2026
Table of Contents
- What You'll Need Before Starting
- Step 1: Find Your Config File
- Step 2: Install Your First MCP Server
- Step 3: Verify the MCP Is Working
- Step 4: Add More MCPs Safely
- The Recommended Starter Stack
- Comparison: Starter MCP Configurations
- Troubleshooting Common Errors
- Windows vs macOS Differences
- Frequently Asked Questions
What You'll Need Before Starting
You need three things to follow this guide:
- Claude Desktop installed. Available free from claude.ai/download. Any version from 0.10 onwards supports MCP. We tested everything below on 0.13.
- Node.js 20+. Most MCPs ship as npm packages run via
npx. Install from nodejs.org if you don't have it. Check your version withnode --version. - A text editor. You'll be editing a single JSON config file. Anything works — TextEdit, VS Code, vim. The file is small.
You do not need any paid Claude subscription. MCP support ships in every Claude Desktop tier including the free one. You also don't need to be a developer — the four MCPs we install below all work via copy-paste and the most code you'll see is a JSON snippet.
For a broader survey of what's available, our companion guide ranks the best desktop MCP servers for 2026 by stars and trust score. This guide is the hands-on installation flow.
Step 1: Find Your Config File
Claude Desktop reads MCP configuration from a single JSON file. The location depends on your OS:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux (community builds):
~/.config/Claude/claude_desktop_config.json
If the file doesn't exist yet — and it won't on a fresh install — just create it. Claude Desktop generates it on first MCP install but is happy to read one you create yourself.
The fastest way to open it from Claude Desktop itself: go to Settings → Developer → Edit Config. That opens the file in your default editor and creates it if missing.
Start with a minimal valid skeleton:
{ "mcpServers": {} }
That's it. Save the file. We'll add a real MCP in the next step.
Step 2: Install Your First MCP Server
The safest first MCP is Filesystem — it gives Claude read and write access to one directory you choose. No API keys, no external services, no network calls. You stay in control of the scope.
Edit your config and add the Filesystem server:
{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents" ] } } }
Replace /Users/yourname/Documents with the directory you want Claude to access. On Windows, use forward slashes (C:/Users/yourname/Documents) or escape backslashes (C:\\Users\\yourname\\Documents).
Save the file. Then fully quit Claude Desktop — on macOS, Cmd-Q (closing the window isn't enough). Reopen the app.
When Claude Desktop restarts, it spawns the Filesystem MCP as a background process. You won't see anything visually different in the chat window, but the tool is now live.
Step 3: Verify the MCP Is Working
Open a new conversation in Claude Desktop and ask:
"List the files in my Documents folder."
Two outcomes:
- Success: Claude responds with a list of filenames. You'll often see a small "Used tool" indicator above the response — that's confirmation the MCP fired.
- Failure: Claude responds with something like "I don't have access to your filesystem." That means the MCP didn't start.
If it failed, check three things:
- JSON syntax. Trailing commas, missing quotes, mismatched braces all break the config silently. Paste your file into jsonlint.com if unsure.
- Did you fully quit? Cmd-Q on macOS, right-click → Quit on Windows from the system tray. Closing the window keeps the old config.
- Is the directory path right? Try a path you know exists, like your home directory. Filesystem MCP errors loudly when the path is wrong.
Claude Desktop also exposes MCP logs at Settings → Developer → Open Logs Folder. Look for mcp-server-filesystem.log — any startup error appears there in plain text.
Step 4: Add More MCPs Safely
Once Filesystem works, you can layer on more MCPs by adding them to the same mcpServers object. The pattern is identical: pick a name (your choice), set the command and args, optionally pass an env block for API keys.
Example with three MCPs running side-by-side:
{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Documents"] }, "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }, "sequential-thinking": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] } } }
Restart Claude Desktop after each change. Each MCP spawns in parallel — there is no practical limit. Heavy users run 10-20 simultaneously without performance issues.
A practical rule: add one MCP at a time, verify it works in a test conversation, then add the next. Debugging a broken config is much easier when you know which entry caused the break.
The Recommended Starter Stack
After three years of MCP usage and 75,000+ servers tested across the Skiln directory, the four MCPs we'd put on a fresh machine in 2026 are:
Filesystem MCP
The everyday utility. Give Claude one directory of your choosing and a permission scope. Use it to read PDFs for summary, edit markdown notes, or generate files locally.
Install snippet:
"filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Documents"] }
Safety tip: Never point Filesystem MCP at your home directory or system root. Scope it to a project folder, a notes folder, or a workspace.
GitHub MCP
The most useful MCP for developers. Browse your repos, read issues, draft PRs, search code across orgs. See our GitHub MCP listing and full GitHub MCP review.
Install snippet (requires a GitHub personal access token):
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_yourtokenhere" } }
Safety tip: Use a read-only token when you start. You can always create a second write-scoped token once you trust the workflow.
Memory MCP
A persistent knowledge graph stored locally as JSON. Claude can write facts, preferences, and project context to it, then recall them in later conversations. The fix for "Claude forgot everything between sessions."
Install snippet:
"memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }
Safety tip: The Memory MCP stores its graph in a local JSON file you can inspect and edit by hand. Audit it occasionally so you know what Claude is remembering about you.
Playwright MCP
Gives Claude a real Chromium browser. It can navigate, fill forms, take screenshots, scrape content, and automate multi-step browser tasks. This is the MCP that turns Claude into a web agent.
Install snippet:
"playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] }
Safety tip: First run downloads ~300MB of browser binaries. Expect a slow first start. Subsequent restarts are fast.
For a step-by-step Puppeteer alternative (smaller and faster to install), see our Puppeteer MCP setup guide.
Comparison: Starter MCP Configurations
Troubleshooting Common Errors
The five errors that catch nearly every first-time MCP user:
- "I don't have access to your filesystem" — The MCP didn't start. Check JSON syntax with jsonlint.com, then fully quit and reopen Claude Desktop.
- "Error: ENOENT: no such file or directory" — The path you passed to Filesystem MCP doesn't exist or has a typo. Use forward slashes on Windows even though it feels wrong.
- "Error: spawn npx ENOENT" — Node.js / npm isn't on Claude Desktop's PATH. On macOS, try the full path:
/opt/homebrew/bin/npxor/usr/local/bin/npx. On Windows, reinstall Node from nodejs.org with "Add to PATH" checked. - Tools listed but Claude refuses to use them — Usually a permissions UX issue. In a new conversation, ask Claude to "use the filesystem tool to list /Users/me/Documents." Being explicit sometimes prompts a confirmation flow you can approve.
- MCP works for 10 minutes then stops — Likely a process crash. Check
mcp-server-*.login the developer logs folder. The most common cause: an MCP hitting a rate limit or auth token expiry.
A general rule: JSON syntax errors are silent. Claude Desktop doesn't show an error message — it just refuses to load any MCPs. Validate before saving.
Windows vs macOS Differences
The MCP servers themselves are cross-platform, but a few config quirks differ:
- Paths. macOS uses
/Users/me/Documents. Windows wantsC:/Users/me/Documents(forward slashes) orC:\\Users\\me\\Documents(double-escaped backslashes). The first form is cleaner. - Config location.
~/Library/Application Support/Claude/on macOS vs%APPDATA%\Claude\on Windows. - PATH handling. macOS Claude Desktop inherits your shell PATH; Windows can miss npx if Node was installed for "current user only." Reinstall with "Install for all users" or pass the full path to npx in the command field.
- Process naming.
Activity Monitoron macOS shows each MCP as a separatenodeprocess. Windows Task Manager labels them similarly. Useful for confirming they're running.
Browse the full directory of MCP servers — 75,000+ entries with install commands, GitHub stars, and compatibility tags.
Browse Now →Frequently Asked Questions
What is the difference between Claude Desktop and Claude Code MCPs?
Both clients use the same Model Context Protocol, so the actual MCP servers are interchangeable. The difference is in how you configure them: Claude Desktop uses a JSON file (claude_desktop_config.json), while Claude Code uses the 'claude mcp add' CLI. The server binaries — Filesystem, GitHub, Postgres, Slack — are identical across both clients.
Why isn't my MCP server showing up in Claude Desktop?
Three things to check, in order: (1) Is the JSON syntactically valid? Even a trailing comma will silently break the entire config. (2) Did you fully quit and reopen Claude Desktop? On macOS, Cmd-Q then relaunch — not just closing the window. (3) Are the args correctly escaped on Windows? Backslashes in paths need doubling or use forward slashes instead.
Do MCP servers slow down Claude Desktop?
Not noticeably for most setups. Each MCP server runs as its own background process and is only invoked when Claude decides to use a tool. Even with 10+ MCPs configured, Claude Desktop's UI stays responsive — the actual tool calls add 50ms to 500ms per invocation. The bottleneck is the model thinking, not the MCP overhead.
Can I run MCPs that require API keys without exposing them?
Yes. Pass keys through the 'env' field in your config rather than hardcoding them in args. Claude Desktop reads the env block and injects it into the MCP process — your key never appears in conversation history or logs. For sensitive keys, use 1Password CLI, vault env vars, or your OS keychain and reference them in the config via environment variable expansion.
Which MCP servers are safest to install first?
Filesystem MCP (with a narrow allowlist), Memory MCP (writes only to a local JSON file you control), and Sequential Thinking MCP (no external access at all) are the three safest starter MCPs. None of them require API keys or network access. Once you're comfortable with how Claude Desktop invokes tools, layer on GitHub MCP, then Postgres MCP, then your communication MCPs (Slack, Notion).
Do MCPs work on Linux Claude Desktop builds?
Community Linux builds of Claude Desktop exist and support MCP with the same config format. The config path differs (~/.config/Claude/claude_desktop_config.json on Linux). Some npx-based MCPs assume the working directory is the user's home — check the MCP README if you hit path errors. Native Anthropic Linux support has been on the roadmap but is not yet shipping as of mid-2026.
How do I remove an MCP server I no longer use?
Delete its key from the mcpServers object in claude_desktop_config.json, then restart Claude Desktop. The background process exits with the app. There are no stray files or registry entries to clean up — MCPs are truly hot-pluggable. If you want to keep the entry but temporarily disable it, prefix the key name with an underscore (Claude Desktop ignores unknown keys).
Where can I find the full list of available MCP servers?
Skiln indexes 75,000+ MCP servers across every major registry. Browse the directory at /mcps to filter by category, install command, or compatibility. New servers are added daily from 13 source registries including Smithery, Glama, PulseMCP, LobeHub, and mcp.directory.
Last updated: June 07, 2026 · Skiln tracks MCP server releases daily across 13 source registries.