Google Search Console integration for Model Context Protocol (MCP)
Krawlup is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
SEO/AEO audits agents fix directly, free site reports, first-party cookieless analytics — via MCP.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http krawlup-mcp https://api.krawlup.com/mcp
# 2 — ask your agent for something these tools do
# search_products, get_product, check_launch_readiness and 23 more
Krawlup costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http krawlup-mcp https://api.krawlup.com/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
26 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Search the public catalog of launched products in plain language (min 2 characters).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | What to search for: product names, taglines, descriptions, domains |
| limit | integer | no | How many results (default 20, max 50) |
The full public listing for one product, by slug or key.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| identifier | string | yes | The product slug (e.g. "acme-app") or key (its domain) |
Audit a URL before adding it to krawlup: bans, blocked platforms, whether the product already exists (and who owns it), plus the optional category list. Run this before add_product.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The product website URL |
The free public site report for any website (the /site-report tool): performance, AEO, CRO, SEO crawl, CrUX, OpenPageRank, scorecards and the named checks behind them — the same data the public site-report page renders. Cached read, never generates; if hasReport is false, call run_site_report and poll this tool until scanStage clears.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The website domain, e.g. "example.com" |
Start the free public scan for any website and return immediately. Authenticated agents get 2 full scans per calendar month per credential; anonymous callers share a per-IP monthly budget with every other surface. Poll get_site_report for the domain until scanStage clears to read the finished report. Domains already listed as krawlup products are refused — scan those from the dashboard.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The website domain, e.g. "example.com" |
List your products on krawlup with their latest scan scores
No parameter schema on file.
Your products with their directory visibility (public/private) — most recent first.
No parameter schema on file.
All your products side by side — lifetime or windowed (today / 7d / 30d / 90d) unique visitors, views, revenue totals with refunds netted, average revenue per conversion, revenue per visitor, and scan scores, sorted by any of them. Windowed numbers are computed exactly the way the dashboard computes them (same events, same windows), so they match the product page; lifetime visitors are the leaderb
| Parameter | Type | Required | Notes |
|---|---|---|---|
| range | string | no | Metric window. lifetime = all-time totals; the others are ROLLING windows over the last N UTC days ending today (each includes today so far) — like the dashboard, they are not calendar-day buckets. |
| sortBy | string | no | Column to sort by. Products missing the chosen metric sort last. Default: visitors. |
| order | string | no | Sort direction. Default: desc (biggest / newest first). |
| limit | integer | no | Max products returned. Default 50. |
The founder's current subscription: plan name and price, status (active / trial / in the 3-day renewal grace / expired read-only), the plan's abilities and limits (a limit of 0 means unlimited), usage against this period's meters, and a can-do summary. Call this FIRST to check which features the founder's plan actually allows before using any other tool.
No parameter schema on file.
Add a product from just its URL: krawlup scrapes the site (name, tagline, description, icons) and adds it to the founder's dashboard. Every other field is optional — explicit values override the scrape. Adding NEVER publishes — the product is private until the founder (or set_product_public) publishes it. Requires the submit permission.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The product website URL |
| name | string | no | Product name (max 40 characters). Omit to use the scraped site title. |
| tagline | string | no | One-line tagline (max 120 characters). Omit to use the scraped site description. |
| description | string | no | Short description (max 600 characters). Omit to use the scraped description. |
| categories | array | no | Up to three category ids (or slugs/names) from check_launch_readiness. Optional — the founder can tag the product later. |
| twitterUsername | string | no | The product's X/Twitter handle (bare handle or profile URL) |
Make one of your products public in the krawlup directory. Publishing requires an active paid subscription (no trial) OR an admin-approved publishing grant covering this exact product; the 403 message names which. Unpublishing is set_product_private. Requires the submit permission.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (domain) as returned by add_product or list_products |
Remove one of your products from the public directory (always allowed, any plan).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (domain) as returned by add_product or list_products |
Full latest insights for one product — everything the dashboard renders: overall + per-plane scorecards, failing audits, Core Web Vitals metrics, conversion (CRO) checks, the mobile layout test, AI-readiness facts (llms.txt, AI-crawler robots, structured data), trust/security checks, CrUX field data, Domain Rating + OpenPageRank, the SEO crawl, the recommended First Edit, and unresolved AI fix car
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
All stored AI fix cards for one product (what/why/steps/agent prompt per issue). Requires a plan with the ai_fix_cards facility
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
Score-over-time series for one product (last 100 scans, chronological): performance, AEO, CRO, SEO crawl, scorecards, CrUX, openRank, and issue counts — plus per-run source and timestamp
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
The exact <script> tag that installs krawlup first-party analytics on a product's own website (visitors, sessions, pages, referrers, countries, conversion goals). The returned snippet already embeds the site token at data-site="…" — insert BOTH lines yourself; never ask the founder to paste the token. After installing, confirm data appears in the dashboard Website tab within a minute of the first
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
The raw analytics site token for one product — the data-site value inside the krawlup analytics tag. The token is not a secret (it travels in the tagged page source by design) and is already embedded inside the snippet returned by get_analytics_snippet — never ask the founder to paste the token. Use this for hand-written tags, the @krawlup/analytics-tag npm package, or custom integrations
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
Replace the per-product Excluded pages board — paths whose visits are discarded at intake (never stored, never counted). DESTRUCTIVE: it changes what the site's analytics records. MCP clients should prompt the site owner before calling; regardless, set confirm=true ONLY after the owner explicitly approved the exact list in the conversation. An empty array removes all exclusions. Requires a key wit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| paths | array | yes | FULL replacement list of absolute paths (e.g. /admin also covers /admin/settings; max 25) — an empty array clears the board |
| confirm | boolean | yes | Must be true, and may only be true after the site owner approved this exact list in the conversation |
First-party website analytics for one product: visitors, sessions, bounce, session duration, pages per session, pageviews, daily series, entry/exit pages, top pages/referrers, acquisition channels, UTM sources, countries/devices, AI crawler visits (AI answers / indexing / training, with a partial flag when a crawler query failed), and conversion events + goals when the plan carries the analytics_c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| range | string | no | Defaults to 7d |
The stored AI bottleneck analysis for one product (THE one edit to make, with why/impact/steps and the agent prompt), or null if not run yet
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
The stored keyword research for one product: intent-clustered keyword ideas with volume/difficulty estimates (exact volume + CPC when a Keywords Everywhere key is configured), prioritized content actions, and a per-keyword verdict (own/push/hard/skip). A new run can be triggered from here with run_keyword_research; ideas worth watching can be added to rank tracking with add_tracked_keywords. Requi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
Runs one keyword research for a product: a Google-autocomplete sweep clustered by a model into intent groups with volume/difficulty estimates and prioritized content actions (Jev-scored fit/demand/competition when the TypeSafe key is bound). Spends one of the founder's monthly keyword-research runs — check first with get_keyword_ideas whether the stored research still serves. Requires a key with t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| seed | string | no | Seed keyword; defaults to the product's target keyword or name |
Adds keywords to a product's rank-tracking board (max KEYWORD_TRACK_CAP per product). Tracked keywords are re-checked by the scanner on its scan passes and their top-10 positions become the rank history get_keyword_ranks reads. Requires a key with the rescan scope
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| keywords | array | yes | The keywords to track — normalized (trimmed, lowercased, deduped) before storage |
Removes keywords from a product's rank-tracking board. Their stored rank-check history is deleted with them. Requires a key with the rescan scope
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| keywords | array | yes | The keywords to stop tracking |
Rank history for a product's tracked keywords, as checked by the scanner on its scan passes: per keyword the latest position (null = checked and not in the top-10), best position, and the series of stored checks. Only positions actually checked are returned — never interpolated. searchConfigured=false means no SERP source (Treg/Tavily) is configured and the scanner skips checks, so the board stays
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
| keyword | string | no | Limit to one tracked keyword |
Starts a fresh full analysis of one product in the background — spends one of the founder's full-analysis allowances for the current billing period (per product, and across all their products), plus one page speed check. Returns immediately; poll get_insights for this product until scanPending is false to read the fresh numbers. Requires a key with the rescan scope.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| productKey | string | yes | The product key (see list_products) |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Krawlup or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| search_products | no tags | |
| get_product | no tags | |
| check_launch_readiness | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_site_report | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| run_site_report | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| list_products | no tags | |
| get_my_products_status | no tags | |
| compare_products | no tags | |
| get_my_subscription | no tags | |
| add_product | untrusted-inputstate-write | untrusted-input: keyword "scrape", parameter "url" with "scrape" in the description; state-write: declares readOnlyHint: false |
| set_product_public | state-write | state-write: declares readOnlyHint: false |
| set_product_private | state-write | state-write: declares readOnlyHint: false |
| get_insights | no tags | |
| get_fix_cards | no tags | |
| get_scan_history | no tags | |
| get_analytics_snippet | no tags | |
| get_analytics_token | no tags | |
| set_excluded_pages | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_website_analytics | no tags | |
| get_bottleneck | no tags | |
| get_keyword_ideas | no tags | |
| run_keyword_research | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| add_tracked_keywords | state-write | state-write: declares readOnlyHint: false |
| remove_tracked_keywords | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| get_keyword_ranks | no tags | |
| trigger_rescan | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 2.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Krawlup can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.