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

> Step-by-step guide to configure MCP servers in Claude Desktop for April 2026. Covers the official GitHub MCP server (Docker), Supabase, Playwright, Desktop Extensions (.dxt), and remote MCP via Custom Connectors.

**Source:** https://mcpplaygroundonline.com/blog/how-to-setup-mcp-claude-desktop  
**Author:** Nikhil Tiwari  
**Published:** 2026-01-12  
**Updated:** 2026-04-16  
**Category:** Tutorial  
**Reading time:** 11 min read

---

📖 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.**

📑 Table of Contents

1.  [Prerequisites](#prerequisites)
2.  [Config File Location](#config-location)
3.  [Config Structure](#config-structure)
4.  [Add Your First Server](#first-server)
5.  [Popular MCP Servers](#popular-servers)
6.  [Remote MCP Servers](#remote-servers)
7.  [Troubleshooting](#troubleshooting)

## Prerequisites

💻

**Claude Desktop** Latest version [Download →](https://claude.ai/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!

## Popular MCP Server Configurations

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](https://github.com/github/github-mcp-server) (v1.0.0, April 2026) is the recommended choice. Create a PAT at [github.com/settings/personal-access-tokens/new](https://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](https://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](https://jsonlint.com))
-   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](/mcp-test-server)

## 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](/mcp-test-server). This browser-based tool lets you connect to remote MCP servers and test tool calls.

🚀 Ready to test your MCP servers?

[Test MCP Server →](/mcp-test-server) [Browse 10000+ Servers](/mcp-registry)

## 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](/mcp-test-server) before wiring it into Claude.

🤖 Want to go beyond Claude Desktop?

Once your server is configured, try [MCP Agent Studio](/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.

---

_Canonical page: https://mcpplaygroundonline.com/blog/how-to-setup-mcp-claude-desktop — MCP Playground (mcpplaygroundonline.com), the free browser-based tool for testing MCP servers and building AI agents._
