Let Cursor fix your SEOclickd checks every change on the live site.
clickd reads a site the way search engines and AI assistants do and hands Cursor the fixes worth the most. Cursor changes your code, and clickd reads the live site again to say what each change fixed. Fully automated, or with your approval by email before each change ships.
https://clickd.com/mcp62 toolsStreamable HTTPFree key with an email
~/code/your-siteSample- YouFind and fix the biggest SEO problems on yoursite.com with clickd
mttr_brief72 of 100. First: put the text in the HTML, 9 pages- CursorEdited 3 files and deployed
mttr_rescanRead again, 100 pagesmttr_changes72 to 84. 3 rules now pass, none newly fail
Connect Cursor in a minute
One key, one setting, then ask it something.
Free with an email. It reads any site’s public report; claim your own site to add its private parts.
Or connect without one, and your agent signs you up itself withmttr_signup.
Cursor reads the key from the shell it was opened from.
export CLICKD_KEY=mk_your_keyAdd this in the site’s repository, then turn clickd on under MCP in Cursor’s settings.
{
"mcpServers": {
"clickd": {
"url": "https://clickd.com/mcp",
"headers": { "Authorization": "Bearer ${env:CLICKD_KEY}" }
}
}
}In words. Cursor picks the call.
What should I fix first on example.com?
mttr_briefFix the top issue, then have clickd read the site again.
mttr_rescanNo key needed. Run this once from your site’s repository, then ask the same way.
npx skills add subinternal/clickdThe loop your agent runs
Five steps a fix, each checked on the live site.
- Brief
mttr_briefclickd says what to fix, in order, how, and on which pages.
- ChangeIn your repository
Cursor edits the site’s source, the way it does any task.
- DeployYour usual way
Cursor ships it, or proposes it first on a site set to approve.
- Rescan
mttr_rescanclickd reads the live site again;
mttr_jobsays when it is done. - Changes
mttr_changesclickd says which rules now pass, any that newly fail, and the score.
Then the next fix, until the list is empty.A site is read at most once every ten minutes.
app/services/[slug]/page.tsx- 'use client';- const body = useServiceText(slug);+ const body = await serviceText(slug); return <main> <h1>{body.title}</h1>+ <p>{body.lead}</p>
The services pages now send their words in the HTML. Two more files changed for the next two fixes.
mttr_changes answersSample- Score
- 84from 72
- Now passing
- 3rules
- Newly failing
- 0
- Put the text in the HTML9 of 9 pages
- Use one main heading4 of 4 pages
- Add a way to get in touch6 of 6 pages
Checked on the live site, page by page. What is left needs a person.
Approve each change first
Set a site to approve, and your agent asks you by email before it deploys.
mttr_approvals_set- Sets a claimed site to approve. Cursor proposes each change with
mttr_propose, you get an email with Approve and Decline, and it deploys only once you approve.
clickd can’t stop an agent that ignores you: approval is a promise the agent keeps. Approval by text message is not built yet.
Using another agent?
Each has its own setup. clickd is independent of every agent’s maker.
Cursor is its maker’s product. clickd is independent and not affiliated with it.