Skip to content
RankX AI
RankX AI Docs
MCP serverConnect a client

Connect Claude Desktop and Claude Web

Connect RankX AI to Claude through the Connectors panel with OAuth, plus the config-file trap that costs people an afternoon.

Claude Desktop and Claude Web connect to RankX AI through their Connectors panel, using OAuth. Add a custom connector, paste https://app.rankxai.com/api/mcp, leave the client id and secret empty, and sign in. An account owner approves the connection once and it stays connected.

Do not try to do this by editing Claude Desktop's config file. That file cannot express this kind of connection, and the failure is silent.

Connecting

Open Connectors

In Claude, go to Settings, then Connectors, then Add custom connector.

Paste the endpoint

https://app.rankxai.com/api/mcp

Leave the client id and client secret empty. RankX AI registers your client automatically, which is what the protocol expects for a public client. Filling those fields in with something you invented will fail.

Sign in and approve

Claude sends you to RankX AI to sign in. The consent screen names every capability it is asking for, and badges the ones that touch a live public website.

Only an account owner can approve a connection. If you are not the owner, the screen will tell you so rather than half-connecting. That is a deliberate boundary: this credential can spend credits and edit a live site.

Check it worked

Ask Claude:

"Using RankX AI, list my websites."

It should call list_projects and come back with them. If the tool is not there at all, see troubleshooting.

The config-file trap

claude_desktop_config.json cannot take an HTTP entry with a headers block. That file starts local programs, so an entry describing a remote HTTP server with an Authorization header is silently ignored, and the app reports only that some servers failed to load. Nothing names the cause.

The snippet that looks like it should work is the one from an editor's config, and it is a different format for a different mechanism. A real user lost an afternoon to this on 30 July 2026.

Claude Desktop reaches a remote server in exactly two ways: the Connectors panel above, or a local bridge program, below.

The bridge, if you must use a token

Rare, and only worth doing if you specifically need a token rather than OAuth, for example to use a client-scoped credential. It runs mcp-remote as a local program that relays to RankX AI.

Two Windows traps are baked into the block below, and both are the kind that produce a silent failure:

{
  "mcpServers": {
    "rankxai": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "mcp-remote",
        "https://app.rankxai.com/api/mcp",
        "--header",
        "Authorization:${RANKXAI_TOKEN}"
      ],
      "env": {
        "RANKXAI_TOKEN": "Bearer rxai_your_token_here"
      }
    }
  }
}

Why cmd /c wraps npx. On Windows, npx is a shell script rather than an executable, so a config that names it directly cannot start it.

Why the credential is in env and the header value has no space. mcp-remote splits --header on the first space, so "Authorization: Bearer rxai_..." arrives truncated at the header name. Putting the whole value in an environment variable and referencing it keeps the argument space-free.

On macOS and Linux the cmd /c wrapper is unnecessary, but the header rule still applies.

Which capabilities the connection gets

An OAuth connection is granted the full capability set in one decision, rather than a checkbox per scope. The reasoning is on the authentication page: a partial grant produces a broken product rather than a safer one, because declining one scope makes a whole group of tools silently vanish with the cause a checkbox ticked days earlier.

Every write still dry-runs first and is refusable, and the site-admin capability still cannot install a plugin or delete a user.

Disconnecting

Two places, and either is enough:

  • In Claude, remove the connector.
  • In RankX AI, open MCP settings and disconnect it in the connected-apps list. This is the one to use if you think the credential has leaked, because it kills the connection and its current access token together.

Where to go next