Documentation
Add an SEO tool to Cursor
Install the RankReactorAI Cursor plugin or add the hosted SEO MCP server in mcp.json. Use OAuth or an Authorization Bearer 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.
Cursor connects to RankReactor over Streamable HTTP at https://www.rankreactor.ai/mcp. You can install the existing RankReactorAI marketplace plugin, or add the same server by hand in mcp.json.
Install the RankReactorAI plugin
The RankReactorAI package (rankreactorai) is a marketplace plugin. Its mcp.json points at the hosted server with type: http and no extra headers — Cursor then uses MCP OAuth. The package is manifests and skills only; it does not ship a local server or secrets.
- In Cursor, open Customize and browse the Marketplace for RankReactorAI (plugin name
rankreactorai). - Install the plugin. Cursor starts OAuth against the hosted MCP URL.
- When Connect RankReactorAI opens, paste the project key from Dashboard → API Key and choose Allow.
- Ask Cursor to list the RankReactor project or read stored metrics.
Manual mcp.json
Cursor’s official MCP docs use a mcpServers object. Put the file in one of these locations:
- Project:
.cursor/mcp.jsonin the project folder. Commit it if the team should share the server (do not commit a live project key). - Global:
~/.cursor/mcp.jsonin your home directory, for every project. - Both files are merged. If the same server name appears in both, the project file wins.
OAuth (same shape as the plugin). Cursor supports OAuth on Streamable HTTP. On first use it opens the browser; paste the project key on Connect RankReactorAI.
{
"mcpServers": {
"rankreactor": {
"url": "https://www.rankreactor.ai/mcp"
}
}
}Header method, which Cursor documents for remote servers that take a static token:
{
"mcpServers": {
"rankreactor": {
"url": "https://www.rankreactor.ai/mcp",
"headers": {
"Authorization": "Bearer <your-project-key>"
}
}
}
}Save the file and restart Cursor, or reload MCP from Customize. Replace the placeholder with the key from Dashboard → API Key. Do not put that key in a shared repository.
Create a project API key
- Sign in and open the project you want the assistant to use.
- Open API Key in the dashboard sidebar.
- Choose Generate. If a key already exists, choose Regenerate only when you intend to replace it.
- Copy the key now. RankReactor shows the full value once.
- 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.
Cursor-specific notes
- Remote HTTP needs a current Cursor build that speaks Streamable HTTP (Cursor documents this from v0.48.0).
- If OAuth does not open a browser, use the
headersAuthorization entry instead. - Cursor can interpolate values in
urlandheaders. Prefer pasting the key or the client’s own secret prompt over committing the key. - Team allowlists can block a URL that is not approved. Ask an admin to allow
https://www.rankreactor.ai/mcp.
Need help?
Email help@rankreactor.ai or reach out on X at @rankreactorai if Cursor cannot load the plugin or mcp.json stays disconnected. 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.