Claude Code
One command connects your Search Console to the terminal, so Claude Code fixes SEO in the code.

Each local area page used to take us half a day to create and optimize.
With SEOmatic, we can create hundreds of pages in the same time, which helps our clients make the best use of their budget.
It's transformed how we deliver scalable SEO solutions.
Will Hawkins
Marketing Director, Digi-Business UK
Agents read your Search Console data, do the work, and prove what actually moved. You decide what ships.
14-Day Free Trial. $1 today, credited to your first payment.
OpenCode lets you pick the model: Claude, GPT, Gemini, DeepSeek, Kimi or a local one. Add SEOmatic to opencode.json and whichever model you run can see which pages lose clicks on Google, which ones Google skipped, and where AI answers leave you out. It fixes the cause in your code, or on paid plans stages the fix in your CMS for your approval.

SEOmatic is a hosted MCP server that OpenCode adds as a remote server in opencode.json. OpenCode signs in with OAuth on its own, or sends an API key header, and then calls SEOmatic's SEO tools on one workspace with whatever model you run.
October 2026
OpenCode installed and set up with a model provider, and a free SEOmatic account. For CI or a machine with no browser, create an API key in Settings, AI Agents, API Keys.
Free to connect, with 5 questions a month from your own data (plus 10 once you connect Search Console). Paid plans add agents that stage fixes for your approval. See pricing.
Endpoint, auth, every tool and what it costs: SEOmatic MCP server docs.
OpenCode compares two date ranges in Search Console, then checks the git log for the change that lines up with the drop.
It reads the searches each page appears for and rewrites the title and description in your code to match them.
For pages Google skipped, OpenCode finds the noindex, canonical or redirect in your repo that explains it.
An audit of up to 30 pages for missing titles, broken links, duplicate descriptions and slow pages, before you ship.
Which questions ChatGPT, Claude and Google AI Overviews answer without naming you, and which pages they cite instead.
For WordPress, Shopify, Webflow and other CMS sites, OpenCode stages fixes in SEOmatic on paid plans for your approval.
OpenCode already reads your repo and runs your git history. Give it your search data too, and it can tie a drop in clicks to the commit that caused it.
An example on the Acme Plumbing demo site. You ask OpenCode:
“Clicks dropped last month. Which pages lost them, and is it something we shipped?”
OpenCode calls SEOmatic:
seomatic gsc_performance: Aug 15 to Sep 11 vs Sep 12 to Oct 9 (28 days each)git log --since=2026-09-01 -- src/pagesOpenCode answers:
Clicks fell from 1,480 to 1,090 (Aug 15 to Sep 11 vs Sep 12 to Oct 9, 28 days each). Two pages explain most of it:
I can restore the price table to the page body and put “repair” back in the title. You review the diff; nothing changes live until you deploy.
Also try:
In most tools, the SEO connection and the model come as a pair. OpenCode splits them. You add SEOmatic once, in opencode.json, and every model you run there gets the same tools:
The numbers do not change with the model, because they come from your Search Console through SEOmatic, not from the model's memory.
Run these in OpenCode from the root of your site's repo:
Run opencode mcp list to see the connection, and the SEO MCP server reference for every tool.
About a minute, with OpenCode installed and a model set up.
// opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"seomatic": {
"type": "remote",
"url": "https://app.seomatic.ai/api/mcp"
}
}
}
// sign in (OpenCode also starts this on its own)
opencode mcp auth seomatic
opencode mcp list
// CI or no browser: add an API key header instead
"seomatic": {
"type": "remote",
"url": "https://app.seomatic.ai/api/mcp",
"headers": {
"Authorization": "Bearer {env:SEOMATIC_API_KEY}"
}
}If seomatic shows as connected but not signed in, run opencode mcp auth seomatic again. opencode mcp debug seomatic shows what went wrong, and opencode mcp logout seomatic clears the stored sign-in if you want to switch workspaces.
| Route | Best for | How |
|---|---|---|
| opencode.json with OAuth | Most people working on their own machine | Add the block above. OpenCode opens the sign-in when needed, or run opencode mcp auth seomatic. |
| opencode.json with an API key | CI, servers with no browser, or shared runners | Add "headers": { "Authorization": "Bearer {env:SEOMATIC_API_KEY}" } to the seomatic entry and set the variable. |
| Skills only | Running SEO checks through the SEOmatic CLI | npx skills add Minh42/seomatic-mcp -a opencode, with SEOMATIC_API_KEY set. |
Pick opencode.json with OAuth. It is four lines, no key to copy, and OpenCode stores the sign-in for next time. Switch to the key only where no browser can open.
OpenCode is the open-source terminal coding agent from Anomaly (the team formerly known as sst), at opencode.ai. It is one of the most-starred coding agents on GitHub. SEOmatic connects to OpenCode, not to the model.
This page covers OpenCode in the terminal.
Connecting is free, and so is the SEOmatic account behind it: no card. A free account answers 5 questions a month from your own data, plus 10 bonus questions once you connect Google Search Console. Each tool call counts as one question, so a big request can use a few.
Free covers the diagnosis: Search Console reports and insights, site audits of up to 30 pages, live page analysis, and your AI visibility results. Live market data, like keyword volumes, backlink profiles and competitor domains, is part of paid plans, with one free keyword preview per workspace.
Paid plans remove the question limit and add the treatment: agents stage fixes on your site (titles, descriptions, content updates, technical fixes, internal links) and run campaigns and fresh AI visibility scans. Every paid plan starts with a 14-day free trial. See pricing.
Your model provider bills OpenCode's own work, like reading files and writing code, separately. SEOmatic questions count only the SEOmatic tool calls.
OpenCode works in two places, and both keep you in charge. In your repo, it edits files and you review the diff before anything ships. In your CMS, it can only stage a fix in SEOmatic. A staged change is a proposal: it says what will change and why, and 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.
Using another terminal agent? See Claude Code SEO, Codex, goose and Kilo Code. Running an open model? See DeepSeek and Kimi K3. Learn what powers the answers: page indexing checks, technical SEO fixes and meta tags. All agents: AI SEO agents in every assistant. Full reference: SEO MCP server docs.
Using another agent? See Claude Code, Codex, Kilo Code, or every AI agent.
How do I connect SEOmatic to OpenCode?
Add a remote server to opencode.json: under mcp, an entry named seomatic with "type": "remote" and "url": "https://app.seomatic.ai/api/mcp". Start OpenCode, and it opens the SEOmatic sign-in in your browser the first time. You can also run opencode mcp auth seomatic.
Do I need an API key?
Not on your own machine. OpenCode signs in with OAuth on its own. For CI or a server with no browser, create an API key in SEOmatic, set it as SEOMATIC_API_KEY, and add an Authorization header that reads Bearer {env:SEOMATIC_API_KEY} to the seomatic entry.
Does it matter which model I use?
Not for the data. Every model in OpenCode gets the same SEOmatic tools, and the numbers come from your Search Console, not from the model. Stronger models tend to plan and explain better, so use one for bigger questions.
Can I keep SEOmatic in just one project?
Yes. Put the seomatic entry in the opencode.json inside that repo. Put it in your global OpenCode config instead to have it everywhere.
Can OpenCode fix SEO problems in my code?
Yes. It reads your Search Console data through SEOmatic, finds the cause in your repo, such as a noindex tag, a weak title template or a recent commit, and edits the files. You review the diff and deploy when you are ready.
Are the numbers real?
Yes. They come from your own Google Search Console through SEOmatic, with exact date ranges such as Sep 12 to Oct 9, 28 days. SEOmatic tells the model to state only numbers that came from a tool result.
Is SEOmatic for OpenCode free?
Yes. Connecting and the SEOmatic account are free, with no card. A free account answers 5 questions a month from your own data, plus 10 bonus questions once you connect Search Console. Paid plans remove the limit and add agents that stage fixes, with a 14-day free trial.
Can it change my site without asking?
No. By default every change SEOmatic proposes waits for your approval before it touches your site, and your assistant is told never to approve on its own. Approved changes are stored with the page's previous state, so any edit to an existing page can be rolled back. If you later want low-risk fixes to go ahead on their own, you can turn that on in your autonomy settings; changes to your URLs or indexing, and new content, still wait for you.
OpenCode says seomatic needs authentication. What now?
Run opencode mcp auth seomatic and finish the sign-in in the browser. If that does not help, opencode mcp debug seomatic shows the error. On a machine with no browser, use the API key header instead.
Do I need a Google Cloud project?
No. You connect Search Console to SEOmatic once with a normal Google sign-in, and OpenCode reaches it through SEOmatic. There is no service account or API key to set up on the Google side.
Same server, same tools, same approval rules. Pick the agent that fits the job.
One command connects your Search Console to the terminal, so Claude Code fixes SEO in the code.
Two commands give Codex your Search Console data, so it fixes SEO where the bug lives: in your code.
Two commands give Grok Build your real Search Console data, so it can find what costs you clicks and fix it in the code.
Kimi K3 in Kimi Code CLI, reading your real Search Console and fixing what it finds in your repo.
DeepSeek, working from your real Search Console data through the SEOmatic plugin for DeepSeek Harness.
One mcp.json entry, and Cursor's agent works from your real Search Console data while it edits your code.