Use SEOmatic in Cursor
Updated
Before you start
Cursor and a free SEOmatic account, which you can create during sign-in. Use OAuth, not an API key: because SEOmatic advertises OAuth, Cursor starts the sign-in before it sends any configured Authorization header.
Connect Cursor#
- Add the mcp.json entry. Add a seomatic server with only the URL https://app.seomatic.ai/api/mcp to ~/.cursor/mcp.json or .cursor/mcp.json, as in the snippet below, or open Customize in the sidebar and add it under MCPs. If you edited the file and seomatic does not appear, save it and restart Cursor.
- Approve the browser sign-in. Cursor starts the OAuth flow in your browser. Sign in or create a free SEOmatic account, approve access and pick your site. If the prompt does not open, go to Customize > MCPs, find seomatic and start the sign-in from its entry. In the Cursor CLI, run agent mcp login seomatic, then agent mcp list-tools seomatic to see the tools.
- Connect Search Console. If your workspace has no Search Console yet, SEOmatic hands you a one-click connect link. There is no Google Cloud project to set up.
- Ask the agent. Try “Audit our live site with SEOmatic and list the issues our code causes.” Cursor asks before each SEOmatic tool by default. To skip that, allow the tools in Cursor Settings > Agents > Approvals & Execution, or add "seomatic:*" to mcpAllowlist in ~/.cursor/permissions.json.
Cursor setup
// ~/.cursor/mcp.json (or .cursor/mcp.json in one repo),
// or Customize > MCPs in the sidebar
{
"mcpServers": {
"seomatic": { "url": "https://app.seomatic.ai/api/mcp" }
}
}
# one click: cursor://anysphere.cursor-deeplink/mcp/install?name=seomatic&config=eyJ1cmwiOiJodHRwczovL2FwcC5zZW9tYXRpYy5haS9hcGkvbWNwIn0=
# Cursor CLI: agent mcp login seomatic
# agent mcp list-tools seomaticNote
Do not paste an API key into Cursor's config: because SEOmatic advertises OAuth, Cursor starts the sign-in before it sends any configured Authorization header, so a key there is not used. Approve the browser prompt instead. If seomatic is connected but the agent never calls it, turn seomatic off and on in Customize > MCPs and start a new Agent chat. Errors show in the Output panel under MCP Logs. Cloud Agents do not read your mcp.json: add SEOmatic from the MCP menu at cursor.com/agents, or a team admin adds it under Dashboard > Plugins & MCPs.
mcp.json, One-Click Link or Skills Only?
| Route | Best for | How |
|---|---|---|
| mcp.json | Everyone, today. One global config, or committed to the repo for the team | Add "seomatic": { "url": "https://app.seomatic.ai/api/mcp" } under mcpServers in ~/.cursor/mcp.json or .cursor/mcp.json, then approve the sign-in Cursor opens. In the Cursor CLI, agent mcp login seomatic runs the same sign-in. |
| One-click install link | No file editing. Cursor asks you to confirm the server | Open cursor://anysphere.cursor-deeplink/mcp/install?name=seomatic&config=eyJ1cmwiOiJodHRwczovL2FwcC5zZW9tYXRpYy5haS9hcGkvbWNwIn0= in your browser. Cursor prompts you to install the server, then opens the sign-in. |
| Skills only | Repos where other agents read the same skills folder, or terminal-driven work | npx skills add Minh42/seomatic-mcp --full-depth -a cursor. Installs SEOmatic's 21 SEO skills: the CLI skill signs in once with npx -y seomatic login, the other 20 use the MCP server above. All of them: SEO skills. |
Start with mcp.json. It works in every Cursor today and takes one entry. Want the 21 SEO skills too (an SEO audit, striking distance keywords, traffic drops, AI visibility, client reports and more)? Add them with npx skills add Minh42/seomatic-mcp --full-depth -a cursor; Cursor loads skills from .agents/skills and ~/.cursor/skills on its own. Cloud Agents do not read your mcp.json: add SEOmatic from the MCP menu at cursor.com/agents, or a team admin adds it under Dashboard > Plugins & MCPs.
Try Asking#
- “Audit our live site with SEOmatic and fix the issues that come from our code.”
- “Which of our pages get impressions but few clicks? Update their titles in the codebase.”
- “Find every page with a canonical pointing somewhere else and explain why.”
- “What queries do we get impressions for without a matching page?”
- “Compare the SEO of our preview deploy with production.”
- “Run the striking-distance skill and tell me which three pages to work on this sprint.”
What It Costs#
Connecting is free. Reading your own data never uses credits: Search Console performance and insights, index status, rankings, site audits, AI citations, traffic and your tasks. Only live market lookups (keyword metrics, search results, backlinks), AI visibility scans and the fixes you approve use AI credits; every tool is labelled free or billed. On the Free plan, market lookups count against 5 free questions a month. The workspace Owner sees every credit spent, by feature, in Settings > Usage. Cursor itself is billed by its maker, not by SEOmatic: nothing on our side counts tokens.
Nothing Changes on Your Site Without Your Approval#
Code changes in Cursor go through your normal review. Changes to a live site through a CMS connected to SEOmatic are staged, never pushed. A staged change is a proposal: it says what will change and why, and in Approval mode nothing touches your site until you approve it. The assistant records your decision, and it is told never to approve anything on its own judgment. Approved fixes start within seconds, the page's previous state is stored, and any applied change can be rolled back. Changes that could take a page out of Google, like a noindex, need an extra explicit confirmation.
- Cursor says SEOmatic is connected but answers without my data.
- Start a new chat and check that SEOmatic is enabled for that conversation in the tools menu. This is the step most people miss.
- The SEOmatic page says "This connection request expired".
- Start the connection again from Cursor, or paste the setup prompt again.
- The Authorize page shows the wrong email or no workspace.
- Click Switch account on that page and sign in with the SEOmatic account that owns the site.
- Why does Cursor say it cannot change my site?
- Fixes need a live paid plan or trial. On the Free plan, or when billing is paused or failed, your assistant can read and answer only.
- How do I disconnect?
- Open Settings > AI Agents, scroll to API Keys and delete the row named OAuth: Cursor. See disconnect an assistant.
Was This Article Helpful?
Still need help?Email contact@seomatic.ai with your site address and a screenshot. A person replies, usually within one business day.


