AgentXM

OnPage.dev

mcp remote · streamable-http · v2.9.0 · source: crawl

https://onpage.dev/mcp

https://github.com/seoonpage/seo-mcp-server

Free SEO MCP that closes the loop: find, fix, ship as a PR or to a CMS, prove. 37 tools, no key.

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 295 ms · p95 338 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'onpage-dev'
tools_listed15pass37 tools
schema_complete15pass37 of 37 tools have a description and a typed schema
latency_p5010passp50 295 ms
latency_p955passp95 338 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (37)

NameDescriptionSchema
site_memoryA memory per site that every OnPage.dev tool writes to, across chats and clients. Open it first when working on a site over time. Pick with mode: open = Open or create the memory, bind it to this chattyped
scan_pageScan a page for Google and AI search: 0-100 score, issues to fix first with why and how, AI readiness and key facts. Pick with mode: page = A live page by url (default). Needs url. html = Unpublished typed
site_auditAudit a whole site, step by step, and work with the result. Pick with mode: start = Start an audit of up to 25 pages; returns audit_id. Needs url. continue = Scan the next pages; call until complete. typed
watchMonitoring that runs on its own and posts changes to a webhook. Each kind takes action create (default), status or stop where it applies. Pick with mode: page = Watch one page (or a competitor page wityped
dashboardA daily SEO data feed for key pages and a live dashboard in the chat. Pick with mode: feed = Start a daily feed of key pages; returns feed_id. Needs url. data = The feed as clean tables over time. Neetyped
measureProve and measure with numbers from the user's Search Console, GA4, Ahrefs or Semrush, including numbers the user pastes. Use it instead of calculating by hand: it handles spelling variants, control gtyped
find_opportunitiesTurn Search Console, GA4 or Ahrefs rows (also rows the user pastes) into the fastest wins, instead of judging them by hand; content_decay and traffic_drop take search_type for Discover, News, Image ortyped
backlinksTurn backlink data from Ahrefs, Semrush or similar into links won back, won or cleaned up. Pick with mode: broken = Broken and lost backlinks and 404 visits into 301s and outreach. Needs rows[{target_typed
ai_visibilityWhether AI assistants can read, quote and recommend a site. Pick with mode: check = AI crawler access, llms.txt, 15 citability checks and the page as a model reads it. Needs url. bots = Fetch the pagetyped
answer_readinessWhether a page answers the questions people ask AI and Google. Pick with mode: questions = Sub-questions AI Mode fans out to, and which the page answers. Needs url, topic, questions. passages = The patyped
get_fix_packFixes ready to ship: as code, for a CMS through its MCP, as a pull request or at the edge. Pick with mode: fixes = Title, description, canonical, social tags, JSON-LD; platform html, wordpress, shopiftyped
edge_workerFixes applied at the edge on the user's own Cloudflare, on any CMS. Pick with mode: rules = One Worker that fixes a whole section by rules. Needs audit_id. prerender = Serve rendered HTML to AI crawletyped
fix_logRecord shipped fixes, keep them live and report on them. Pick with mode: log = Record a shipped fix; checked every 6 hours, restore code on regression. Needs fixes[{url, field, new, old, via, ref}]. rtyped
request_recrawlGet changed pages recrawled. Pick with mode: recrawl = Check pages are indexable, sitemap lastmod entries, IndexNow and Search Console steps (default). Needs urls. indexnow = Submit URLs to IndexNow, typed
check_linksStatus of URLs and links. Pick with mode: urls = Status, redirect chain and canonical of a list of URLs. Needs urls. outbound = Dead or moved links from a page to other sites, with archived copies. Netyped
explain_googleExplain what Google Search Console and Bing Webmaster Tools report, and what to do. Pick with mode: index_status = Index coverage and rich result statuses, with the fix. Needs rows[{url, coverageStatetyped
check_keywordHow pages target a keyword. Pick with mode: focus = One page against one keyword: 8 checks. Needs url, keyword. cannibalization = Your pages competing for one keyword, side by side on every signal, wityped
accessibilityAccessibility for people and the European Accessibility Act. Pick with mode: wcag = WCAG 2.1 AA checks. Needs url. screen_reader = The page as a screen reader reads it. Needs url.typed
localLocal search: the site, the Business Profile and the map. Pick with mode: check = LocalBusiness markup, NAP, locations and the Business Profile (default). Needs url. reviews = Reply drafts for Google typed
trackingWhether analytics and consent are set up right, and whether the numbers add up. Pick with mode: ga4 = GA4 tags, events and duplicates. Needs url. consent = Cookie banner and Consent Mode v2. Needs urltyped
web_vitalsCore Web Vitals from real Chrome users. Pick with mode: now = The latest field data for a page or site. Needs url. trend = Weekly history, before and after a change date. Needs url.typed
shareSend results where the team works. Pick with mode: link = A link to the visual report. Needs url. export = A Google Sheet, CSV, Slack message or one task per issue.typed
planPlans for migrations, experiments and the team. Pick with mode: redirects = Redirect map for a migration or URL change. split_test = SEO split test on a page template, with the Worker. Needs urls, fietyped
contentWhat to write and how, in the site's own voice, from the pages that rank and the user's search data. Pick with mode: brief = A content brief from the pages that rank. Needs keyword, competitors. topictyped
technicalTechnical checks across pages and logs. Pick with mode: hreflang = Hreflang across language versions, with the corrected tag set. Needs url. parameters = URL parameters and filters that waste crawl butyped
llms_txtThe llms.txt file for AI assistants. Pick with mode: generate = Write one from the sitemap and home page. Needs url. validate = Check an existing one and its links. Needs url.typed
schemaJSON-LD structured data for rich results. Pick with mode: generate = Write JSON-LD for a page: type Article, Product, FAQPage, Organization, BreadcrumbList, VideoObject, Event, Recipe, JobPosting, Softyped
robots_txtrobots.txt for search and AI crawlers. Pick with mode: test = Which crawlers may fetch a URL, and the rule that decides. Needs url. ai_policy = Rules per AI crawler: allow AI search, block training. Ntyped
sitemapThe XML sitemap. Pick with mode: check = Check the sitemap and a sample of its URLs. Needs url. generate = Write a sitemap from a page list or audit. Needs audit_id.typed
layoutWhat visitors and crawlers see on every screen size. Pick with mode: render = First screen on phone, tablet and desktop in a real browser, and what crawlers without JavaScript get (default). Needs urltyped
internal_linksInternal links and link equity. Pick with mode: suggest = Links to add, with anchors, applied by Worker or CMS. Needs audit_id. equity = Internal PageRank and click depth from a site audit. Needs audityped
compareCompare pages side by side. Pick with mode: pages = Your page against up to 3 competitors. Needs url, competitors. html = Two versions of HTML before and after. Needs before, after. preview = Deploy ptyped
snippetHow a page looks in Google and when shared, measured in pixels the way Google truncates. Use it instead of estimating title or description length. Pick with mode: search = Title and description as Gootyped
entityHow Google understands who is behind a site. Pick with mode: graph = Organization, sameAs, logo and founder in structured data. Needs url. trust = Author, about, contact and policy signals. Needs url.typed
text_qualityReadability and correct language. Pick with mode: readability = Readability that fits the page and the pages that rank. Needs url. spelling = Spelling and grammar errors in about 30 languages. Needs utyped
track_rankingsUse for ongoing rank tracking without picking keywords by hand. Each run, fetch Search Console rows by query and page (last 7 or 28 days) and, if connected, the rows of Ahrefs Rank Tracker (rank-tracktyped
prioritize_fixesUse when Search Console, GA4, Ahrefs or Semrush data is available, also to explain a traffic drop (pass clicks_previous): ranks the fixes by the traffic or revenue they can win. Rank SEO fixes by how typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/dev-onpage-onpage.svg)](https://app.agent-xm.com/a/dev-onpage-onpage)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.