How to add an MCP server to Claude, step by step
Filed under Guide
By Gerald · 23 August 2026
I have added MCP servers to Claude a dozen times across different accounts and machines, and the failure mode is almost never the server itself. It is picking the wrong setup path, or missing one small field, and then staring at a connector that says "connected" while offering zero tools.
Here is the working path, in the order Claude actually asks you to make the decision.
Local server or remote connector: pick this first
MCP servers come in two shapes, and Claude's interface treats them completely differently.
A remote connector is a server someone else runs, reachable over the internet with a URL. Flow's own MCP connector works this way: you copy one URL from your account page and paste it into Claude. No installation, nothing running on your machine.
A local server runs as a process on your own computer, usually started by a command like npx or python, and Claude Desktop launches it for you based on a config file. This is how most developer-built MCP servers, and many official ones for local tools like a filesystem or a local database, are distributed.
If you have a URL, you want a custom connector. If you have an npm package name or a command to run, you want the local config file. Confusing the two is the single most common reason people get stuck before they even try to connect.
Adding a remote MCP connector in the Claude apps

This works the same way in Claude.ai, the Claude desktop app, and Claude mobile, since they all share the same connector settings.
- Open Settings > Connectors (on an individual Pro or Max plan) or, inside a chat, click the + button and choose Connectors.
- Click Add custom connector.
- Paste the server's remote MCP server URL into the URL field.
- If the server needs OAuth credentials rather than a token baked into the URL, open Advanced settings and enter the Client ID and Client Secret there.
- Click Add.
Custom connectors are available on Free, Pro, Max, Team, and Enterprise plans, though free accounts are limited to one connector, per Claude's support documentation as of July 2026. On a Team or Enterprise workspace, an owner adds the connector once under Organization settings > Connectors, and members then connect their own account from Customize > Connectors without re-entering the URL.
After adding it, you still need to turn it on per conversation. Click the + button in the chat box, choose Connectors, and toggle the one you just added. This step is easy to miss, and it is the reason a correctly added connector can still look like it is doing nothing.
Adding a local MCP server through the config file
Local servers are configured through claude_desktop_config.json. The easiest way to reach it: open Claude Desktop, go to Settings > Developer > Edit Config. This opens the file in your default text editor and creates it if it does not already exist, so you never need to hunt for the path manually.
If you do want the path directly:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Add your server under the mcpServers key:
{
"mcpServers": {
"example-server": {
"command": "npx",
"args": ["-y", "@example/mcp-server"]
}
}
}
Save the file, then fully quit and reopen Claude Desktop. This is not a soft refresh. Claude only reads this file on launch.
Checking that the tools actually loaded
Before you trust a connector, verify it. Open a new chat, click the + button, and check that your server appears with a tool count next to it rather than a blank or an error icon. Then ask Claude something that requires the tool directly: "list the tools you have from [server name]." If Claude cannot name any, the connection exists but the tool list did not load, and asking it to just try the task will produce a hallucinated answer instead of a real one.
The four errors that cause most failures
Wrong URL format. A remote connector URL is a full HTTPS address, not an npm package name or a bare domain. If you pasted something meant for the local config file into the connector URL field, or vice versa, it will fail silently or show a generic connection error.
Missing the token or credential. Many remote MCP servers embed a personal token directly in the URL path rather than using a separate auth field. If a server's setup instructions show a URL with a token segment in it and you dropped that segment, the connector will often still say "connected" while every tool call fails or returns nothing.
Not restarting after a config edit. Claude Desktop reads claude_desktop_config.json once, at launch. Editing the file while the app is open changes nothing until you quit and reopen it.
Never checking the tool list. This is the quiet failure. The connector shows a green "connected" status, but zero tools loaded, usually because the server crashed on startup or the JSON has a syntax error. Always confirm a tool count before assuming the setup worked.
Local versus remote, side by side
| Remote connector | Local server | |
|---|---|---|
| Where it runs | Someone else's server | Your own machine |
| What you need | A URL | A command plus a config file entry |
| Setup location | Settings > Connectors | claude_desktop_config.json |
| Restart required after setup | No, but enable it per conversation | Yes, fully quit and reopen |
| Typical use case | A hosted product's own connector, like Flow's | A developer tool, a local database, a filesystem |
Neither is strictly better. The deciding factor is simply what the tool you want to add actually offers you.
Removing or updating a connector
Removing a remote connector is the reverse of adding one: open Settings > Connectors, find it in the list, and choose remove or disconnect. This revokes Claude's access immediately on that account. It does not touch anything on the server side, so if the connector used a personal token, consider also regenerating that token from the service itself if you are concerned about it being cached anywhere.
Updating a remote connector's URL, for instance after a service rotates its token into the path, means removing the old entry and adding the new URL as a fresh connector, since there is no in-place edit field for the URL itself.
For a local server, updating means editing the relevant block inside claude_desktop_config.json directly, whether that is bumping a version pinned in the args array or changing an environment variable. Then fully restart Claude Desktop the same way you would after adding it for the first time. If you remove a server's entry entirely, restart once more to confirm it no longer appears in the connectors list. A stale process can occasionally keep running in the background until the app fully quits.
A working example you can test with
If you want a low-stakes way to confirm your whole setup path works before adding a server you actually care about, Flow's own connector is a reasonable test case: it is a single URL, requires no local install, and gives you an immediate, visible result (your own notes and tasks show up as tool responses). Read connecting an assistant to your notes and tasks for the exact URL location, and read why a connector beats copy-paste first if you are not sure the tradeoff is worth it for how you actually use an AI tool day to day.
Frequently asked questions
Where is the Claude MCP config file stored?
On macOS it is at ~/Library/Application Support/Claude/claude_desktop_config.json, on Windows at %APPDATA%\Claude\claude_desktop_config.json, and on Linux at ~/.config/Claude/claude_desktop_config.json. The easiest way to open it without typing a path is Settings > Developer > Edit Config inside Claude Desktop.
Why does my MCP server show as connected but expose no tools? Almost always one of two things: the server process crashed immediately after starting, often from a missing dependency or bad config, or Claude has not been restarted since the config file changed. Quit and reopen Claude Desktop fully, then check the tool count again.
Do I need to restart Claude after adding a server? For a local server added through the config file, yes, always. For a remote connector added through Settings > Connectors, no restart is required, but you do need to enable it for the current conversation from the connectors menu in the chat box.
Can I use the same MCP server in Claude and ChatGPT? Yes, if the server is a remote MCP server reachable over HTTPS. The same URL works in both, since both clients speak the same protocol, though ChatGPT calls the feature Apps rather than connectors, a rename from late 2025. Local servers configured through Claude's JSON file are specific to Claude Desktop.
Is a remote connector safer than a local server? Not automatically. A remote connector runs code you do not control on someone else's infrastructure and only gives you the access the server author chose to expose. A local server runs on your own machine with whatever permissions you grant it. Read a server's own documentation for what data it touches either way; the deployment model is not itself a security guarantee.
Related reading
- What MCP actually is
- Connecting an assistant to your notes and tasks
- The ChatGPT equivalent, explained
- What you are handing over when you connect
- Servers worth adding first
- Why a connector beats copy-paste
My verdict
Decide local versus remote before you touch any settings screen. That one choice determines which field you are filling in, and almost every stuck setup I have seen traces back to skipping it.