Claude Desktop
Claude Desktop has no field for a request header, so the connection runs through mcp-remote, a
small bridge that adds the header on its way out. That is the only reason this setup is longer than
the other two.
Before you start
Install Node.js 18 or newer if you do not have it. The bridge is fetched and run with npx,
which comes with Node. Without it the server appears in the config and never starts, and Claude
Desktop reports only that it could not connect.
Add the server
- In Claude Desktop, open Settings → Developer → Edit Config. That opens the folder holding
claude_desktop_config.json. - Open
claude_desktop_config.jsonin any text editor and paste:
{
"mcpServers": {
"aov-upsell-your-store": {
"command": "npx",
"args": [
"mcp-remote",
"https://upsell.avada.io/mcp",
"--header",
"Authorization:${AOV_MCP_KEY}"
],
"env": {
"AOV_MCP_KEY": "Bearer aov_mcp_YOUR_KEY"
}
}
}
}- Save, quit Claude Desktop completely, and open it again. Closing the window is not enough on macOS — quit from the menu or with Cmd+Q, or the old config stays loaded.
No space after the colon in Authorization:${AOV_MCP_KEY}. A space there breaks how mcp-remote
splits its arguments, and the failure surfaces only as "could not connect" — nothing points at the
space. This is the single most common mistake on this page.
Use the config file, not Settings → Connectors. That dialog asks for a name and a URL only. There is nowhere to enter a key, so a server added there can never authenticate.
Why the key is in env
The key sits in env and is referenced from args, rather than being written straight into the
argument list. Both work. The indirection keeps the key out of the command line, where it would
otherwise be visible to anything that can list running processes on the machine.
Check it worked
Open a new chat and look for the tools icon in the message box. aov-upsell-your-store should be
listed with 10 tools.
Then ask:
What free gift campaigns am I running?
If the server does not appear at all, it is almost always one of three things, in this order: Node.js is not installed, Claude Desktop was not fully quit, or there is a space after that colon.