What you need

  • Claude Desktop, the desktop app (not the browser version: local servers are configured in the desktop app).
  • Node.js installed, the engine that runs most servers. It's downloaded free from the official site.
  • The server you want to connect. In the examples below we use the filesystem server, which gives Claude access to a folder.

How to do it

The path is the same on Windows and Mac; only where the app saves the file changes.

  1. Open the configuration file from the app. In Claude Desktop go to Settings and look for the developer section: from there you open (or create) the claude_desktop_config.json file in your text editor. It's the recommended way, so you don't have to hunt for it by hand on your computer.
  2. Add the server. The working syntax:
{
  "mcpServers": {
    "documents": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
    }
  }
}

mcpServers is the container; documents is the name you give the connection yourself; the last value is the folder Claude will be able to see. If you already have other servers, add this one inside the same brackets, separated by a comma.

  1. Save and restart Claude completely. Closing the window isn't enough: quit the app and reopen it, so it rereads the configuration.
  2. Verify. In the writing box the tools icon appears; open it and check that your server is listed. Or ask Claude "what tools do you have available?".

A concrete example

Anna wants Claude to read the folder where she keeps the drafts of her articles. She opens Claude Desktop's Settings, enters the developer section and has the configuration file opened. She pastes the filesystem server block and changes the path to that of the drafts folder. She saves, quits Claude and reopens it.

On restart she sees the tools icon appear. She writes: "read the drafts in the folder and tell me which is the most complete." Claude opens the files on its own and answers indicating the document and why. Anna didn't paste anything by hand: she connected the folder once and now Claude accesses it when needed.

When it does NOT work (and how to fix it)

If after the restart you don't see the server

Almost always it's the file written wrong. Claude doesn't load a server if the JSON (the file's format, made of brackets and commas) isn't valid: one extra comma or one missing bracket is enough. Copy the file's content into a Claude chat on the browser and ask "is this JSON valid? fix it."

If Claude says it can't access the folder

Check the path: it must be exact. On Mac it looks like /Users/name/Documents, on Windows like C:\\Users\\name\\Documents (with the double backslashes in the file). If you get even one letter wrong, the server starts but finds nothing. Copy the path directly from the folder's properties.

If you edited the file but nothing changes

You forgot the complete restart. Claude reads the configuration only on startup: really quit the app (including from the icon in the tray, if it stays active) and reopen it.

A tip from someone who really uses it

Before saving important changes to the file, copy it somewhere as a backup. A broken configuration file prevents all the servers from loading, not just the new one. Having the version that worked lets you go back in ten seconds instead of rebuilding everything.

Frequently asked questions

Can I connect multiple servers together to Claude Desktop?

Yes. They all go inside mcpServers, each with a different name, separated by a comma. It's worth adding them one at a time and verifying that they work, so if something breaks you know which entry to fix.

Do I have to redo the configuration with every Claude update?

No, the file stays. The app's updates don't delete the servers you've configured. If one day a server stops working, it's usually because it changed, not Claude.

Do I need Claude's paid plan to use MCP?

MCP servers are configured in the desktop app and the protocol is free. Any limits depend on your Claude usage plan, not on connecting the servers themselves, which has no additional cost.