Skip to content
crawlwise.

Search Crawlwise

Search tools, articles, guides and your sites

SEO MCP server reference

The protocol contract for the Crawlwise SEO MCP server: endpoint, sign-in, rules, and tools. For install snippets (Claude, Cursor, Codex, Gemini, Copilot, Windsurf, and others) go to /agents.

Endpoint

POST /mcp on this host. Streamable HTTP. Full steps for every client: /agents.

Connect (OAuth)

Endpoint: https://crawlwise.site/mcp. Use the host you signed up on.

claude mcp add --transport http crawlwise https://crawlwise.site/mcp
codex mcp add crawlwise --url https://crawlwise.site/mcp
codex mcp login crawlwise
grok mcp add --transport http crawlwise https://crawlwise.site/mcp

Then Allow in the browser. Key fallback: /account/api.

Rules

Every tool description states what it does not measure. Findings are grouped as priority / worth considering / not measured. estimate_cost never charges. Long-running tools return a job id.

Tools

  • audit_page — Start a full page audit. Spends credits (from 1.25 per page; call estimate_cost first for the exact price). Returns a job_id immediately. Poll with get_audit using that job_id until status is complete. Findings are grouped as priority / worth considering / not measured. Does NOT measure keyword ranks, backlinks, traffic, or Search Console data. Does NOT invent scores. Every action cites a real check id.
  • get_audit — Poll an audit started with audit_page. Pass the job_id. When status is running, call again. When complete, returns findings grouped as priority / worth considering / not measured. Does NOT start a new audit. Does NOT charge. Does NOT invent checks. An empty group means none, not that the site is perfect.
  • check_ai_crawlers — Fetch the URL as GPTBot, ClaudeBot and other AI crawlers and report allowed / blocked / challenged / not established. Does NOT measure whether a model would cite the page, brand mentions, or ranking in ChatGPT. A 200 is reachability, not visibility.
  • check_agent_readiness — Read one page the way a browsing agent (ChatGPT agent, Claude in Chrome, Gemini in Chrome) uses it: accessible names, clickable divs, ARIA structure, WebMCP tools (declarative forms and registerTool), llms.txt, Markdown versions of the page, and whether robots.txt lets ChatGPT-User, Claude-User and Perplexity-User fetch it. Each item is ready, needs work, not applicable or not measured. Spends no credits. Does NOT give a score. Does NOT run JavaScript: registerTool calls are read from inline scripts only, not from script files, and layout shift is not measured. Does NOT measure whether an agent succeeds at a task on the page.
  • verify_bot — Check whether a visitor claiming to be GPTBot, ClaudeBot, PerplexityBot, Googlebot, Bingbot or Applebot really is, from its IP. Pass one IP or access-log line in ip, or up to 25 in lines. Checks the IP against the ranges each operator publishes and, for Google, Bing and Apple, forward-confirmed reverse DNS. Verdicts: verified, impostor (claims a bot but the IP is outside that operator's ranges), other-bot, unknown, not-checked (a range file could not be fetched). Spends no credits. Does NOT block anything. Does NOT verify bots whose operators publish no ranges; those are unknown, not impostors.
  • validate_schema — Validate JSON-LD / schema.org markup against Rich Results eligibility. Does NOT submit anything to Google. Does NOT measure whether rich results actually appear in search. FAQPage is reported as not a rich-result opportunity.
  • check_vitals — Core Web Vitals via PageSpeed Insights for one URL and one strategy. Does NOT measure field (CrUX) data unless PageSpeed returns it. Does NOT audit the rest of the site. A missing lab metric is not_measured, never 0.
  • crawl_site — Start a multi-page crawl of a site you own. Spends credits per page fetched (call estimate_cost with operation crawl and units = pages first). Returns a crawl id immediately. Does NOT run keyword or rank checks. Does NOT crawl the whole internet; it stops at the plan page cap. Orphans are not_measured when the crawl was capped.
  • get_crawl_issues — Cross-page findings from a finished crawl: duplicate titles, redirect chains, broken internal links, orphans. Does NOT invent issues the crawl did not observe. An empty list means none were found, not that the site is perfect.
  • get_internal_link_suggestions — Internal-link suggestions from a finished crawl. Returns an empty list when there is nothing real to suggest. Does NOT generate links to pages the crawl never saw. Does NOT rewrite your copy.
  • generate_schema — Generate JSON-LD for a schema.org type from the fields you supply. Does NOT fetch the live page. Does NOT validate eligibility; use validate_schema for that.
  • generate_meta_tags — Generate HTML meta tags from the fields you supply. Does NOT fetch the live page. Does NOT check uniqueness across the site.
  • generate_robots_txt — Generate a robots.txt from rules you supply. Does NOT fetch the live robots.txt. Does NOT prove crawlers will honour it.
  • explain_finding — Full detail for one check id from an audit job or report. Does NOT add advice that is not already on that check. If the check is not_measured, that is the answer.
  • estimate_cost — What an operation would cost this account, in credits. Never charges. Never creates a job. Does NOT reserve credits.
  • list_sites — List sites on this account. Does NOT include other users. Does NOT verify domains as a side effect.
  • get_query_gaps — For one page of a site: the search queries it already earns impressions for in Google Search Console and Bing Webmaster Tools (merged, grouped into clusters of close variants), whether the page covers each cluster well, weakly or not at all (with the heading or sentence that covers it), a High/Medium/Low priority, and a suggested change. Spends no credits. Needs Search Console and/or Bing connected on the site page. Does NOT write the new copy and does NOT read the live SERP: hand the returned brief to the writer, and check the top results yourself before adding a section. An empty cluster list means no query rows were reported, not that the page has no demand.
  • get_credits — Current credit balance and recent spend. Does NOT change the balance. Does NOT show other accounts.

OAuth

Discovery: /.well-known/oauth-authorization-server. Manifest: /.well-known/mcp.json. Server card: /.well-known/mcp/server-card.json.

Skill and plugin

The crawlwise skill teaches an agent the audit, fix, re-audit loop. Install it for Claude Code and any agent that reads ~/.agents/skills with npx crawlwise skills install, or add the Claude Code plugin (skill and this server in one): /plugin marketplace add Adnanarodiya/crawlwise-skills, then /plugin install crawlwise@crawlwise. Source: Adnanarodiya/crawlwise-skills.

Registry

Listed on the official MCP Registry as site.crawlwise/crawlwise. Every client’s setup: integrations.