Docs

Documentation

RankReactor Windsurf

Add the RankReactor SEO MCP server to Windsurf Cascade in mcp_config.json using a remote HTTP serverUrl and Authorization header.

Every RankReactor plan, including Free, can connect an assistant and create a project API key. Free can generate its one lifetime article through an assistant (the same article as the dashboard). Ongoing generation needs a paid plan. UGC video needs Pro or Ultra.

  • Free includes 1 lifetime article, shared across the dashboard and any assistant. After that article is used, ongoing generation needs a paid plan.
  • Starter is $39/month and includes a 3-day trial.
  • Pro is $79/month.
  • Ultra is $159/month.
  • Read tools work on every plan. Refreshing metrics through an assistant needs Starter, Pro, or Ultra. Queuing a UGC video needs Pro or Ultra.

Windsurf’s Cascade agent reads MCP servers from mcp_config.json. Official Windsurf docs configure a remote HTTP server with a serverUrl or url field plus optional headers. Use https://www.rankreactor.ai/mcp.

Open mcp_config.json

Current Windsurf Cascade docs: click the … (Actions) menu at the top right of the Cascade panel, then Open MCP config file. Add an entry under mcpServers and save.

The same docs give these file locations:

  • macOS / Linux: ~/.config/devin/mcp_config.json. If your system uses a custom XDG config directory, the file lives at devin/mcp_config.json under that directory.
  • Windows: %APPDATA%\devin\mcp_config.json.
  • VS Code’s official MCP discovery table still lists the older Windsurf path ~/.codeium/windsurf/mcp_config.json. If Open MCP config file opens a different path on your build, edit the file it opened.

Remote HTTP entry

Official Windsurf docs show serverUrl (or url) and a headers object for remote HTTP. RankReactor expects Authorization: Bearer with the project key.

{
  "mcpServers": {
    "rankreactor": {
      "serverUrl": "https://www.rankreactor.ai/mcp",
      "headers": {
        "Authorization": "Bearer <your-project-key>"
      }
    }
  }
}

url is accepted as an alias for the same remote endpoint. Do not paste a Cursor command / npx block for RankReactor — this is a hosted HTTP server, not a local process.

Windsurf documents OAuth for Devin Desktop transports. Cascade’s remote HTTP examples use headers. If your build offers a browser sign-in after you add only the URL, complete Connect RankReactorAI with the project key. Otherwise use the header block above.

  1. Open mcp_config.json from the Cascade … menu.
  2. Add the rankreactor entry. Replace the placeholder with the key from Dashboard → API Key.
  3. Save the file.
  4. In the Cascade … menu, confirm the server is listed and enabled.
  5. Ask Cascade to list the RankReactor project or stored metrics.

Create a project API key

  1. Sign in and open the project you want the assistant to use.
  2. Open API Key in the dashboard sidebar.
  3. Choose Generate. If a key already exists, choose Regenerate only when you intend to replace it.
  4. Copy the key now. RankReactor shows the full value once.
  5. Paste it on the Connect RankReactorAI page (OAuth) or into the client’s Authorization header.

Available tools

This connection is scoped to one project. Do not ask the assistant to guess another site. Write tools ask for confirmation first.

  • List projects (list_projects) — List the RankReactor project this API key can use. The key is scoped to exactly one project, so the result is that single site. Example: “Which RankReactor site is this connection using?”
  • Get reactor status (get_reactor_status) — Read this site's plan, quotas, and recent article or video activity. Example: “How many articles are left on this project today?”
  • Get metrics (get_metrics) — Read stored search and site health numbers for this RankReactor project. Example: “Show the stored search metrics for this site.”
  • Refresh metrics (refresh_metrics) — Refresh one stored metric for this project (analytics, technical SEO, website audit, or keywords), subject to that metric's plan limit. Confirmation required. Example: “Refresh analytics for this project if that metric is due.”
  • List articles (list_articles) — List generated articles for this RankReactor project. Example: “List the generated articles for this site.”
  • Generate article (generate_article) — Queue an article for this project. Uses the same article limits as the RankReactor dashboard. Confirmation required. Example: “After I confirm, queue an article for the keyword running shoes.”
  • List UGC videos (list_ugc_videos) — List generated short videos for this RankReactor project. Example: “List UGC videos for this project.”
  • Generate UGC video (generate_ugc_video) — Queue a short product video for this project. Uses the same monthly video limits as the RankReactor dashboard. Confirmation required. Example: “After I confirm, queue a short product video about our trail runner.”

Troubleshooting

  • 401, invalid, or revoked key — the server returns 401 when no Authorization header is sent, or when the token is invalid or revoked. Generate a key on the matching project and update the client.
  • Regenerated key — the previous key stops working as soon as you confirm Regenerate. Paste the new key into OAuth consent or the Bearer header.
  • Revoke — Revoke on the API Key page stops the current key immediately. Existing OAuth and header connections are refused until you generate a new key.
  • Wrong project or domain — each key belongs to one project. A domain that names a different site is rejected. Create a key on the project you want, or omit the domain so the keyed site is used.
  • Plan-gated tools — Free can generate its one lifetime article through an assistant; that count is shared with the dashboard. Ongoing article generation needs a paid plan. Refreshing metrics through an assistant needs Starter, Pro, or Ultra. Queuing a UGC video needs Pro or Ultra. Read tools still work on Free.
  • Article limit — Free has one lifetime article across the dashboard and assistants. Paid plans have a daily article cap (UTC). When a paid daily cap is reached, the tool reports that the article limit has been reached and when it resets.
  • Video limit — Pro and Ultra have a monthly UGC video cap (UTC). When it is reached, the tool reports that the monthly video limit has been reached.
  • Metrics cooldown — Starter, Pro, and Ultra can refresh one metric at a time, then wait that metric’s interval. Analytics, technical SEO, and website audit wait 7 days on Starter, 1 day on Pro, and 8 hours on Ultra. Keywords wait 21 / 14 / 7 days. Free does not refresh metrics through the assistant.

Windsurf-specific notes

  • Cascade counts tools across every enabled MCP server and documents a 100-tool cap. Disable unused servers if RankReactor tools do not appear.
  • To turn off individual tools, official docs use a disabledTools array on that server in mcp_config.json.
  • Team allowlists match the server id (the key under mcpServers). Use a stable name such as rankreactor.
  • If the file you edited is not the one Cascade opened, the new server will not load. Use Open MCP config file rather than guessing the path.

Need help?

Email help@rankreactor.ai or reach out on X at @rankreactorai if Cascade never lists the RankReactor server. Include the project domain and which assistant you used.

Questions? Email help@rankreactor.ai or reach out on X at @rankreactorai and include your project domain.