Claude Desktop was the first MCP client Anthropic shipped, and the rules for adding a server have shifted across releases. This guide covers the current path: an HTTP MCP entry in claude_desktop_config.json, a full app relaunch (not just a window close), and the verification that confirms it worked.
Does Claude Desktop support HTTP MCP servers?
Yes, current Claude Desktop builds support HTTP MCP servers natively. Older builds (before late 2025) only supported stdio, which required an mcp-remote wrapper for HTTP servers. Check your version under Claude Desktop -> About. If the version predates HTTP MCP, update before continuing.
The HTTP transport is the recommended path. It's simpler (one URL, no process management), it doesn't depend on stdio buffering quirks, and ToolPiper's HTTP endpoint is designed for it. The stdio fallback exists for compatibility with older clients only.
How do I add ToolPiper to Claude Desktop?
Edit ~/Library/Application Support/Claude/claude_desktop_config.json. Add a toolpiper entry under mcpServers with type: "http" and url: "http://127.0.0.1:9998/mcp". Quit Claude Desktop fully (Cmd-Q, not window close), then relaunch.
The JSON:
{
"mcpServers": {
"toolpiper": {
"type": "http",
"url": "http://127.0.0.1:9998/mcp"
}
}
}Steps:
- Locate the config file.
~/Library/Application Support/Claude/claude_desktop_config.json. If it doesn't exist yet, create it with the JSON above. Claude Desktop reads it on launch. - Add the entry. If
mcpServersalready has other servers, addtoolpiperalongside them. Otherwise create the whole object. - Quit Claude Desktop fully. Cmd-Q, or use the menu's Quit Claude option. Closing the window keeps the app running and your changes won't load.
- Relaunch. Open Claude Desktop from Applications or Spotlight.
How do I verify the connection worked?
Open a new chat. Look at the tool indicator (usually near the input box). ToolPiper should appear as a tool source with over 300 tools available. If it doesn't, the config file has an error or ToolPiper isn't running.
Claude Desktop on Mac shows MCP server status in two places. The tool indicator in the chat composer surfaces active tool sources. The Developer settings (Claude -> Settings -> Developer) shows MCP server status with detailed connection state.
End-to-end test: ask Claude Desktop to take a screenshot. "Take a screenshot and describe what's on my screen." If the response includes screenshot content, ToolPiper is wired correctly.
Why is a full relaunch necessary?
Claude Desktop reads claude_desktop_config.json only at process start. Closing the main window doesn't terminate the process. The app stays running in the background, holding the previous MCP state. A full Cmd-Q (or Force Quit) ends the process. The next launch reads the new config.
This catches more setups than the JSON syntax does. If you saved the file and reopened the Claude Desktop window expecting to see ToolPiper, you'll see no change. The process never restarted. Force Quit from the Apple menu's "Force Quit Applications" panel or run killall Claude in Terminal if Cmd-Q doesn't work.
What if Claude Desktop can't see ToolPiper?
Five checks. Claude Desktop is new enough to support HTTP MCP. ToolPiper is running. JSON is valid. Claude Desktop was fully relaunched (not just window-closed). The HTTP endpoint responds. If any one of those fails, the registration won't work.
- Claude Desktop version. Claude -> About. Pre-late-2025 builds don't support HTTP MCP. Update before continuing.
- ToolPiper running. Menu bar icon present.
curl http://127.0.0.1:9998/healthreturns JSON with"status": "ok". - JSON valid. Validate the file (paste into
python3 -m json.toolor any JSON validator). A trailing comma or stray quote kills the entire config silently. - Full relaunch done. Cmd-Q, then relaunch. Window close isn't enough.
- HTTP endpoint reachable.
curl http://127.0.0.1:9998/mcp. Connection refused means ToolPiper isn't actually running.
If the version is too old to support HTTP MCP and you can't update, fall back to stdio MCP using the mcp-remote wrapper. The configuration shape is different (command + args instead of url). The general pattern is documented in MCP Setup on Mac.
