Client guide
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.
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# Check the CLI is on your PATH
pharos versionInstall 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-desktopTo add the same server to more clients in one pass, list them comma-separated. The interactive picker does the same job with a menu:
pharos install echo-mcp-server-for-testing --client claude-desktop,cursorpharos install echo-mcp-server-for-testing --select-clientsTransport 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.
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.
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 importFrequently 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 | shThe full command reference, including every flag pharos install accepts, is on the CLI page.