Claude Code is one terminal command. Claude Desktop uses a JSON file and mcp-remote for HTTP servers.
Claude has two clients. Claude Code is the terminal agent. Claude Desktop is the app. They do not share config. Pick the one you actually use, then take the matching snippet from the listing.
Remote servers use Streamable HTTP. From any directory listing, copy the Claude Code line and run it in a terminal:
claude mcp add --transport http context7 https://mcp.context7.com/mcp
Local servers drop --transport http and pass the command after --:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path
Then start a session and ask Claude to list tools. The server name from the listing should appear.
Desktop cannot speak Streamable HTTP on its own. The listing snippet wraps a remote URL in npx mcp-remote. Open Claude Desktop → Settings → Developer → Edit Config, and merge the block into claude_desktop_config.json.
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.context7.com/mcp"]
}
}
}A local listing skips mcp-remote and uses the package command directly (npx, uvx, or docker). Restart Claude Desktop after you save.