How to add an MCP server to Claude Desktop

Three ways to give Claude Desktop a tool: connectors from the directory, custom connectors by URL, and local MCP servers through claude_desktop_config.json or desktop extensions. Which to use when, the config format, and troubleshooting.

Walma Engineering·Updated 12 September 2026·6 min read

Claude Desktop is where most non-developers meet MCP, and it offers three different doors: connectors, custom connectors, and local servers. This guide explains which to use and how each works. For the concepts, see What is an MCP server? and Claude connectors explained.

Which door

You want to connectUse
A well-known service (Gmail, Drive, Slack, GitHub, HubSpot, Notion)A connector from the directory
A remote MCP server with a URL (your company's, or a vendor not in the directory)A custom connector
Something on your own machine (files, a local database, a CLI)A local server via config or a desktop extension

Connectors from the directory

Settings, Connectors, browse, click Connect, sign in. Done. Claude asks before using a connector's tools the first time. This covers most needs and requires no configuration.

Custom connectors by URL

For any remote MCP server:

  1. Settings, Connectors, Add custom connector.
  2. Name it and paste the URL (for example https://mcp.example.com/mcp).
  3. Complete the OAuth login if prompted.
  4. Enable it in the tools menu of a conversation.

Custom connectors are available on Pro, Max, Team and Enterprise. On Team and Enterprise an admin may need to allow them. This is how a company's own servers, or a gateway, get into Claude.

Local servers via config

Local servers run as a process on your machine and talk to Claude over stdio. They are configured in claude_desktop_config.json:

  1. Settings, Developer, Edit Config. Claude opens the file.
  2. Add the server under mcpServers:
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"]
    },
    "gsc": {
      "command": "/Users/you/gsc-mcp/.venv/bin/gsc-mcp",
      "env": { "GSC_SERVICE_ACCOUNT_FILE": "/Users/you/.config/gcloud/gsc.json" }
    }
  }
}
  1. Save and quit Claude completely (not just close the window), then reopen. The tools icon shows the servers.

Two things bite everyone: use absolute paths, because Claude Desktop does not inherit your shell's PATH; and remember that a local server runs with your user's permissions, so give a filesystem server one directory, not your home folder.

Desktop extensions

Extensions package a local server so it installs with one click and needs no Node or config editing. Settings, Extensions, browse or install a file, click Install, grant any permissions it asks for. Right for people who should not be editing JSON, which is most of a company.

Troubleshooting

Server not showing. Validate the JSON (a trailing comma is the classic). Restart Claude fully. Check the logs: on macOS under ~/Library/Logs/Claude/, files named mcp-server-<name>.log.

Command not found. Absolute path to the binary. For npx-based servers, absolute path to npx too if in doubt.

Connector fails to authenticate. Remove and re-add it. On corporate networks, TLS inspection can break the OAuth callback; ask IT.

Tools appear but calls fail. The server is running but its credential is wrong or missing. Check the env values in the config.

For a company

Individual config files on individual laptops do not scale, and the enterprise admin panel controls only what happens inside Claude. The company pattern is one custom connector, pointing at a gateway, which provides every approved server with per-user policy, central credentials and one log, in your region.

Walma AI Hub is that gateway. In Claude Desktop it appears as a single connector; behind it are the models, MCP servers and skills the company has approved, running in the customer's own EU tenant. See What is an MCP gateway? or book a walkthrough.

Frequently asked questions

How do I add an MCP server to Claude Desktop?+

For remote servers, use Settings, Connectors, Add custom connector and paste the URL. For local servers, open Settings, Developer, Edit Config and add the server to claude_desktop_config.json under mcpServers, then restart Claude. Desktop extensions install local servers with one click.

Where is claude_desktop_config.json?+

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows: %APPDATA%\Claude\claude_desktop_config.json. Settings, Developer, Edit Config opens it for you.

Why does Claude Desktop not show my MCP server?+

Usually the config has a JSON error, the command is not on Claude's PATH (use absolute paths), or Claude was not fully restarted after editing. Check the MCP log files under the Claude logs folder for the exact error.

What is a Claude desktop extension?+

A packaged local MCP server that installs with one click from Claude Desktop, without editing config files or installing Node. It runs on your machine like any local server.

Walma AI Hub

The same tools, in your EU region, under your control

A 20-minute walkthrough with an engineer. We map it to your tools, your MCP servers and your budget model.

About AI Hub