Where the config file lives, the exact JSON to paste, and what to do when the server does not show up.
Claude Desktop loads MCP servers two ways: local servers declared in a JSON config file, and remote connectors added through Settings. This guide covers both, using Secondhand MCP as the worked example — the steps are the same for any MCP server, so swap in whichever one you are installing.
Takes about two minutes, once
Claude Desktop reads one file. It may not exist yet — create it if not.
macOS ~/Library/Application Support/Claude/claude_desktop_config.json Windows %APPDATA%\Claude\claude_desktop_config.jsonThe quickest route: Settings → Developer → Edit Config opens the file directly, creating it if needed.
Every local MCP server is one entry in the mcpServers object:
{
"mcpServers": {
"secondhand": {
"command": "npx",
"args": ["-y", "secondhand-mcp"]
}
}
}secondhand is any name you choose. command is the executable (npx, node, python, uvx). args is the argument list. Add an optional env object for API keys. Adding a second server means a second key in the same object — there is no limit.The config is read once at launch, so closing the window is not enough — fully quit the app (Cmd+Q on macOS, or exit from the system tray on Windows) and start it again.
Open a new chat and look for the tools or connector icon in the composer. Clicking it lists every server that started successfully and the tools each one exposes. If your server is not there, see the troubleshooting section below.
Remote MCP servers need no install, no Node.js and no config file. In Claude Desktop go to Settings → Connectors → Add custom connector and paste https://secondhandmcp.com/mcp, then complete the browser sign-in. This is the faster path for Secondhand MCP and it also syncs to Claude on the web and mobile.
Almost every failed MCP install in Claude Desktop is one of these five:
npx may not resolve. Use an absolute path — /usr/local/bin/npx, or whatever which npx prints.node --version.~/Library/Logs/Claude/mcp*.log on macOS, %APPDATA%\Claude\logs\ on Windows. The error is usually in the last few lines.Secondhand MCP offers both: the hosted connector above, or the MIT-licensed open-source server on npm. The local server needs Chrome installed for Depop and Poshmark, which are read through a headless browser; Facebook Marketplace and eBay work without it.
Once it is connected, Claude Desktop can search Facebook Marketplace, eBay, Depop and Poshmark from the conversation — with price limits and full listing details including photos. Try: "Search for a used Fender Telecaster under $600 near Portland, OR."
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows: %APPDATA%\Claude\claude_desktop_config.json. The file does not exist until you create it, and Settings → Developer → Edit Config will create and open it for you.
In order of likelihood: invalid JSON in the config file, the app was not fully quit and reopened, the command is not on PATH (use an absolute path to npx or node), Node.js is not installed, or the server crashed at startup. The logs at ~/Library/Logs/Claude/mcp*.log name the actual error.
Yes. Settings → Connectors → Add custom connector takes a URL and runs an OAuth sign-in, with no config file and no local install. Remote connectors also work on Claude for web and mobile.
As many as you like — each is another key inside the mcpServers object. Every server does consume context for its tool definitions, so removing ones you do not use keeps things responsive.
Yes. The file is read at launch, so fully quit Claude Desktop and reopen it. Closing the window is not sufficient.
Yes — MIT-licensed, no account and no limits from us. You supply the compute. The hosted connector has a free tier of 10 searches a month with no card.