How to install an MCP server in Claude Desktop (2026, step by step)
Claude Desktop ships with a handful of built-in connectors, and everything else about your work lives somewhere Claude can't see: your files, your task manager, your notes, your calendar. The Model Context Protocol (MCP) is how you fix that. Installing a server used to mean editing a JSON file and hoping; in 2026 there are three ways to do it, and two of them take under a minute.
Quick answer: As of July 2026 there are three install paths. One-click: Settings → Extensions, install a .mcpb bundle. Remote: Settings → Connectors → Add custom connector, paste an https URL, approve OAuth. Manual: add the server to claude_desktop_config.json and fully restart Claude Desktop. Custom connectors work on every plan; Free accounts get one.
Which install method should you use?
Desktop Extensions (.mcpb) for local servers
The one-click path. An extension bundles a local MCP server with its manifest into a single .mcpb file that installs like a browser extension. If the tool you want is in the extension directory, use this and skip the JSON entirely. Anthropic renamed the format from .dxt to .mcpb (MCP Bundle) in September 2025; old .dxt files still work.
Custom connectors for remote servers
For hosted services that expose an MCP endpoint over HTTPS. No local process, no Node.js, nothing to keep running. You paste a URL, sign in through the service's own login page, and Claude connects from Anthropic's infrastructure. This also means the same connector works in Claude Desktop, on claude.ai in the browser, and in the mobile apps.
The JSON config for everything else
The original method, still fully supported: declare local stdio servers in claude_desktop_config.json. You need this when the server isn't packaged as an extension, when you want to pass custom arguments, or when you're developing your own.
How do you install a one-click extension?
- Open Claude Desktop → Settings → Extensions.
- Click Browse extensions and install from the directory, or double-click a downloaded
.mcpbfile and click Install. - For unlisted bundles: Advanced settings → Extension Developer → Install Extension… and pick the file.
That's the whole procedure. Configuration (API keys, folder paths) is prompted per extension.
How do you add a remote MCP server?
- Open Settings → Connectors (on some versions the section sits under Customize; the label varies).
- Scroll down and click Add custom connector.
- Paste the server's full
https://URL and click Add. - Complete the OAuth sign-in the service presents, review the requested permissions, and approve.
A concrete example: connecting Calmara, which exposes tasks, notes, calendar, and an auditable AI memory over MCP. The connector URL is https://api.calmara.app/mcp/sse. Claude opens Calmara's consent page, you approve scopes explicitly (memory, knowledge, tasks, events, projects, analytics, each one separately), and from then on Claude can read and write your actual work data in any chat. The same one-URL flow applies to Notion's hosted MCP, Reclaim's, or any other service that publishes an endpoint.
Two details worth knowing:
- Plan availability. Custom connectors are available on Free, Pro, Max, Team, and Enterprise, per Anthropic's connector documentation. Free accounts are limited to one custom connector. On Team and Enterprise, only Owners can add them. The old restriction that limited custom connectors to paid tiers is gone.
- Transport. Current remote servers speak Streamable HTTP; Claude still accepts the legacy HTTP+SSE transport but Anthropic marks it as being deprecated. A revised, stateless version of the spec is finalized on July 28, 2026, so expect server URLs to keep converging on plain
/mcpendpoints.
How do you configure a local server manually?
The manual path uses the config file. From the menu bar (not the in-window settings): Claude → Settings… → Developer → Edit Config. That opens or creates:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
The canonical first example is the official filesystem server, which gives Claude read/write access to folders you name:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/Users/username/Downloads"]
}
}
}
Three rules that prevent most failed installs:
- Paths must be absolute. Relative paths are the most common config mistake. On Windows, escape backslashes:
C:\\Users\\username\\Desktop. - You need Node.js for npx-based servers. The official quickstart recommends the LTS version; check with
node --version. - Fully quit and restart Claude Desktop after saving. The config is only read at startup.
After the restart, click the "Add files, connectors and more" control in the bottom-left of the input box, hover Connectors, and your server should be listed under Manage connectors.
How do you troubleshoot a server that doesn't show up?
Work through these in order; they resolve nearly everything:
- Restart completely. Quit from the menu bar, don't just close the window.
- Validate the JSON. A trailing comma or unescaped backslash silently kills the whole
mcpServersblock. - Check the logs. macOS:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log. Windows:type "%APPDATA%\Claude\logs\mcp*.log". The filemcp.logcovers connections;mcp-server-NAME.logcaptures each server's own errors. - Run the command yourself. Paste the exact
npx -y @modelcontextprotocol/server-filesystem /pathinto a terminal. If it fails there, the problem is your environment, not Claude. - Windows and env vars: if the log shows ENOENT around
${APPDATA}, add an expandedAPPDATAvalue to the server'senvblock.
For extensions, connection status and logs live under Settings → Developer.
Is it safe to connect MCP servers?
Treat an MCP server like software you install, because that's what it is. Anthropic's own documentation warns that custom connectors point Claude at services it has not verified, and advises connecting only to servers from organizations you trust and reviewing the permissions requested during authentication. For local servers, the filesystem example runs with your full user permissions: it can do anything to those folders that you can.
The risks are concrete rather than theoretical: tool poisoning, lookalike servers, and over-scoped tokens are all documented in the wild. Before you connect anything to real data, it's worth ten minutes with the MCP security risks AI assistants don't mention, which covers what to check and why registry provenance matters. Prefer servers that use OAuth with explicit scope approval over ones that ask you to paste a long-lived API key into a config file, and revoke access you stop using.
FAQ
Can free Claude accounts use MCP?
Yes. As of July 2026, custom connectors work on every plan including Free, with Free limited to one custom connector. Desktop Extensions are available to all Claude Desktop users.
Do MCP connectors work on claude.ai in the browser, or on mobile?
Remote custom connectors do: they run from Anthropic's infrastructure, so they follow your account across web, desktop, and the mobile apps. Local servers (extensions and JSON-configured) are Claude Desktop only.
What is a .mcpb file?
An MCP Bundle: a zip archive containing a local MCP server plus a manifest, installable with one click. It's the format formerly called .dxt (Desktop Extension); the rename happened in September 2025 and old .dxt files continue to work.
Do I need Node.js?
Only for the manual JSON path with npx-based servers. Extensions bundle what they need, and remote connectors run nothing on your machine at all.
Why doesn't my server appear after I edited the config?
Almost always one of three things: Claude Desktop wasn't fully restarted, the JSON has a syntax error, or a path is relative instead of absolute. The logs at ~/Library/Logs/Claude/mcp*.log (macOS) or %APPDATA%\Claude\logs (Windows) name the culprit.
What's the difference between Streamable HTTP and SSE for remote servers?
Streamable HTTP is the current transport; HTTP+SSE is the 2024-era legacy one that Anthropic marks as deprecated. As a user you rarely choose: you paste the URL the service gives you. Server operators are migrating ahead of the stateless spec revision that finalizes July 28, 2026.
How do I disconnect a server?
Extensions and connectors are removed in the same Settings sections where you added them. For OAuth-based remote connectors, also revoke the token on the service side; in Calmara that's Settings → Connections → AI Assistants → Manage tokens.
Can one MCP server give Claude memory across chats?
That's one of the main uses. A memory-backed connector lets Claude store and recall facts about your work between conversations, and the good implementations let you see and edit that record. What separates a memory you can trust from one you can't is covered in what ChatGPT's self-rewriting memory costs you.
---
Pick the smallest useful first install: the filesystem server if you live in local files, or one remote connector for the tool you check most. Connect it, ask Claude something it couldn't answer yesterday, and you'll know within five minutes whether MCP earns a place in your setup.
Written by Dan Hagen