MCP
Protocol contract. For install snippets (Claude, Cursor, Codex, Gemini, Copilot, Windsurf) go to /agents.
Endpoint
POST /mcp on this host. Streamable HTTP. Full steps for every client: /agents.
Connect (OAuth)
Staging URL is https://stg.crawlwise.site/mcp. Production is https://crawlwise.site/mcp. Use the host you signed up on.
codex mcp add crawlwise --url https://stg.crawlwise.site/mcp
codex mcp login crawlwiseclaude mcp add --transport http crawlwise https://stg.crawlwise.site/mcpgrok mcp add --transport http crawlwise https://stg.crawlwise.site/mcpThen 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. 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.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. 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_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.
Skill
Claude-only: npm run skill:install. Other clients use MCP.