Outrank MCP Server

Let Claude Code, Cursor and other AI assistants work in your Outrank organization: plan keywords, generate and publish articles, manage integrations, backlinks and the marketplace.

What it is

The Outrank MCP server is part of the official outrank-cli package. It speaks the Model Context Protocol, so any MCP client can call Outrank directly as tools. It runs on your machine, started by the client, and sends requests to the Outrank REST API with your API key.

  • Node.js 18 or newer on the machine that runs the client. Check with node --version.
  • An Outrank API key. One key belongs to one organization.
  • Nothing to install up front: the client starts the server through npx.

Claude Code

On macOS, Linux and WSL, run this in the project folder:

claude mcp add outrank --env OUTRANK_API_KEY=outr_live_your_api_key_here \
  -- npx -y outrank-cli@0.6.0 mcp

On native Windows, from the Command Prompt:

claude mcp add outrank --env OUTRANK_API_KEY=outr_live_your_api_key_here -- cmd /c npx -y outrank-cli@0.6.0 mcp

On native Windows, from PowerShell, call claude.exe so that the -- separator is kept (claude.cmd when Claude Code was installed with npm):

claude.exe mcp add outrank --env OUTRANK_API_KEY=outr_live_your_api_key_here -- cmd /c npx -y outrank-cli@0.6.0 mcp

Check the connection, then start a new Claude Code session:

claude mcp get outrank

To share the server with a team, commit a .mcp.json file that takes the key from each developer's environment, so no key lands in git:

{
  "mcpServers": {
    "outrank": {
      "command": "npx",
      "args": ["-y", "outrank-cli@0.6.0", "mcp"],
      "env": { "OUTRANK_API_KEY": "${OUTRANK_API_KEY}" }
    }
  }
}

Each developer then sets the variable once. On macOS and Linux, add this line to ~/.zshrc or ~/.bashrc:

export OUTRANK_API_KEY=outr_live_your_api_key_here

On Windows, from the Command Prompt or PowerShell:

setx OUTRANK_API_KEY outr_live_your_api_key_here

The variable reaches new terminals only, so open a new one before starting Claude Code.

Cursor

Add the server to ~/.cursor/mcp.json, the file for all projects. It is in your home folder, outside any repository, so the key in it cannot be committed by accident. On Windows it is %USERPROFILE%\.cursor\mcp.json.

{
  "mcpServers": {
    "outrank": {
      "command": "npx",
      "args": ["-y", "outrank-cli@0.6.0", "mcp"],
      "env": { "OUTRANK_API_KEY": "outr_live_your_api_key_here" }
    }
  }
}

If the server does not start on native Windows, use this form:

{
  "mcpServers": {
    "outrank": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "outrank-cli@0.6.0", "mcp"],
      "env": { "OUTRANK_API_KEY": "outr_live_your_api_key_here" }
    }
  }
}

For one project or a team, put the server in .cursor/mcp.json inside the project and take the key from the environment, so the file can be committed without it:

{
  "mcpServers": {
    "outrank": {
      "command": "npx",
      "args": ["-y", "outrank-cli@0.6.0", "mcp"],
      "env": { "OUTRANK_API_KEY": "${env:OUTRANK_API_KEY}" }
    }
  }
}

Set OUTRANK_API_KEY as shown in the Claude Code section, then quit and reopen Cursor. A project server may first have to be switched on in the MCP section of the Cursor settings; a server in the all-projects file starts on its own.

The examples pin the version on purpose: the server holds a live API key, so upgrade it deliberately.

Other MCP clients

Any client that can start a local MCP server (the stdio transport) works. Give it these three values; many clients read the same JSON as the Cursor example above.

  • Command: npx
  • Arguments: -y outrank-cli@0.6.0 mcp
  • Environment variable: OUTRANK_API_KEY set to your API key

First steps

Ask the assistant to "show my Outrank account and products". It calls auth_whoami and products_list and should answer with your organization and its websites. Every result names the organization it came from, so the assistant cannot mix accounts up silently.

Tools are named after the CLI commands with underscores: keywords_list, articles_generate or products_integrations_list.

Toolsets

Tools are grouped into toolsets. At startup the server asks Outrank which areas your organization can use and lists only those tools, so an assistant is not offered dozens of tools that would only return errors. The tools that start a new area, such as the marketplace status tools, are always listed.

core

Account, products and their settings, target audiences, competitors, usage and subscription status. On by default; an explicit --toolsets list has to name it.

integrations

Connect and test publishing integrations such as WordPress, Webflow, Shopify or Framer.

gsc

Connect Google Search Console and read performance, search analytics, cannibalization and URL inspection data.

linking

Internal linking: link sources, detection and the list of link targets.

backlinks

The backlink exchange: settings, credits, earned backlinks, verification and plan quotes.

keywords

The content plan: list, suggest, generate, schedule, reschedule and delete keywords.

articles

Generate, read, edit, replace and publish articles, including images.

improvements

Find under-performing published articles, review the candidates, schedule and push the rewrites.

marketplace-seller

Sell placements in the Outrank Marketplace: onboarding, payout setup, placements and earnings.

marketplace-buyer

Buy placements in the Outrank Marketplace: plan, target pages and placements.

billing

Quote and buy extra product slots, and open the billing portal.

Add options after mcp in the server command to change what is listed:

npx -y outrank-cli@0.6.0 mcp --read-only
npx -y outrank-cli@0.6.0 mcp --toolsets core,keywords,articles
npx -y outrank-cli@0.6.0 mcp --toolsets all
  • --read-only lists only tools that change nothing in Outrank or on your site.
  • --toolsets with a list exposes exactly those toolsets. Keep core in the list unless you already know your product ids.
  • --toolsets all lists everything.

The tool list is a noise filter, not a permission system: Outrank checks access on every request. After buying a new service, ask the assistant to run whoami again or restart the server to refresh the list.

Several organizations

One server works on one organization. For several organizations, store one profile per organization with the CLI and register one server per profile:

npm install -g outrank-cli@0.6.0
outrank-cli auth login outr_live_first_key --profile acme
outrank-cli auth login outr_live_second_key --profile globex
claude mcp add outrank-acme -- npx -y outrank-cli@0.6.0 mcp --profile acme
claude mcp add outrank-globex -- npx -y outrank-cli@0.6.0 mcp --profile globex

A server started with --profile ignores OUTRANK_API_KEY, so each one stays on its own organization even when that variable is set in your shell.

In PowerShell, call claude.exe in the last two commands, as described in the Claude Code section.

Security

  • The key never passes through the assistant. No tool takes an API key as an argument and logging in is not a tool. Put the key in the client configuration or in the environment, never in a chat message or in a file that is committed.
  • The key is only sent to Outrank. The server talks to www.outrank.so. Environment variables cannot point it at another host, so a project file such as .mcp.json cannot redirect your key that way; any other host needs a profile you store yourself in a terminal.
  • Only register the server from a configuration you trust. Whoever controls the server command and its environment controls the process, and a configuration that replaces the program can read the key. Read a .mcp.json from a repository you did not write before you approve it.
  • Purchases and cancellations need explicit confirmation. Tools that charge your card or cancel a subscription require the exact amount or subscription id as a confirmation field and are flagged as destructive, so the client asks before running them. A client set to approve every tool automatically removes that safeguard.
  • Uploads are restricted. Image files are read only from the folder the server starts in (or --upload-dir); the assistant can also send image bytes directly. Either way the limit is 5 MB and the content must really be an image.
  • Marketplace text is untrusted. Briefs, notifications and placement articles are written by other organizations. The server tells the assistant to treat them as data, not as instructions.

Rate limits

The server uses the same budget as every other client of the key: 120 requests per minute and 10,000 requests per day. When a limit is reached, the tool result says how long to wait.

Troubleshooting

The server does not start.

Run npx -y outrank-cli@0.6.0 mcp --help in a terminal: it must print the usage. Check that Node.js 18 or newer is installed. On native Windows, if the client cannot start npx directly, use the cmd /c npx form shown above.

The command works in a terminal, but the client cannot find npx or node (macOS, Linux).

A client started from the Dock or a desktop menu does not always get the PATH of your shell, so a Node.js installed with nvm, fnm or volta can be invisible to it. Run which npx in a terminal, use that full path as the command, and add its folder to PATH in the env block of the server entry, for example "PATH": "/home/you/.nvm/versions/node/v22.0.0/bin:/usr/bin:/bin". The full path alone is not enough: npx starts node through PATH.

PowerShell reports "unknown option '-y'" when adding the server.

PowerShell drops the -- separator when claude is a script or a function instead of the program itself. Call claude.exe directly, as in the PowerShell example above. If claude.exe is not found (Claude Code installed with npm), call claude.cmd or run the command from the Command Prompt.

The first start is slow or times out.

npx downloads the package the first time, which can take 20 seconds or more, and contacts the npm registry on every start. In Claude Code, run /mcp reconnect all to try again, or install the package globally and use outrank-cli mcp as the command.

Every call returns CLI_AUTH_REQUIRED.

The server has no API key. Add OUTRANK_API_KEY to the server entry in the client configuration.

Only a few tools are listed.

The organization does not have that service yet, the key could not be checked at startup, or the server command narrows the list with --toolsets or --read-only. Ask the assistant to run whoami: the answer names what is on, what is off and how to start it. Then check the server entry in the client configuration.

A call takes minutes or times out.

Generating articles, analyzing improvements and generating keywords are long operations. When a call times out the result says whether the work may still be running and which tool to check with. Do not repeat the call before checking.

If you prefer a global install over npx:

npm install -g outrank-cli@0.6.0
outrank-cli mcp --help
background

Let's Try!

Start creating magic today with a free trial!