run_page_fix

run_page_fix MCP tool: list everything to fix on one page so Google and AI engines can read it, from robots.txt and firewall access to structured data and internal links. Free on every crawled page, async.

Updated 2026-10-19

run_page_fix lists everything to fix on one page of the site so Google and the AI engines can read it. It does not rewrite the page. It checks what stands between the page and a citation, then returns a to-do list sorted by severity:

  • Indexing: HTTP status, noindex (including the X-Robots-Tag header), canonical, sitemap, hreflang.
  • AI robots access: robots.txt on the exact path for each answer bot, a live test as an AI search robot to catch a firewall that refuses it, and the content that disappears without JavaScript.
  • Structure and structured data: the JSON-LD type expected for this kind of page, its required fields and their consistency with what the visitor sees. Missing blocks come back ready to paste, including a BreadcrumbList built from the parent pages and a FAQPage built from the questions visible on the page.
  • Internal links: the pages that link to this one, and the related pages that should.
  • Duplicates and cannibalization: other pages of the site that target the same prompts.
  • Freshness: update date and stale content, on editorial pages only.
  • What an AI understands of the page: who, what, for whom, where. Plus the facts your project states that the page does not (service area, prices, audience, opening hours), and the topics engines search for on the related prompts that the page does not cover. Those topics come from fan-out queries Mentionable already collected: no extraction is run.

The tool returns a fixId right away. The work runs asynchronously, typically in under a minute: poll get_page_fix with the same pageUrl until status is COMPLETED.

Requires the member role minimum. The customer role is rejected. The MCP is available on the Pro and Agency plans.

When to use

Use it on a page the engines open without citing it, before rewriting anything: a page blocked by robots.txt or a firewall will never be cited, however good its text. get_recommendation returns these pages as steps of kind fix, with tool: "run_page_fix". Run it again after the next crawl, once the developer has shipped the changes, to check the list got shorter.

Credits and limits

A page fix costs no credits, on every plan and on every page of the latest site crawl. There is no monthly quota: run it on as many pages as you need.

One page gets one fix per site crawl. If a fix is already running on the page, or already done on the latest crawl, the tool returns that one instead of starting another. The next crawl reopens the page, and a new call then checks it again.

The page must be part of the latest site crawl. The URL is matched as crawled: http:// instead of https://, a missing or extra trailing slash and utm_ parameters are tolerated.

Input

Field Type Default Description
projectId string (CUID) required Project scope.
pageUrl string (URL) required URL of a page of the site, as crawled.

Response

{
  "success": true,
  "fixId": "cmg8k2x1p0004l70f9d3h2a1b",
  "pageUrl": "https://example.com/services/seo-audit",
  "message": "Fix queued, or already done on the latest crawl. Poll get_page_fix with this pageUrl until status is COMPLETED (typically under a minute)."
}

pageUrl is the URL as crawled, which can differ from the one you passed. Use it for the next calls. fixId is the new fix, or the one already running or done on the latest crawl: get_page_fix tells which by its status.

Errors

Business errors come back with success: false, a machine code in error and a message:

error Meaning
page_not_crawled The page is not in the latest site crawl. Check the URL, or wait for the next crawl.
{
  "success": false,
  "error": "page_not_crawled",
  "message": "This page is not in the latest site crawl."
}

Access errors are raised like on every other tool: Project not found when the project is not in your workspace or your membership, Project not in API key scope when the key is restricted to other projects, and a refusal for the customer role.

Tips and patterns

  • Start from the plan. Call get_recommendation on a prompt and run the fix on the url of its fix step. Those are the cheapest citations to win.
  • Poll, don't block. Call get_page_fix every 15 seconds. Most fixes finish in under a minute.
  • No need to ask first. The fix is free: run it on every page of the plan without waiting for the user's agreement.
  • Close the loop. Once the changes are live, log them with create_action_log so their effect shows on the dashboard chart, then run the fix again after the next crawl.

Related tools

You can see where you stand today.

Free trial. Start tracking your AI visibility, no credit card.