{"serverId":"mcp-registry/io.github.retampweb/pa1m-seo","tools":[{"name":"analyze_endpoint","fixed":{"name":"analyze_endpoint","description":"Free-Form AI Analysis — $0.75\n\nAsk any SEO question about a website in plain text. The AI agent reads cached audit data for the URL, selects the relevant audit categories, and returns a structured answer with evidence from the audit results. Examples: 'Why is my Core Web Vitals score low?', 'What is blocking my site from ranking?', 'Compare my mobile vs desktop performance', 'What structured data should I add?'. Requires: url + task (your question). Optional: language, deep=true for deeper analy","inputSchema":{"type":"object","title":"analyze_endpointArguments","required":["url","task"],"properties":{"url":{"type":"string","title":"url"},"deep":{"type":"boolean","title":"deep","default":false},"task":{"type":"string","title":"task"},"language":{"type":"string","title":"language","default":"en"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":237,"tokensAfter":237},{"name":"backlinks_check","fixed":{"name":"backlinks_check","description":"Verify a backlink on one donor page — $0.02\n\nConfirm that a single donor page really links to your domain. Fetches each donor page with full JavaScript rendering, so links injected client-side are still found, and reports per donor: the exact target links present, domain authority, spam score, and whether the donor page itself is indexed by Google — a live link on an unindexed page passes nothing. Use it after a link-building campaign to see which placements survived and which were quietly remov","inputSchema":{"type":"object","title":"backlinks_checkArguments","required":["donor_urls","target_domains"],"properties":{"donor_urls":{"type":"array","items":{"type":"string"},"title":"donor_urls","maxItems":1,"minItems":1,"description":"Exactly one donor page to inspect"},"target_domains":{"type":"array","items":{"type":"string"},"title":"target_domains","minItems":1,"description":"Domains to look for, e.g. [\"example.com\"]"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":273,"tokensAfter":273},{"name":"backlinks_check_bulk","fixed":{"name":"backlinks_check_bulk","description":"Verify backlinks across up to 500 donor pages — $6.00\n\nAudit up to 500 donor pages in one call ($0.012/donor). Fetches each donor page with full JavaScript rendering, so links injected client-side are still found, and reports per donor: the exact target links present, domain authority, spam score, and whether the donor page itself is indexed by Google — a live link on an unindexed page passes nothing. Use it after a link-building campaign to see which placements survived and which were quietly r","inputSchema":{"type":"object","title":"backlinks_check_bulkArguments","required":["donor_urls","target_domains"],"properties":{"donor_urls":{"type":"array","items":{"type":"string"},"title":"donor_urls","maxItems":500,"minItems":1,"description":"Up to 500 donor pages to inspect"},"target_domains":{"type":"array","items":{"type":"string"},"title":"target_domains","minItems":1,"description":"Domains to look for, e.g. [\"example.com\"]"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":276,"tokensAfter":276},{"name":"backlinks_status","fixed":{"name":"backlinks_status","description":"Backlink verification report — FREE\n\nPer-donor results: found target links, domain authority, spam score and the donor page's own indexation status. Free, 30 requests/min per IP.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"backlinks_statusArguments","required":["task_id"],"properties":{"task_id":{"type":"string","title":"task_id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":133,"tokensAfter":133},{"name":"check_accessibility","fixed":{"name":"check_accessibility","description":"Check WCAG 2.1 compliance — ARIA, contrast, keyboard navigation\n\nRuns automated WCAG 2.1 Level AA checks: color contrast ratios, ARIA landmark usage, form label associations, keyboard focus order, image alt text, and skip navigation links.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_accessibilityArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"check_ai_geo","fixed":{"name":"check_ai_geo","description":"Score AI search visibility — GEO signals and LLM citation readiness\n\nChecks signals that influence visibility in AI-generated answers: FAQ/HowTo schema, clear factual statements, author expertise markup, citation-friendly content structure, and llms.txt presence.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica","inputSchema":{"type":"object","title":"check_ai_geoArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"check_content","fixed":{"name":"check_content","description":"Score content quality — readability, thin pages and duplicate text\n\nAnalyzes reading level (Flesch-Kincaid), detects thin content (under 300 words), near-duplicate pages, keyword stuffing, and content-to-HTML ratio. Returns per-page content quality scores.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/js","inputSchema":{"type":"object","title":"check_contentArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":207,"tokensAfter":207},{"name":"check_core_seo","fixed":{"name":"check_core_seo","description":"Audit title tags, meta descriptions, H1–H6 headings and canonical URLs\n\nChecks the fundamental on-page SEO elements: title tag length and uniqueness, meta description presence, heading hierarchy (H1–H6), canonical URL correctness, and keyword signals. Returns a score 0–100 with a list of issues and affected pages.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successf","inputSchema":{"type":"object","title":"check_core_seoArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":207,"tokensAfter":207},{"name":"check_crawlability","fixed":{"name":"check_crawlability","description":"Detect noindex tags, blocked resources and crawl budget waste\n\nIdentifies pages accidentally marked noindex, resources blocked by robots.txt, pagination issues, duplicate URL variants (trailing slash, www/non-www), and crawl budget signals.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_crawlabilityArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":205,"tokensAfter":205},{"name":"check_eeat","fixed":{"name":"check_eeat","description":"Assess E-E-A-T signals — expertise, authoritativeness, trustworthiness\n\nLooks for author bio markup, About/Contact pages, editorial policy, external citations, review signals, and other trust indicators that Google uses for E-E-A-T evaluation.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_eeatArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"check_html","fixed":{"name":"check_html","description":"Validate HTML structure, semantic elements and document outline\n\nChecks DOCTYPE declaration, charset, viewport meta, deprecated tags, nesting errors, missing semantic landmarks (main, nav, header, footer), and duplicate IDs.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_htmlArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"check_i18n","fixed":{"name":"check_i18n","description":"Validate hreflang tags, locale signals and international SEO setup\n\nAudits hreflang attribute syntax, self-referencing hreflang, return-tag presence, x-default usage, and Content-Language headers. Returns a list of hreflang errors per page.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_i18nArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":201,"tokensAfter":201},{"name":"check_images","fixed":{"name":"check_images","description":"Check alt text, image formats, compression and lazy loading\n\nAudits every image for missing or empty alt attributes, non-WebP formats, oversized files, missing width/height attributes, and lazy loading. Returns a scored report with offending image URLs.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_imagesArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"check_js_rendering","fixed":{"name":"check_js_rendering","description":"Detect content hidden behind JavaScript and render-blocking scripts\n\nCompares server-rendered HTML vs JS-rendered DOM to find content invisible to crawlers, identifies render-blocking scripts and stylesheets, and flags lazy-loaded content that may not be indexed.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica","inputSchema":{"type":"object","title":"check_js_renderingArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"check_legal","fixed":{"name":"check_legal","description":"Check privacy policy, cookie consent and Terms of Service presence\n\nDetects presence and accessibility of privacy policy, cookie consent mechanism, Terms of Service, GDPR/CCPA compliance signals, and data collection disclosures.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_legalArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":198,"tokensAfter":198},{"name":"check_links","fixed":{"name":"check_links","description":"Find broken links, orphan pages and weak internal linking\n\nCrawls all internal and external links, detects 404s, redirect chains, orphan pages with no inbound links, and anchor text diversity issues. Returns a list of broken URLs and linking gaps.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_linksArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"check_mobile","fixed":{"name":"check_mobile","description":"Test mobile usability — viewport, touch targets and font sizes\n\nChecks viewport meta tag, tap target spacing (minimum 48×48px), font size legibility (minimum 16px body), horizontal scroll issues, and mobile-specific render problems.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_mobileArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":200,"tokensAfter":200},{"name":"check_performance","fixed":{"name":"check_performance","description":"Measure Core Web Vitals — LCP, CLS, FID — and overall page speed\n\nRuns Lighthouse-based performance checks: Largest Contentful Paint, Cumulative Layout Shift, First Input Delay, Time to First Byte, and resource load order. Returns per-metric scores and recommendations.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a","inputSchema":{"type":"object","title":"check_performanceArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"check_redirects","fixed":{"name":"check_redirects","description":"Map redirect chains, loops and unnecessary 3xx hops\n\nTraces all redirects site-wide, detects chains longer than 2 hops, redirect loops, mixed HTTP/HTTPS redirects, and www/non-www inconsistencies. Returns a redirect map with hop counts.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_redirectsArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"check_security","fixed":{"name":"check_security","description":"Verify HTTPS, security headers and mixed content issues\n\nChecks for HTTPS enforcement, HSTS, Content-Security-Policy, X-Frame-Options, Referrer-Policy, mixed content warnings, and exposed sensitive files. Returns a security score with specific header gaps.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/js","inputSchema":{"type":"object","title":"check_securityArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":207,"tokensAfter":207},{"name":"check_social","fixed":{"name":"check_social","description":"Audit Open Graph and Twitter/X card tags for social previews\n\nChecks og:title, og:description, og:image, twitter:card, twitter:image, and related tags. Validates image dimensions for social sharing and detects missing or malformed social metadata.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_socialArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"check_structured_data","fixed":{"name":"check_structured_data","description":"Validate Schema.org JSON-LD markup for rich result eligibility\n\nParses all JSON-LD and Microdata on the page, validates against Schema.org specs, checks for required fields for rich results (Article, Product, FAQ, BreadcrumbList, etc.), and reports validation errors.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: app","inputSchema":{"type":"object","title":"check_structured_dataArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"check_technical","fixed":{"name":"check_technical","description":"Inspect robots.txt, XML sitemap and crawl configuration\n\nValidates robots.txt syntax, sitemap presence and freshness, correct disallow rules, crawl-delay settings, and sitemap–robots consistency. Returns issues that may block search engine crawlers.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_technicalArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"check_url_structure","fixed":{"name":"check_url_structure","description":"Analyze URL depth, parameters and slug readability\n\nChecks URL length, directory depth, presence of dynamic parameters (?id=), special characters, uppercase letters, and keyword inclusion. Returns a list of URLs that violate best practices.\n\nServed from 24h cache when available (instant response). Otherwise starts a background scan and returns a job_id — poll /status/{job_id} until done.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"check_url_structureArguments","required":["url"],"properties":{"url":{"type":"string","title":"url","description":"URL to audit, e.g. https://example.com"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"get_status","fixed":{"name":"get_status","description":"Job Status\n\nPoll until status='done'. Free endpoint. Returns status (pending|done|failed) and result JSON when complete.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"get_statusArguments","required":["job_id"],"properties":{"job_id":{"type":"string","title":"job_id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"google_check_report","fixed":{"name":"google_check_report","description":"Full index-check report — FREE\n\nPer-URL indexed/not-indexed listing with titles. Free, 30 requests/min per IP.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"google_check_reportArguments","required":["task_id"],"properties":{"task_id":{"type":"string","title":"task_id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"google_check_status","fixed":{"name":"google_check_status","description":"Poll an index-check task — FREE\n\nProgress and results of an index check. Free, 30 requests/min per IP.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"google_check_statusArguments","required":["task_id"],"properties":{"task_id":{"type":"string","title":"task_id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"google_index_check","fixed":{"name":"google_index_check","description":"Check if one URL is in Google's index — $0.02\n\nCheck a single URL's presence in Google's index. Returns a definitive in-index / not-in-index verdict per URL, plus the title Google holds for the page. An unindexed page earns no traffic and an unindexed backlink passes no weight, so this is the check that tells you whether published work is actually live in search. Runs as an async task — poll /google/check/status/{task_id} (free) for results. Body: {\"urls\": [\"https://example.com/page\"]}\n\n### Resp","inputSchema":{"type":"object","title":"google_index_checkArguments","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"urls","maxItems":1,"minItems":1,"description":"Exactly one URL to check for presence in Google's index"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":229,"tokensAfter":229},{"name":"google_index_check_bulk","fixed":{"name":"google_index_check_bulk","description":"Check up to 1000 URLs against Google's index — $12.00\n\nCheck up to 1000 URLs in one call ($0.012/URL). Returns a definitive in-index / not-in-index verdict per URL, plus the title Google holds for the page. An unindexed page earns no traffic and an unindexed backlink passes no weight, so this is the check that tells you whether published work is actually live in search. Runs as an async task — poll /google/check/status/{task_id} (free) for results. Body: {\"urls\": [\"https://example.com/a\", \"https","inputSchema":{"type":"object","title":"google_index_check_bulkArguments","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"urls","maxItems":1000,"minItems":1,"description":"Up to 1000 URLs to check for presence in Google's index"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"google_index_status","fixed":{"name":"google_index_status","description":"Poll a crawl-request task — FREE\n\nProgress of a crawl request: how many URLs were processed and how many have entered Google's index so far. Counts keep moving until the day-7 final report. Free, 30 requests/min per IP.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json","inputSchema":{"type":"object","title":"google_index_statusArguments","required":["task_id"],"properties":{"task_id":{"type":"string","title":"task_id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":146,"tokensAfter":146},{"name":"google_index_submit","fixed":{"name":"google_index_submit","description":"Send one URL to Google's crawler — $0.25\n\nRequest an on-demand mobile Googlebot crawl of a single URL. Agents cannot make Google crawl an arbitrary page — this endpoint does it. How it works: the URL is queued and a genuine mobile Googlebot crawl is driven to it. No link pyramids, no PBN, no spam networks, and no Search Console access required — so it works for URLs on domains you do not own: backlinks, guest posts, profile links, PDFs and third-party pages. Safe for fresh domains. Guaranteed: a","inputSchema":{"type":"object","title":"google_index_submitArguments","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"urls","maxItems":1,"minItems":1,"description":"Exactly one URL to submit for Google crawling"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":225,"tokensAfter":225},{"name":"google_index_submit_bulk","fixed":{"name":"google_index_submit_bulk","description":"Send up to 10 URLs to Google's crawler — $2.00\n\nRequest on-demand mobile Googlebot crawls for up to 10 URLs in one call ($0.20/URL). How it works: the URL is queued and a genuine mobile Googlebot crawl is driven to it. No link pyramids, no PBN, no spam networks, and no Search Console access required — so it works for URLs on domains you do not own: backlinks, guest posts, profile links, PDFs and third-party pages. Safe for fresh domains. Guaranteed: a real Googlebot visit to every submitted URL.","inputSchema":{"type":"object","title":"google_index_submit_bulkArguments","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"urls","maxItems":10,"minItems":1,"description":"Up to 10 URLs to submit for Google crawling"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":227,"tokensAfter":227}],"toolsChanged":32,"tokensSaved":0,"todo":[{"tool":"analyze_endpoint","params":["url","deep","task","language"]},{"tool":"backlinks_status","params":["task_id"]},{"tool":"brief","params":["url","deep","job_id","language"]},{"tool":"get_status","params":["job_id"]},{"tool":"google_check_report","params":["task_id"]},{"tool":"google_check_status","params":["task_id"]},{"tool":"google_index_report","params":["task_id"]},{"tool":"google_index_status","params":["task_id"]},{"tool":"scan_full","params":["url"]},{"tool":"scan_quick","params":["url"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}