Claude Desktop

Claude Desktop's **Add custom connector** dialog (URL + OAuth only) cannot send a Bearer API key. Use the local mcp-remote bridge instead.

What are the connection details?

Server URLhttps://mcp.unitpost.com/mcp
TransportStreamable HTTP
Auth headerAuthorization: Bearer pk_live_YOUR_KEY(production key from www.unitpost.com)
Toolsone per API operation (emails_send, campaigns_send, …)

How do I connect Claude Desktop?

  1. Create a production API key

    Open https://www.unitpost.comSettings → API keys → create a scoped key. Copy the full pk_live_… value (shown once). In every snippet below, replace pk_live_YOUR_KEY with that value.

    Must be production. Keys from unitpost.dev only work on the dev API. This MCP URL is production (mcp.unitpost.com) — a .dev key returns 401 Invalid API key on tool calls even if the server appears connected.

  2. Open Edit Config

    In Claude Desktop: Settings → Desktop app → Developer → Edit Config. That opens claude_desktop_config.json.

  3. Paste mcpServers at the top level

    Merge the block below into the file. mcpServers must be a top-level key (sibling of preferences), not nested inside preferences. Replace pk_live_YOUR_KEY in AUTH_HEADER — keep Bearer and the space.

    JSON
    {
      "mcpServers": {
        "unitpost": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://mcp.unitpost.com/mcp",
            "--header",
            "Authorization:${AUTH_HEADER}"
          ],
          "env": {
            "AUTH_HEADER": "Bearer pk_live_YOUR_KEY"
          }
        }
      }
    }

    Deliberately no space after Authorization: in args — Claude Desktop mangles spaces there; the value lives in env instead. Requires Node.js 18+. If npx is not found, set "command" to your absolute npx path (e.g. /opt/homebrew/opt/node@22/bin/npx). Grant only the scopes the agent needs (e.g. emails:send for emails_send). Prefer a revocable key dedicated to the agent.

  4. Fully quit and reopen

    Save the file, then ⌘Q (Quit) Claude Desktop — closing the window is not enough. Reopen and check Settings → Developer: unitpost should appear under Local MCP servers.

  5. Send a test

    Ask Claude to send an email from a verified domain and confirm it in Unitpost Activity.

  6. Skip: Add custom connector (unless you see Request headers)

    Most plans only show Name + Remote MCP server URL + OAuth Client ID/Secret. That cannot authenticate Unitpost. Only if your dialog has Request headers: set URL to the value below, add header Authorization = Bearer pk_live_… (include Bearer ). Never put the API key in OAuth Client ID/Secret.

    Remote MCP server URLhttps://mcp.unitpost.com/mcp
    Request header valueBearer pk_live_YOUR_KEY

    mcp-remote is local to Claude Desktop. Custom connectors (when header auth exists) are cloud-brokered and also work on claude.ai / mobile.