Setup Guide9 min readMay 5, 2026

Best MCPs for Claude Desktop in 2026 (Ranked + Setup)

Claude Desktop is the reference MCP client. Out of the box it is already a strong assistant, but its full capability is unlocked when you wire it to local tools — files, memory, search, code, and the web. These are the seven MCP servers worth installing first.

Why Claude Desktop + MCPs?

Claude Desktop ships with no built-in tool access. Every interaction is the model plus your prompt — no filesystem, no live web, no persistent memory. That is fine for one-off questions but limiting the moment you want the assistant to actually do work alongside you.

MCP servers close that gap. With the right stack, Claude can read and edit local files, remember facts across sessions, look up current library documentation, query your databases, drive a real browser, and search the open web. All of it runs as separate local processes that Claude calls through a structured protocol — no custom plugins, no proxy services, no cloud middleware.

Setup time

20–40 min for all 7 MCPs

Impact

Real tool access, persistent memory, fewer hallucinations

Cost

All 7 are free or open source

The 7 MCPs every Claude Desktop user should install

Each of these closes a specific gap in Claude Desktop's default capabilities. They are ordered by impact — install in this order and stop at any point if the rest is not relevant to your workflow.

#1

Filesystem

2 min setup

Most AI workflows involve reading or modifying files. This MCP is the standard way to give models that access without exposing the full system.

npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dir

Reading and editing local codeGenerating files from AI outputNavigating project structures
Full details and install guide
#2

Memory

2 min setup

AI models are stateless by default. Memory MCP is the simplest way to give an agent long-term knowledge that carries over between sessions.

npx -y @modelcontextprotocol/server-memory

Long-running agent workflowsPersonal AI assistantsProject tracking
Full details and install guide
#3

Sequential Thinking

2 min setup

Complex tasks benefit from explicit reasoning structures. Sequential Thinking makes AI decisions more auditable and reliable by externalizing the reasoning process.

npx -y @modelcontextprotocol/server-sequential-thinking

Multi-step problem solvingDebugging complex bugsPlanning and architecture decisions
Full details and install guide
#4

Context7

3 min setup

Models hallucinate outdated APIs constantly. Context7 eliminates this by grounding every answer in real, current documentation.

npx -y @upstash/context7-mcp

Library API lookupFramework usage patternsVersion-specific code examples
Full details and install guide
#5

GitHub

5 min setup

GitHub is where most code lives. This MCP lets agents interact with that code directly, without copy-pasting between interfaces.

npx @github/github-mcp-server

Automated issue creationPR review and managementCode search across repos
Full details and install guide
#6

Puppeteer

5 min setup

Many modern pages require JavaScript to render. Puppeteer is the only reliable way to interact with SPAs, dashboards, and login-gated pages.

npx -y @modelcontextprotocol/server-puppeteer

Web scraping with JavaScriptForm automationScreenshot capture
Full details and install guide
#7

Brave Search

5 min setup

LLMs have a knowledge cutoff. This MCP bridges that gap with live web data directly inside the model context.

npx -y @modelcontextprotocol/server-brave-search

Current events and newsDocumentation lookupsPrice or product comparisons
Full details and install guide

Start with Filesystem and Memory

If you install only two MCPs, make them Filesystem and Memory. Filesystem unlocks the most common request ("read this file, edit that one") and Memory turns Claude from a stateless chat into an assistant that remembers your project across sessions. Everything else amplifies that base.

How to configure MCPs in Claude Desktop

Claude Desktop reads MCP configuration from a single JSON file. Edit it, fully restart Claude, and the servers appear. The four-step setup:

1

Open claude_desktop_config.json

Open Claude Desktop, go to Settings → Developer, and click "Edit Config". The file opens in your default editor. On macOS the path is ~/Library/Application Support/Claude/claude_desktop_config.json — create it if it does not exist.

Settings → Developer → Edit Config
2

Add your first server under mcpServers

Each key in mcpServers is a server name you choose. The command and args fields specify how Claude should launch the server process. Pass any directories you want the agent to access as args — paths outside the allowlist are rejected.

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/you/code"
      ]
    }
  }
}
3

Set tokens via the env block

API tokens go in env, never in args. Scope them as narrowly as the workflow allows — repo-only access for GitHub, read-only for databases, restricted keys for Stripe. Treat this file as if it contained credentials, because it does.

"github": {
  "command": "npx",
  "args": ["@github/github-mcp-server"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
  }
}
4

Fully quit Claude and reopen

Reload Window does not pick up config changes. Quit Claude completely (Cmd+Q on macOS, File → Exit on Windows) and reopen it. Look for the hammer icon at the bottom of the chat — clicking it should list every connected server.

Full claude_desktop_config.json with all 7 MCPs

Copy this into your config file to add all seven servers at once. Replace the placeholder paths and tokens for your environment, save, and fully restart Claude Desktop.

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/you/code"
      ]
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
    },
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "github": {
      "command": "npx",
      "args": ["@github/github-mcp-server"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    },
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "your_brave_api_key"
      }
    }
  }
}

Keep secrets out of version control

The claude_desktop_config.json file contains tokens and connection strings. If you back it up to a repo or sync it across machines via a dotfiles repo, exclude it from version control. Use the OS keychain or a secrets manager when you need cross-machine portability.

Quick comparison

MCPPrimary use in Claude DesktopSetupAPI key?
FilesystemRead/write local files in scoped directories2 minNo
MemoryPersist facts across conversations1 minNo
Sequential ThinkingStructured multi-step reasoning1 minNo
Context7Up-to-date library documentation2 minNo
GitHubRepos, PRs, issues, code search5 minGitHub token
PuppeteerDrive a real browser for clicks and forms5 minNo
Brave SearchReal-time web search3 minBrave API key

Common gotchas

Reload Window does not reload MCPs

Claude Desktop reads claude_desktop_config.json once on launch. You must fully quit and reopen Claude after every config change — Cmd+Q on macOS, File → Exit on Windows.

Servers fail silently if npx cannot find the package

If a server name does not appear in the hammer icon list, open Settings → Developer → MCP Logs. Most failures are a missing -y flag, a typo in the package name, or npx not being on the system PATH.

Filesystem rejects paths outside the allowlist

That is the security feature, not a bug. If Claude says it cannot access a file, check the args of the filesystem server — only paths you pass there are reachable, and symlinks pointing outside are rejected at normalization.

GitHub tokens silently fail when scope is too narrow

For private repos, a fine-grained token needs explicit Contents:Read access. For PR creation, add Pull requests:Read and Write. Test the token with curl against the GitHub API before assuming the MCP is broken.

Frequently asked questions

Does Claude Desktop support MCP natively?

Yes. Claude Desktop was the reference MCP client — every server is built and tested against it first. You configure servers in claude_desktop_config.json and they appear in the conversation as soon as you fully restart the app.

Where is the Claude Desktop MCP config stored?

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows: %APPDATA%\Claude\claude_desktop_config.json. The fastest way to open it is Claude Desktop → Settings → Developer → Edit Config.

Why don't my new MCP servers show up after editing the config?

Claude Desktop only reads the config on a full app start — Reload Window is not enough. Quit Claude completely (Cmd+Q on macOS) and reopen it. The hammer icon at the bottom of the chat bar should then list every connected server.

Which MCP should I install first for Claude Desktop?

Filesystem. It is the most-installed server in the ecosystem because almost every workflow eventually needs to read or write a file, and it is the safest first install — scoped to directories you pass on the command line.

Does Claude Desktop work with remote MCP servers, or only local ones?

Claude Desktop runs MCP servers as local stdio processes by default. Remote (HTTP/SSE) MCP servers are supported but typically used via Claude Code or other clients. For the seven picks below, all run locally with no extra setup.

Can Claude use multiple MCPs at once?

Yes. Every entry under mcpServers runs as its own process and is available to Claude simultaneously. A common stack pairs Filesystem and Memory for context, Context7 for accurate docs, GitHub for code, and a search MCP for the web.

How do I debug a broken MCP server in Claude Desktop?

Open Settings → Developer and view the MCP logs. A red status next to the server name shows the exact error — usually a missing binary, an invalid path in args, or a missing token in env. Fix the line, fully restart Claude, and re-check.

More for Claude Desktop

See the full Claude Desktop client page for config paths, the latest top picks, and links to every MCP we have verified against it.

More guides