Connect your agent with npx seofix connect
One command adds the SEOFix MCP server to Claude Code, Codex and Cursor. You approve it in the browser, pick a team, and the CLI writes the config.
Run npx seofix connect in your project folder. It shows a code, opens https://seofix.ai/connect, and after you approve it there it creates an API key for the team you pick and adds the SEOFix MCP server (https://mcp.seofix.ai/mcp) to Claude Code, Codex and Cursor. Then restart your agent.
npx seofix connect
It needs Node.js 20 or newer. You never copy or paste the API key.
Steps
- Run
npx seofix connectin a terminal, in the project folder you want Cursor configured for. - The CLI prints a code like
ABCD-EFGHand openshttps://seofix.ai/connect?code=ABCD-EFGHin your browser. If the browser does not open, open the printed link yourself. - Sign in to SEOFix if you are not signed in.
- On the Connect your agent page, check the request: the machine name and agents, when it was made, and where from (country, or a masked IP address). Approve only if you ran the command yourself just now.
- Confirm that the code on the page matches your terminal. When you arrived through the link, tick The code ... matches the one in my terminal.
- Pick the Team. The key acts for that team only.
- Click Approve. The page shows Agent connected. Click Deny instead if you did not start the request; the CLI then stops without changing anything.
- Back in the terminal, the CLI prints
Approved for team <name>.and configures each agent. - Restart your agent and ask it to audit your site with SEOFix.
The code expires after 10 minutes. The CLI polls the API every 5 seconds until you approve, deny, or the code expires. If it expires, run the command again for a new code.
If you open https://seofix.ai/connect without the link, type the 8-character code from your terminal and click Continue.
What it configures
By default the CLI configures every agent it finds on the machine:
| Agent | Detected when |
|---|---|
| Claude Code | the claude CLI is on your PATH |
| Codex | the codex CLI is on your PATH, or ~/.codex (or $CODEX_HOME) exists |
| Cursor | the cursor CLI is on your PATH, or ~/.cursor or ./.cursor exists |
If none is found, the CLI stops and asks you to pick one with --agent.
Claude Code
The CLI removes any existing user-scope seofix server and runs:
claude mcp add --scope user --transport http seofix https://mcp.seofix.ai/mcp --header "Authorization: Bearer sk_..."
The server is added at user scope, so it is available in every project. If the claude CLI is not on your PATH, or the command fails, the CLI prints the command for you to run instead. The key in that printed command is hidden (sk_xxxx…) unless you pass --print.
Codex
The CLI writes or updates the [mcp_servers.seofix] table in ~/.codex/config.toml (or $CODEX_HOME/config.toml). Every other line of the file, comments included, is left as it was.
[mcp_servers.seofix]
url = "https://mcp.seofix.ai/mcp"
http_headers = { "Authorization" = "Bearer sk_..." }
Cursor
The CLI writes or merges mcpServers.seofix into .cursor/mcp.json in the current folder. Other servers in the file are kept.
{
"mcpServers": {
"seofix": {
"url": "https://mcp.seofix.ai/mcp",
"headers": {
"Authorization": "Bearer sk_..."
}
}
}
}
That file holds your API key, so the CLI protects it:
- Inside a git work tree, it adds
/.cursor/mcp.jsonand/.cursor/mcp.json.bakto.git/info/exclude, so git ignores them. - If
.cursor/mcp.jsonis already committed to git, the CLI refuses to write the key into it. Untrack it (git rm --cached .cursor/mcp.json) and run again, or pass--forceif you really want the key in a tracked file. - If
.cursorormcp.jsonis a symlink that leads outside the current folder, the CLI refuses to write. - If
.cursor/mcp.jsonis not valid JSON, the CLI stops and asks you to fix or remove it.
Files and backups
- Before changing a file, the CLI copies the previous version to
<file>.bak. - Files that hold the key (and their backups) are written with mode
0600. - A file whose content would not change is left alone.
Options
npx seofix connect [--agent claude|codex|cursor|all] [--api URL] [--print] [--no-browser] [--force]
npx seofix status
| Option | What it does |
|---|---|
--agent |
Which agents to configure: claude, codex, cursor or all. Default: the ones detected on this machine. |
--api |
API base URL. Default https://api.seofix.ai, or $SEOFIX_API_URL when set. |
--print |
Also print the new API key (and the full claude mcp add command). The key is never shown otherwise. |
--no-browser |
Do not open the browser; open the printed link yourself. |
--force |
Write .cursor/mcp.json even when git tracks it. Your key would then be in a committed file. |
--help, --version |
Usage and CLI version. |
npx seofix status lists which agents have SEOFix configured (Claude Code via claude mcp get seofix, Codex in config.toml, Cursor in ./.cursor/mcp.json then ~/.cursor/mcp.json). It never prints keys.
The key it creates
- The key is labelled with the machine and agents. Settings → Agent & MCP → Connected agents shows it as
seofix connect on <hostname> · <agents>, for example "seofix connect on macbook · claude, cursor". - It acts for the team you picked on the approval page, and only while you are still a member of that team.
- Connected agents lists it with its prefix, team, creation date and when it was last used. Click Revoke there to disable it immediately.
- It is separate from the key you create in Settings: rotating the Settings key does not affect it.
The key exists in plain text only in the one response the CLI receives. SEOFix stores only a hash. See API keys.
Running it again
Running npx seofix connect again is safe:
- Config entries are replaced, never duplicated.
- Connecting the same agents on the same machine to the same team replaces their previous key. The old key stops working.
- Connecting a different set of agents, or picking a different team, creates a separate key. The earlier key keeps working until you revoke it.
To rotate a CLI key, run npx seofix connect again with the same agents and team, or revoke it in Settings and connect again.
Windows
The CLI works on Windows. Two differences:
- It opens the browser with
rundll32. If that fails, open the printed link yourself. - If
claudeon yourPATHis a.cmdor.batshim, the CLI cannot run it (it never uses a shell). It prints theclaude mcp addcommand instead. Runnpx seofix connect --agent claude --printto see the command with the key, then run it yourself.
Troubleshooting
| Message | What to do |
|---|---|
No supported agent found |
Install the agent, or name it: --agent claude, codex, cursor or all. |
The code expired. |
Run npx seofix connect again. Approve within 10 minutes. |
The request was denied in the browser. |
Someone clicked Deny. Nothing was changed. Run the command again. |
Couldn't reach https://api.seofix.ai |
Check your network connection and try again. |
Unexpected response ... Is --api correct? |
Remove --api or SEOFIX_API_URL, or point it at the right API. |
.cursor/mcp.json is committed to git |
Untrack the file, or use --force knowingly. |
Starting the flow is limited to 10 requests per hour per IP address.
Related
More in AI agents & MCP
Still stuck? Email [email protected] with your site and what you expected to see.