Tools Reference

generate_report

Generate a shareable HTML SEO report for a project from its latest crawl and Search Console data, and get a public link to share with clients or…

Cost: 15 credits.

generate_report rolls up a project's latest crawl_site and pull_gsc_data results into a single, self-contained HTML report and returns a public link you can share with clients or teammates. Run crawl_site and/or pull_gsc_data first.

What it does

It reads the most recent successful crawl and Search Console pull for the project (whichever exist) and re-runs the analysis engines over them — the same engines the audit and discovery tools use, over the same stored data, so no new crawl, no new pull, and no extra charge:

  • Site crawl — pages crawled and skipped, dated, with a warning when the crawl is old.
  • On-page issues — the full finding breakdown from audit_onpage, plus duplicate-content groups.
  • Technical health — the HTTP status split and the pages behind it, plus broken internal links, redirect chains, X-Robots-Tag conflicts, deep and orphaned pages, skipped-page categories, and the sitemap-vs-crawl comparison.
  • Page speed — slow and heavy pages, from how long our crawler's fetch of each page took and how large the HTML it returned was. These are not lab Core Web Vitals and not field data from real visitors — no browser renders the page, so nothing here measures LCP, INP or CLS. Use audit_speed for Core Web Vitals. A crawl stored before SeoGrep recorded these signals says so, instead of reporting an unmeasured site as a fast one.
  • Structured data — coverage and declared types, plus missing required fields, unparseable JSON-LD, and partly-stored blocks.
  • Search performance — the current window's total clicks and impressions, plus your top queries and top pages.
  • Opportunities — quick wins, cannibalized queries (branded queries excluded and counted), and decaying pages.

Sections appear only when there is something to report. A signal your stored crawl is too old to carry is left out rather than reported as zero, so silence never reads as a clean bill of health.

It is still a summary: the lists are capped and always say how many rows they left out, and each section points you at the deep tool — audit_onpage, audit_tech, audit_schema, audit_content, find_quick_wins, detect_cannibalization, analyze_content_decay — for the full per-page breakdown. Every report carries a small "powered by SeoGrep" footer.

If the project has neither a crawl nor a Search Console pull yet, the tool tells you to run crawl_site or pull_gsc_data first — and you are not charged.

Example

Ask your MCP client in plain language:

Generate a shareable SEO report for my example.com project.

Input

FieldTypeRequiredDescription
project_idstring (uuid)YesThe project to report on (from setup_project / list_projects).
titlestringNoOptional report title. Defaults to 'SEO Report — <domain> — <date>'.

Returns

The report's title, its report_id, and a public URL (/r/<slug>) that anyone with the link can open — no sign-in required. The link uses an unguessable 64-bit slug, and you can see all your reports on the Reports page of your dashboard, where you can also revoke a link. Revoking stops future access; it does not delete the report, and it cannot un-share what someone has already read. The report itself repeats this notice, so whoever you send it to sees it too.