Tutorials9 min read

How to Set Up MCP Servers with Claude Desktop: Complete Guide 2026

Step-by-step guide to connecting MCP servers to Claude Desktop. Learn how to configure filesystem, GitHub, database, and web search servers to supercharge your Claude workflow.

By MyMCPTools Team·

Claude Desktop is one of the most popular MCP-enabled AI clients, and for good reason — it supports a rich ecosystem of MCP servers that give Claude direct access to your files, databases, APIs, and tools. This guide walks you through everything you need to know to get MCP servers running with Claude Desktop in 2026.

Prerequisites

Before you start, make sure you have:

  • Claude Desktop installed (Mac or Windows) — download at claude.ai/download
  • Node.js v18+ installed (for npm-based MCP servers)
  • Python 3.10+ installed (for Python-based MCP servers)
  • A text editor for editing JSON config files

Where Is the Claude Desktop Config File?

Claude Desktop stores MCP server 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

If the file doesn't exist yet, create it. If it does exist, you'll add your MCP servers to the mcpServers object.

The Configuration Format

Every MCP server is defined with a command and optional arguments and environment variables:

{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-name"],
      "env": {
        "API_KEY": "your-api-key-here"
      }
    }
  }
}

After editing the config file, restart Claude Desktop for the changes to take effect.

Step 1: Add the Filesystem MCP Server (Start Here)

The filesystem server is the most universally useful MCP server — it gives Claude read and write access to files and directories on your machine.

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

Replace the paths with the directories you want Claude to access. You can specify multiple directories. Note: Claude can only access the directories you explicitly list — this is a security feature, not a limitation.

Test it: After restarting Claude Desktop, ask "Can you list the files in my Documents folder?" You should see Claude accessing your files directly.

Step 2: Add the GitHub MCP Server

The GitHub MCP server lets Claude browse repositories, manage issues, review pull requests, and search code — all without leaving the conversation.

First, create a GitHub Personal Access Token at github.com/settings/tokens with repo scope. Then add:

"github": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-github"],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
  }
}

Test it: Ask Claude "What are the open issues in my [repo-name] repository?"

Step 3: Add the Brave Search MCP Server

Give Claude the ability to search the web for current information, documentation, and research.

Get a free Brave Search API key at api.search.brave.com, then add:

"brave-search": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-brave-search"],
  "env": {
    "BRAVE_API_KEY": "BSAyour_api_key_here"
  }
}

Test it: Ask Claude "Search for the latest news about Model Context Protocol."

Step 4: Add a Database Server (PostgreSQL or SQLite)

If you work with databases, these servers let Claude query your data directly.

For SQLite:

"sqlite": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/your/database.db"]
}

For PostgreSQL:

"postgresql": {
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-postgres"],
  "env": {
    "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/dbname"
  }
}

Test it: Ask Claude "What tables are in my database?" or "Show me the last 10 rows of the users table."

Your Complete Config Example

Here's a complete claude_desktop_config.json with all four servers configured:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": { "BRAVE_API_KEY": "BSA..." }
    },
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/db.sqlite"]
    }
  }
}

Troubleshooting Common Issues

Claude doesn't see my MCP servers

  • Restart Claude Desktop completely (quit, not just close the window)
  • Check the JSON config is valid (use a JSON linter)
  • Make sure Node.js is in your PATH

MCP server connection errors

  • Check the Claude Desktop logs at ~/Library/Logs/Claude/mcp*.log (macOS)
  • Run the install command manually in terminal to check for errors
  • Verify your API keys are correct

npx is slow on first run

npx downloads packages on first run. This is normal — subsequent runs are cached and fast. Use npm install -g to pre-install servers if you prefer.

What to Add Next

Once your basics are working, consider adding:

  • Memory MCP — persistent memory across conversations
  • Puppeteer MCP — browser automation and web scraping
  • Slack or Notion MCP — team collaboration tool access
  • AWS or Docker MCP — infrastructure management

Browse the full catalog at MyMCPTools.com to find servers for your specific stack.

Related guides:

🔧 MCP Servers Mentioned in This Article

📚 More from the Blog