Claude Desktop MCP Setup
This guide explains how to set up MCP servers in Claude Desktop step by step. You will install the dependencies, locate the Claude config file, add your first server, restart Claude, and test that everything works.
If you want a concrete example after this tutorial, start with GitHub MCP Server Setup. For broader recommendations, see Best MCP Servers for Claude.
What MCP does in Claude Desktop
MCP stands for Model Context Protocol. It is the layer that lets Claude Desktop connect to tools outside the chat window, including GitHub, local files, databases, documentation sources, monitoring systems, and productivity apps.
Without MCP, Claude can only respond with the information already in the conversation. With MCP, Claude can read live data, inspect your files, run supported tools, and complete real workflows more accurately.
What you need before setup
Claude Desktop installed
You need the Claude Desktop application installed and signed in before you can connect any MCP server.
Node.js installed
Most MCP servers are launched with npx, so Node.js must be installed and available from your terminal.
At least one MCP config block
Every MCP server provides a JSON block with command, args, and sometimes environment variables.
Step 1: Install Node.js
Most MCP servers use npm packages and are launched through npx. That means Node.js is required for the most common setup flow.
Quick check
Open your terminal and run:
node -v npm -v npx -v
If these commands fail, install the latest LTS version of Node.js before continuing.
Step 2: Open the Claude Desktop config file
Claude Desktop loads MCP servers from a local JSON file named claude_desktop_config.json. This file contains the list of MCP servers you want Claude to start on launch.
Default config paths
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
In many Claude Desktop builds, you can open the app, go to the developer section, and use the built-in option to edit the config file directly. That is usually the fastest path for beginners.
Step 3: Add your first MCP server
If you are just getting started, GitHub MCP Server is the best first install because it gives Claude immediate access to repositories, pull requests, issues, and code search.
Example config
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@github/github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_TOKEN"
}
}
}
}Save the file after replacing YOUR_GITHUB_TOKEN with your real token.
You can also add multiple servers at once by placing them all inside the mcpServers object.
Step 4: Restart Claude Desktop
After saving the config, fully quit Claude Desktop and reopen it. Many setup failures happen because users edit the file correctly but do not perform a full restart, so the old session keeps running.
Step 5: Test that your MCP server works
Once Claude restarts, try a simple prompt that clearly requires the new integration.
Example test prompts
- List my GitHub repositories.
- Show me the latest pull requests in this repo.
- Search this codebase for auth middleware.
Adding multiple MCP servers
Most users get the best results from a small, focused stack. A common combination is:
GitHub MCP
For repositories, pull requests, issues, and code search.
Context7 MCP
For live, version-specific library documentation.
Desktop Commander
For local file operations, shell commands, and automation.
Start small. Too many servers at once can add unnecessary noise and make it harder to debug configuration problems.
Common Claude Desktop MCP errors
Invalid JSON
A missing comma, quote, or brace in the config file can prevent Claude from loading your MCP setup correctly.
Node.js is not installed
If npx is unavailable, Claude cannot launch npm-based MCP servers.
Missing environment variable
Many servers need API keys or tokens. If the env block is incomplete, the server may fail silently or load without working tools.
Wrong file path
Make sure you edited the actual Claude Desktop config file and not a copy in another folder.
Claude was not restarted
Always do a full quit and reopen after making config changes.
Security tips
Use least privilege
Only give each MCP server the token scopes and access level it actually needs.
Be careful with local-access tools
Servers that can read files or run shell commands should be installed only when you understand the risk.
Rotate tokens
If you use API keys or access tokens, rotate them regularly and remove unused credentials.
Related Guides
Frequently asked questions
What is Claude Desktop MCP setup?▾
Claude Desktop MCP setup is the process of connecting Claude Desktop to Model Context Protocol servers through a local configuration file. Once configured, Claude can use external tools such as GitHub, local file systems, databases, and APIs directly from the chat interface.
Do I need Node.js to use MCP in Claude Desktop?▾
For most popular MCP servers, yes. Many servers are distributed as npm packages and run through npx, so Node.js needs to be installed and available in your system PATH.
Where is the Claude Desktop MCP config file?▾
On macOS, the config file is usually at ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, it is usually at %APPDATA%\Claude\claude_desktop_config.json.
Why is my MCP server not appearing in Claude Desktop?▾
The most common reasons are invalid JSON, missing dependencies such as Node.js, incorrect environment variables, or not fully restarting Claude Desktop after editing the configuration file.
Can I add more than one MCP server?▾
Yes. Claude Desktop supports multiple MCP servers inside the same mcpServers object. Most users start with 2 to 5 servers depending on their workflow.
Which MCP server should I install first?▾
For most developers, GitHub MCP Server is the best first install because it connects Claude to repositories, pull requests, issues, and code search. Context7 is another strong early addition because it improves coding accuracy with live documentation.
Browse ready-to-use MCP tools
Explore the full MCPIndex directory for copy-ready config blocks, setup steps, use cases, and category pages across GitHub, databases, design, monitoring, security, and productivity.