Back to Blog
TutorialJan 12, 2026Updated Apr 1611 min read

How to Set Up MCP in Claude Desktop (Complete 2026 Guide)

NT

Nikhil Tiwari

MCP Playground

๐Ÿ“– TL;DR - Quick Setup

  1. Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config
  2. Add MCP servers to claude_desktop_config.json
  3. Restart Claude Desktop completely
  4. Look for ๐Ÿ”จ icon to verify tools are loaded

Claude Desktop supports the Model Context Protocol (MCP), allowing you to extend Claude's capabilities with external tools and data sources. This guide โ€” updated for April 2026 โ€” shows you exactly how to set up MCP servers in Claude Desktop, step by step.

โœจ Two ways to install in 2026

1. Desktop Extensions (.dxt) โ€” the one-click way. Download a .dxt file, drag it into Settings โ†’ Extensions, done. No JSON editing, no Node.js, no PATH issues. Best for end users.

2. Manual JSON config โ€” edit claude_desktop_config.json directly. More flexible, required for custom servers, env vars, or anything not published as a .dxt. This guide covers option 2.

Prerequisites

๐Ÿ’ป
Claude Desktop Latest version Download โ†’
๐ŸŸข
Node.js 18+ For npm servers
๐Ÿ
Python 3.10+ For Python servers

Step 1: Find the Config File Location

Claude Desktop stores MCP configuration in a JSON file. The location depends on your operating system:

๐ŸŽ macOS
~/Library/Application Support/Claude/claude_desktop_config.json
๐ŸชŸ Windows
%APPDATA%\Claude\claude_desktop_config.json
๐Ÿง Linux
~/.config/Claude/claude_desktop_config.json

๐Ÿ’ก Pro Tip: The easiest way to open this file is through Claude Desktop itself. Go to Settings โ†’ Developer โ†’ Edit Config.

Step 2: Understand the Config Structure

The config file uses this JSON structure:

{
 "mcpServers": {
 "server-name": {
 "command": "executable",
 "args": ["arg1", "arg2"],
 "env": {
 "API_KEY": "your-api-key"
 }
 }
 }
}
Field Description Example
command The executable to run npx, uvx, node, python
args Array of command-line arguments ["-y", "@server/name"]
env Environment variables {"API_KEY": "xxx"}

Step 3: Add Your First MCP Server

Let's start with a simple example - the filesystem MCP server that lets Claude read and write files:

{
 "mcpServers": {
 "filesystem": {
 "command": "npx",
 "args": [
 "-y",
 "@modelcontextprotocol/server-filesystem",
 "/Users/yourname/Documents"
 ]
 }
 }
}

โœ… Result: This gives Claude access to read files in your Documents folder. You can now ask Claude to read, list, or search files!

Copy and paste these ready-to-use configurations for popular MCP servers:

๐Ÿ™
GitHub MCP Server OFFICIAL Official GitHub-maintained server (Docker). Requires Docker Desktop.
{
 "mcpServers": {
 "github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
 "env": {
 "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
 }
 }
 }
}

๐Ÿ“Œ Note: The old npm package @modelcontextprotocol/server-github was archived in 2025. GitHub's official Go-based server at github/github-mcp-server (v1.0.0, April 2026) is the recommended choice. Create a PAT at github.com/settings/personal-access-tokens/new with repo and read:org scopes.

โšก
Supabase MCP Server OFFICIAL Query your database, manage schemas, fetch logs (read-only by default)
{
 "mcpServers": {
 "supabase": {
 "command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--read-only",
"--project-ref=your-project-ref"
],
 "env": {
"SUPABASE_ACCESS_TOKEN": "sbp_your_personal_access_token"
 }
 }
 }
}

๐Ÿ” Security: Keep --read-only on unless you specifically need writes. Generate your personal access token at supabase.com/dashboard/account/tokens โ€” don't use your service role key with an AI.

๐ŸŽญ
Playwright MCP Server MICROSOFT Browser automation via accessibility tree โ€” no vision model needed
{
 "mcpServers": {
 "playwright": {
 "command": "npx",
"args": ["@playwright/mcp@latest"]
 }
 }
}

Step 4: Configure Multiple Servers

You can run multiple MCP servers simultaneously โ€” Claude Desktop will load all of them on startup and merge their tools:

{
 "mcpServers": {
 "filesystem": {
 "command": "npx",
 "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/folder"]
 },
 "github": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
 "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
 },
 "supabase": {
 "command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase@latest", "--read-only", "--project-ref=xxx"],
"env": { "SUPABASE_ACCESS_TOKEN": "sbp_xxx" }
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
 }
 }
}

Step 5: Restart Claude Desktop

After saving your config changes:

  1. Completely quit Claude Desktop (not just close the window)
  2. On macOS: Right-click the dock icon โ†’ Quit
  3. On Windows: Right-click the system tray icon โ†’ Exit
  4. Reopen Claude Desktop

Step 6: Verify Your MCP Servers

To check if your MCP servers are connected:

  1. Open Claude Desktop
  2. Look for the hammer icon (๐Ÿ”จ) in the input area
  3. Click it to see available tools
  4. Your MCP server tools should be listed

Remote MCP Servers (Custom Connectors)

The configs above all run MCP servers locally on your machine via STDIO. If you want to connect Claude Desktop to a remote MCP server (hosted on the web, with OAuth), you don't use claude_desktop_config.json โ€” you use Custom Connectors.

๐ŸŒ How to add a remote MCP server

  1. In Claude Desktop, go to Settings โ†’ Connectors
  2. Click "Add custom connector"
  3. Paste the remote MCP server's URL (must use Streamable HTTP transport)
  4. Complete OAuth sign-in if the server requires auth
  5. Tools from the connector appear alongside your local MCP tools

Transport notes (April 2026): Claude's official transport is now Streamable HTTP (MCP protocol 2025-11-25). The older SSE transport is being deprecated โ€” any SSE-only server should upgrade. Custom Connectors are available on Pro, Max, Team, and Enterprise plans.

Troubleshooting Common Issues

โŒ MCP server not showing up +
  • Verify your JSON syntax is valid (use a JSON validator)
  • Check that Node.js/Python is installed and in your PATH
  • Make sure you completely restarted Claude Desktop (quit from dock/tray)
  • Check Settings โ†’ Developer โ†’ Logs for error messages
โŒ "Command not found" error +

Use the full path to the executable. Claude Desktop launches your config with a minimal PATH, so short names like npx or docker often fail even when they work in your terminal.

macOS / Linux:

{
 "mcpServers": {
"filesystem": {
 "command": "/usr/local/bin/npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"]
 }
 }
}

Windows:

{
"mcpServers": {
"filesystem": {
"command": "C:\\Program Files\\nodejs\\npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\you\\Documents"]
}
}
}

Find your path: Run which npx (macOS/Linux) or where npx (Windows). On Windows, use .cmd extensions and double-backslashes in JSON.

โŒ Server connects but tools don't work +
  • Check if API keys/tokens in env are correct
  • Verify the API key has the required permissions/scopes
  • Test the MCP server independently using MCP Playground

Security Best Practices

  • Limit file access: Only give filesystem servers access to specific directories
  • Use minimal permissions: Create API tokens with only the scopes you need
  • Review server code: Before running any MCP server, review its source code
  • Don't share your config: Your config contains sensitive API keys

Test Your MCP Servers Online

Before adding an MCP server to Claude Desktop, test it using MCP Playground. This browser-based tool lets you connect to remote MCP servers and test tool calls.

๐Ÿš€ Ready to test your MCP servers?

Frequently Asked Questions

Where is the Claude Desktop config file located? +
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
The easiest way to open it is via Claude Desktop: Settings โ†’ Developer โ†’ Edit Config.
How many MCP servers can I run in Claude Desktop? +
You can run multiple MCP servers simultaneously. Simply add each server as a separate entry in the mcpServers object. Claude will load all configured servers on startup and make their tools available.
Do I need to restart Claude Desktop after changing the config? +
Yes, you must completely restart Claude Desktop after any config changes. On macOS, right-click the dock icon and select Quit. On Windows, right-click the system tray icon and select Exit. Then reopen the app.
How do I know if my MCP server is working? +
Look for the hammer icon (๐Ÿ”จ) in the Claude Desktop input area. Click it to see the list of available tools. If your MCP server's tools appear in the list, it's working correctly. You can also check Settings โ†’ Developer โ†’ Logs for any error messages.
Can I use remote MCP servers with Claude Desktop? +
Yes. As of 2025/2026, Claude Desktop supports remote MCP servers via Custom Connectors (Settings โ†’ Connectors โ†’ Add custom connector). Remote servers use the Streamable HTTP transport with OAuth. Custom Connectors are available on Pro, Max, Team, and Enterprise plans. For local STDIO servers, keep using claude_desktop_config.json as shown in this guide. You can also test any remote MCP server in your browser first with MCP Playground before wiring it into Claude.

๐Ÿค– Want to go beyond Claude Desktop?

Once your server is configured, try MCP Agent Studio โ€” chat with your MCP server using 30+ AI models (Claude Opus 4.6, GPT-5.4, Gemini 3.1 Pro, Grok 4.20, open-source) in your browser, watch every tool call live, and compare model quality side by side. Free credits on sign-up.

NT

Written by Nikhil Tiwari

15+ years in product development. AI enthusiast building developer tools that make complex technologies accessible to everyone.

Test any MCP server with 30+ AI models โ€” free

Connect any MCP endpoint and chat with Claude, GPT-5, Gemini, DeepSeek and more. Watch every tool call live.

โœฆ Free credits on sign-up ยท no credit card needed

Try for Free โ†’