Install MCP Servers in Claude Desktop with Pharos

Claude Desktop keeps its MCP servers in claude_desktop_config.json, and that file lives in a different folder on every OS. Pharos finds it, downloads the server, verifies it, and writes the entry for you.

This guide covers the pharos install, your first server in Claude Desktop, and the one case where pharos stays out of the way: remote servers.

1

Install the Pharos CLI

Pharos ships as a single Go binary. Pick the install path for your system:

# macOS / Linux / WSL
curl -fsSL https://getpharos.dev/install | sh

# Windows PowerShell (not cmd.exe)
irm https://getpharos.dev/install.ps1 | iex

# Go developers
go install github.com/Wpnx330/pharos-cli@latest
Verify
# Check the CLI is on your PATH
pharos version
2

Install a server into Claude Desktop

The package name is the ID from search results. Install it with the --client flag pointed at Claude Desktop:

pharos install echo-mcp-server-for-testing --client claude-desktop

To add the same server to more clients in one pass, list them comma-separated. The interactive picker does the same job with a menu:

Multiple clients
pharos install echo-mcp-server-for-testing --client claude-desktop,cursor
Interactive picker
pharos install echo-mcp-server-for-testing --select-clients

Transport decides what install does. stdio servers are downloaded as tarballs and verified before any config entry is written. Remote servers, the kind that run over HTTP, get a URL-based config entry instead, so there is nothing to download.

Remote servers are the one exception on Claude Desktop. Claude Desktop connects remote (HTTP) servers through Settings → Connectors, not through claude_desktop_config.json. Pharos skips remote entries for this client instead of writing config the app would ignore. stdio servers install normally.

3

Where the config lands

macOS
~/Library/Application Support/Claude/claude_desktop_config.json
Windows
%APPDATA%\Claude\claude_desktop_config.json
Linux
~/.config/Claude/claude_desktop_config.json

The file uses the mcpServers format, and entries you added by hand stay as they are. Pharos picks the right folder for your OS when you install with --client claude-desktop.

Every install writes an install receipt: a machine-readable record that shows exactly which config files changed. When you want to know what pharos touched, read the receipt.

4

Verify the install

Restart Claude Desktop so it reloads its config. In a new chat, ask what MCP tools it has; the new server should be in the list.

The receipt from the install names the file that changed, so you can confirm the write landed where you expected.

Troubleshooting

The server is not listed in Claude Desktop

Restart the client so it reloads its config. Still missing? Check the receipt for the path pharos wrote and match it against the per-OS folder listed above.

A remote server did not appear

That is expected. Claude Desktop manages remote (HTTP) servers as Connectors, added through Settings → Connectors. Pharos skips remote entries in claude_desktop_config.json rather than writing config the app ignores. stdio servers install normally.

Pharos reports Claude Desktop as not found

Microsoft Store (MSIX) installs of Claude Desktop are detected and configured as of pharos-cli v1.1.0. If Pharos still reports the client as not found, launch Claude Desktop once first: never-launched Store installs are skipped.

Removing a server

pharos remove echo-mcp-server-for-testing takes the server back out. Use the same package ID you installed with.

Coming from mcpm or manual configs?

Run pharos import. It reads the client config files you already have and adopts the servers in them into pharos.lock. From then on, pharos tracks every change through install receipts, and you can install and update without editing client JSON by hand.

pharos import

Frequently asked questions

Where is claude_desktop_config.json?

macOS: ~/Library/Application Support/Claude/. Windows: %APPDATA%\Claude\. Linux: ~/.config/Claude/. Pharos writes the right one when you install with --client claude-desktop.

Can pharos add remote MCP servers to Claude Desktop?

No. Claude Desktop treats remote (HTTP) servers as Connectors, managed through Settings → Connectors. Pharos skips remote entries for this client instead of writing config the app would ignore. stdio servers install normally with --client claude-desktop.

Will pharos overwrite the MCP servers I already configured?

No. Pharos writes the entry for the server you are installing and preserves the rest of the file. To bring existing configs under pharos management, run pharos import. Every install then records a receipt that shows exactly which files changed.

Get the Pharos CLI

Everything on this page runs on the pharos CLI. Install it with:

# macOS / Linux / WSL
curl -fsSL https://getpharos.dev/install | sh

The full command reference, including every flag pharos install accepts, is on the CLI page.