OnPage.dev

dev.onpagev1.3.0Updated Oct 6, 2026

Free hosted SEO and AI-visibility scanner for agents: scan, fix, verify, redirects, robots.txt.

VerifiedStreamable HTTPWeb executableDeveloper ToolsWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

A free hosted SEO and AI-visibility scanner that lets an assistant audit pages, generate fixes, and verify changes before and after deploy.

What it does
Provides about 20 tools in five groups: page and site audits with scores and stable issue codes, fix packs and JSON-LD generation, AI-search checks such as crawler access and llms.txt, launch and migration checks for redirects and robots.txt, and HTML scanning for unpublished builds. Results link to a visual report, and a rules resource explains every check and threshold.
When to use it
Useful when an assistant should act on SEO rather than just report it: fixing meta tags and structured data, checking built HTML before a release, verifying a fix after deploy, auditing up to 25 pages, comparing a page with competitors, or checking whether AI crawlers can read and quote a site.
Requirements
Remote streamable HTTP endpoint at the given server URL; no install, account, API key, or environment variable. A live URL is needed for link, image, and crawler checks; scan_html works on HTML you supply. Network access to the hosted service.
Before you install
Read-only: tools only read public pages or HTML you send, and private or local addresses are refused. HTML sent for scanning is analysed in memory; for change tracking only score and issue names are kept under a hashed key for up to 30 days. Scanned page text is returned as data and marked as such. Fair-use limits apply, around 20 scans per minute.

Installation

In SourceWeft

  1. Open OnPage.dev in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "onpage": {
      "type": "http",
      "url": "https://onpage.dev/mcp"
    }
  }
}

README

[OnPage.dev: free SEO and AI-visibility checks for AI assistants]

OnPage.dev MCP server

The SEO scanner your AI assistant uses to fix your site itself.
Scan, fix, check before deploy, confirm after. For Google and for AI search.

[Hosted MCP server] [Free, no API key] [20 tools] [Tests] [MIT license]

Install · Built for agents · Tools · Why it is different · Claude Code plugin · GitHub Action · onpage.dev


Most SEO tools give you a report. OnPage.dev gives your assistant something to do: write the fix, check it before you publish, and confirm it worked. It also checks what AI search sees, not only Google: which AI crawlers may read your site, whether your content is ready to be quoted, and whether you have an llms.txt.

You:        Fix the SEO on our pricing page and keep going until it scores 90 or more.
Assistant:  scan_page            46/100  no meta description, no H1, title 14 characters            get_fix_pack         title, description and canonical, written from the page            generate_schema      Product JSON-LD, 2 values to fill in            (edits pricing.html)            scan_html            92/100  before deploying, all errors gone            rescan_and_compare   94/100  live, +48 since the first scan
            Done. 46 to 94. Two prices in the JSON-LD still need your real values.

Built for agents

What makes OnPage.dev different from every other SEO MCP server:

  • Stable issue codes and typed results. Every issue has a fixed code like meta-missing or h1-missing, and the main tools declare an output schema. An agent can work through issues one by one and prove each one is gone.
  • It checks the code the agent writes. scan_html, validate_schema and compare_html test new HTML and JSON-LD before it ships, and catch regressions such as a stray noindex or a removed canonical.
  • Launch and migration built in. check_urls follows every redirect chain for up to 20 URLs at once; test_robots answers "may this bot fetch this URL" with Google's own matching rules, including * and $ wildcards.
  • Whole sites, step by step. start_site_audit runs as a job the agent works through, so a 25-page audit fits a free hosted service. It reports issues across the site by code, broken and orphan pages and duplicates.
  • You vs the pages that rank. compare_pages puts a page next to up to 3 competitors with content gaps and fixes to catch up; suggest_internal_links shows which pages should link where.
  • No made-up advice. The onpage://rules resource gives the assistant every check, threshold and fix, so it explains SEO from the same rules the scanner uses.
  • Free and hosted. Paste one URL. No account, no API key, no install.

Install in one minute

The server is hosted. There is nothing to install or run, and no key.

Server URL: https://onpage.dev/mcp

Claude Code
bash
claude mcp add --transport http onpage https://onpage.dev/mcp

Or install the plugin for the server plus ready commands and skills.

Claude (claude.ai and desktop)

Settings → Connectors → Add custom connector → paste https://onpage.dev/mcp → save. Turn the connector on in a chat.

ChatGPT

Add a custom connector with https://onpage.dev/mcp (Settings → Connectors, with developer mode on). Which plans can use custom connectors is up to OpenAI.

Cursor

~/.cursor/mcp.json or .cursor/mcp.json in your project:

json
{  "mcpServers": {    "onpage": { "url": "https://onpage.dev/mcp" }  }}
VS Code

.vscode/mcp.json:

json
{  "servers": {    "onpage": { "type": "http", "url": "https://onpage.dev/mcp" }  }}
Any other MCP client

Streamable HTTP transport at https://onpage.dev/mcp. JSON responses, no authentication.

What it can do

20 tools in five jobs. Every result links to the full visual report on onpage.dev. Issues carry stable codes; the full list is in the onpage://rules resource.

Audit and fix

ToolWhat it doesExample result
scan_pageScore from 0 to 100, the issues to fix first with why and how, AI readiness and key facts46/100, 5 fixes
deep_auditEverything measured, by section: speed hints, links and anchor texts, accessibility, image SEO, rich results, security headers, content and technical facts8 sections
get_fix_packReady-to-paste HTML for every issue, written from the page's own content<title>, <meta>, canonical, social tags
generate_schemaArticle, Product, FAQ, Organization or breadcrumb JSON-LD, validated against Google's rich result rules. Values it cannot read are marked TODO, never inventedProduct: eligible
rescan_and_compareScan again after a fix: score change, what got fixed, what is new46 → 94

Whole site and competitors

ToolWhat it doesExample result
start_site_auditAudit up to 25 pages from the sitemap as a job. Returns an audit_id and the first progress3 of 25 scanned
get_site_auditContinue until complete, then read the site-wide results: issues by code with affected pages, broken, orphan and duplicate pages25 pages, average 92
suggest_internal_linksWhich audited pages should link to a page, with anchor text. Works for a new page by topic3 links to add
compare_pagesA page next to up to 3 competitors: side by side, content gaps, structured data they have and fixes to catch up. Flags cookie wallsYou lead on 12 of 14

AI search

ToolWhat it doesExample result
check_ai_visibilityWhich AI crawlers may read the page (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and more), llms.txt, 11 checks for AI answers, and the page as a model reads it7 of 8 crawlers allowed
find_answer_passagesDoes the page answer a question well enough for AI to quote it? Returns the best passages with length and fitBest passage, 64 words
ai_crawler_policyrobots.txt rules for 13 AI crawlers from a policy (allow all, AI search only, block all), merged into your existing file13 bots, merged
generate_llms_txtA ready llms.txt built from the sitemap and home pagellms.txt, 42 pages

Launch and migration

ToolWhat it doesExample result
check_urlsStatus codes and full redirect chains for up to 20 URLs, checked against where each should land. Flags chains and temporary redirects19 of 20 OK
test_robotsMay Googlebot, GPTBot, ClaudeBot or any crawler fetch this URL? Uses Google's matching rules and returns the exact deciding rule. Can test a proposed robots.txt tooBlocked by "Disallow: /search?"

Writing and code

ToolWhat it doesExample result
scan_htmlScan HTML that is not live yet: a local build, a template or a draft. Same score and fixes as scan_page92/100 before deploy
compare_htmlSEO diff between two versions of a page: score, issues fixed and introduced (by code), and changes to title, description, H1, canonical, robots and structured data72 → 18, noindex added
validate_schemaCheck JSON-LD you wrote: syntax, @context and @type, ISO dates, absolute URLs, placeholders and Google's required fields2 errors, 3 warnings
check_focus_keywordEight checks for one search term: title, description, H1, URL, opening text, subheadings, alt texts and keyword use6 of 8
check_snippetPixel-width estimate of title and description against Google's cut-off, desktop and mobile612 px, cut off

Ready workflows (MCP prompts)

One click in clients that show prompts:

  • Full SEO and AI audit: scan, AI check and fix pack, then a prioritised plan.
  • Why can't AI find my site?: which assistants can read and quote you, and what to change.
  • Launch checklist: a tick or cross for everything a page needs before going live.
  • AI visibility makeover: robots.txt, llms.txt and answer passages in one go.
  • Pre-deploy SEO gate: scan the built HTML and block the release below a minimum score.

Reference resource

onpage://rules: every check with its stable code, why it matters and how to fix it, plus the key thresholds (title and description length in pixels, word counts, alt text, server response, AI answer length).

Score card in the chat

In clients that support MCP Apps (Claude) or the Apps SDK (ChatGPT), scan results also show as a visual card:

[OnPage.dev score card in the chat: score 46, AI readiness 27, and the fixes to make first]

Why it is different

OnPage.devData vendor MCPs (Ahrefs, Semrush and similar)Self-hosted audit servers
PriceFreePaid plan or API creditsFree
SetupPaste one URLAccount and keyInstall and run yourself, often extra API keys
Built forActing on results: fix, check before deploy, confirmResearch data: keywords, backlinks, rankingsAudits and reports
Scan unpublished HTMLYes, scan_html and compare_htmlNoRarely
Agent-grade outputStable issue codes, output schemas, rules resourceData rowsVaries
Migration checksRedirect chains, robots.txt testerPartlyPartly
Whole-site auditUp to 25 pages, free, as a jobYes, paidYes, self-run
Competitor gapsPage vs page, with content gapsKeyword and backlink gapsRarely
AI search toolsCrawler access, AI-answer checks, robots.txt policy, llms.txtAI visibility tracking on someRarely
Ready codeFix pack, JSON-LD, robots.txt, llms.txtNoVaries

What OnPage.dev does not do: search volumes, rankings or backlinks. For those, the data vendors are still the place to go, and they work well alongside OnPage.dev.

Example prompts

Why does ChatGPT never mention example.com? Check it with OnPage.dev.Scan our pricing page and give me the five fixes with the code.Let ChatGPT search read our site but block AI training. Write the robots.txt.We moved to a new URL structure. Check that these 20 old URLs redirect to the right new pages.Review this pull request for SEO regressions: compare the old and new HTML of the changed pages.Audit our whole site and tell me the three fixes that help the most pages at once.We are writing a page about trail running shoes. Which of our pages should link to it?How does our pricing page compare with these two competitors, and what are we missing?Does our blog post answer "how long does shipping to Germany take" well enough for AI to quote?Write three title options for this page and check which ones fit in Google.Fix the SEO issues in this project, check the build with OnPage.dev and keep going until it scores 95.

Claude Code plugin

The server plus commands and skills that run the fix loop for you.

/plugin marketplace add seoonpage/onpage-tools/plugin install onpage@onpage-dev
  • /seo-check [url or path]: scan a live page, or find this project's built HTML and scan that, then fix what is wrong.
  • /ai-visibility: check whether ChatGPT, Claude, Perplexity and Gemini can read and quote the site, and write robots.txt and llms.txt.
  • seo-fix-loop skill: fixes in your source (templates, Next.js metadata, Astro frontmatter), checks with scan_html before deploy and confirms with rescan_and_compare after.

About 300 tokens of always-on context.

GitHub Action: SEO gate

Scans the HTML your build produces on every pull request, comments the scores and top fixes, and fails when a page drops below your minimum.

yaml
name: SEO gateon: pull_requestpermissions:  contents: read  pull-requests: writejobs:  seo:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v5      - run: npm ci && npm run build      - uses: seoonpage/onpage-tools@v1        with:          paths: "dist/**/*.html"          # built HTML to check          base-url: "https://example.com"   # optional, for canonical and relative links          min-score: "80"                   # fail below this          max-files: "10"                   # about 20 scans per minute

The pull request gets a comment like this, updated on every push:

❌ OnPage.dev SEO gate: lowest score 36 (minimum 80)

PageScoreAI readinessFix first
dist/about/index.html360There is no meta description; There is no H1; The title is 5 characters
dist/index.html9022Thin content: 32 words; No structured data; Open Graph is incomplete

Security and privacy

  • Read-only. Every tool only reads public pages or the HTML you send. Nothing is changed anywhere.
  • Public pages only. Private, internal and local network addresses are refused (SSRF protection), and so are non-web schemes.
  • No storage of content. HTML sent to scan_html is analysed in memory and dropped. For change tracking, only the score and issue names are kept, under a hashed key, for up to 30 days.
  • Prompt injection aware. Text from scanned pages is returned as data and marked as such.
  • Fair use limits. About 20 scans per minute per connection, plus a shared cap. No accounts, no keys, no tracking cookies.

Full details: onpage.dev/privacy and onpage.dev/terms.

Limits

  • Reads the HTML a server returns. JavaScript is not run, so content that only appears in the browser is not seen.
  • Link checks, image sizes and AI crawler access need a live URL, so scan_html skips them.
  • Pixel widths in check_snippet are an estimate; Google can also rewrite snippets.

Links

License

MIT

Source: README.md at commit 4c663ea

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.3.0LatestOct 6, 2026