Skip to content

Krawlup

com.krawlup/krawlupkrawlup.comstreamable-httpv2.0.0Scanned

SEO/AEO audits agents fix directly, free site reports, first-party cookieless analytics — via MCP.

26 tools: 3 can delete or cancel things, 7 change things and 16 only read.

Tools: 3 delete, 0 irreversible, 7 write, 16 read.
  • Reads private data · 1
  • Reads text others write · 11
  • Can send data out · 2
  • 3 findings

Anlyon alternative

10 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

26 tools

Deletes or cancels 3Claude Code: deny
  • remove_tracked_keywordsRemoves keywords from a product's rank-tracking board.No findings

    Why it is in this group

    • The name "remove_tracked_keywords" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Remove tracked keywords
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • set_excluded_pagesReplace the per-product Excluded pages board — paths whose visits are discarded at intake (never stored, never counted).No findings

    Why it is in this group

    • The name "set_excluded_pages" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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 with the submit scope

    Annotations the server declares

    • title: Set excluded pages
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • set_product_privateRemove one of your products from the public directory (always allowed, any plan).1 finding

    Why it is in this group

    • The name "set_product_private" says "set": a word for a change.
    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "set_product_private" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "set_product_private" says "set": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Remove one of your products from the public directory (always allowed, any plan).

    Annotations the server declares

    • title: Unpublish product
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
Changes things 7Claude Code: ask
  • add_productAdd a product from just its URL: krawlup scrapes the site (name, tagline, description, icons) and adds it to the founder's dashboard.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "add_product" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe description's first sentence says "scrape": it reads web pages, which anyone can write.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Add product
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • add_tracked_keywordsAdds keywords to a product's rank-tracking board (max KEYWORD_TRACK_CAP per product).No findings

    Why it is in this group

    • The name "add_tracked_keywords" says "add": a word for a change.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Add tracked keywords
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_launch_readinessAudit a URL before adding it to krawlup: bans, blocked platforms, whether the product already exists (and who owns it), plus the optional category list.Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Check launch readiness
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • run_keyword_researchRuns 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-s…Reads text others writeNo findings

    Why it is in this group

    • The name "run_keyword_research" says "run": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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 the rescan scope

    Annotations the server declares

    • title: Run keyword research
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • run_site_reportStart the free public scan for any website and return immediately.Reads text others write1 finding

    Why it is in this group

    • The name "run_site_report" says "run": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...get 2 full scans per calendar month per credential; anonymous callers share a per-IP month..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Run site report
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • set_product_publicMake one of your products public in the krawlup directory.No findings

    Why it is in this group

    • The name "set_product_public" says "set": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Publish product
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • trigger_rescanStarts 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 the…Reads text others writeNo findings

    Why it is in this group

    • The name "trigger_rescan" says "trigger": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Trigger rescan
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
Only reads 16Show 16 read-only tools
  • compare_productsAll 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 p…No findings

    Why it is in this group

    • The name "compare_products" says "compare": a word for reading.
    Description, as the server wrote it
    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 leaderboard's HLL estimate (~1.6%) and lifetime revenue comes from the payments ledger. Products and scores are always included; visitor columns and windowed revenue need the website_analytics subscription facility, revenue columns need analytics_conversion — gated columns come back null with a note instead of failing the call.

    Annotations the server declares

    • title: Compare products
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_analytics_snippetThe exact <script> tag that installs krawlup first-party analytics on a product's own website (visitors, sessions, pages, referrers, countries, conversion goals).Reads text others writeNo findings

    Why it is in this group

    • The name "get_analytics_snippet" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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 visit

    Annotations the server declares

    • title: Get analytics snippet
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_analytics_tokenThe raw analytics site token for one product — the data-site value inside the krawlup analytics tag.No findings

    Why it is in this group

    • The name "get_analytics_token" says "get": a word for reading.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Get analytics token
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_bottleneckThe 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 yetNo findings

    Why it is in this group

    • The name "get_bottleneck" says "get": a word for reading.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Get bottleneck
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_fix_cardsAll stored AI fix cards for one product (what/why/steps/agent prompt per issue).Reads text others writeNo findings

    Why it is in this group

    • The name "get_fix_cards" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "issue": it reads issues, which other people can write.
    Description, as the server wrote it
    All stored AI fix cards for one product (what/why/steps/agent prompt per issue). Requires a plan with the ai_fix_cards facility

    Annotations the server declares

    • title: Get fix cards
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_insightsFull latest insights for one product — everything the dashboard renders: overall + per-plane scorecards, failing audits, Core Web Vitals metrics, conversion (CRO) checks, the mobil…Reads text others writeNo findings

    Why it is in this group

    • The name "get_insights" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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 cards (fix cards require the ai_fix_cards plan facility)

    Annotations the server declares

    • title: Get insights
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_keyword_ideasThe stored keyword research for one product: intent-clustered keyword ideas with volume/difficulty estimates (exact volume + CPC when a Keywords Everywhere key is configured), prio…No findings

    Why it is in this group

    • The name "get_keyword_ideas" says "get": a word for reading.
    Description, as the server wrote it
    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. Requires a plan with the keyword_research facility

    Annotations the server declares

    • title: Get keyword ideas
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_keyword_ranksRank 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, …No findings

    Why it is in this group

    • The name "get_keyword_ranks" says "get": a word for reading.
    Description, as the server wrote it
    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 empty until the admin configures one. Requires a plan with the keyword_research facility

    Annotations the server declares

    • title: Get keyword ranks
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_my_products_statusYour products with their directory visibility (public/private) — most recent first.Reads private dataNo findings

    Why it is in this group

    • The name "get_my_products_status" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "directory": it reads files.
    Description, as the server wrote it
    Your products with their directory visibility (public/private) — most recent first.

    Annotations the server declares

    • title: Get product visibility
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_my_subscriptionThe 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 mea…1 finding

    Why it is in this group

    • The name "get_my_subscription" says "get": a word for reading.

    Findings

    • Warn

      The description contains "any other tool", wording about other tools or servers.

      Matched text

      description: "...der's plan actually allows before using any other tool."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get my subscription
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_productThe full public listing for one product, by slug or key.No findings

    Why it is in this group

    • The name "get_product" says "get": a word for reading.
    Description, as the server wrote it
    The full public listing for one product, by slug or key.

    Annotations the server declares

    • title: Get product
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_scan_historyScore-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 tim…Reads text others writeNo findings

    Why it is in this group

    • The name "get_scan_history" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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

    Annotations the server declares

    • title: Get scan history
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_site_reportThe 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 da…Reads text others writeNo findings

    Why it is in this group

    • The name "get_site_report" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get site report
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • get_website_analyticsFirst-party website analytics for one product: visitors, sessions, bounce, session duration, pages per session, pageviews, daily series, entry/exit pages, top pages/referrers, acqu…Reads text others writeNo findings

    Why it is in this group

    • The name "get_website_analytics" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe name "get_website_analytics" says "get" and "website": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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_conversion facility

    Annotations the server declares

    • title: Get website analytics
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_productsList your products on krawlup with their latest scan scoresNo findings

    Why it is in this group

    • The name "list_products" says "list": a word for reading.
    Description, as the server wrote it
    List your products on krawlup with their latest scan scores

    Annotations the server declares

    • title: List my products
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • search_productsSearch the public catalog of launched products in plain language (min 2 characters).No findings

    Why it is in this group

    • The name "search_products" says "search": a word for reading.
    Description, as the server wrote it
    Search the public catalog of launched products in plain language (min 2 characters).

    Annotations the server declares

    • title: Search products
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

22 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write11
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__krawlup__get_my_products_status"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The description contains "any other tool", wording about other tools or servers.

    Matched text

    description: "...der's plan actually allows before using any other tool."

    What this check looks for
  • The server marks "set_product_private" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":false}; The name "set_product_private" says "set": a word for a change.

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...get 2 full scans per calendar month per credential; anonymous callers share a per-IP month..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 2.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http krawlup https://api.krawlup.com/mcp
claude mcp add --transport http krawlup https://api.krawlup.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__krawlup__search_products",
      "mcp__krawlup__get_product",
      "mcp__krawlup__get_site_report",
      "mcp__krawlup__list_products",
      "mcp__krawlup__get_my_products_status",
      "mcp__krawlup__compare_products",
      "mcp__krawlup__get_my_subscription",
      "mcp__krawlup__get_insights",
      "mcp__krawlup__get_fix_cards",
      "mcp__krawlup__get_scan_history",
      "mcp__krawlup__get_analytics_snippet",
      "mcp__krawlup__get_analytics_token",
      "mcp__krawlup__get_website_analytics",
      "mcp__krawlup__get_bottleneck",
      "mcp__krawlup__get_keyword_ideas",
      "mcp__krawlup__get_keyword_ranks"
    ],
    "ask": [
      "mcp__krawlup__check_launch_readiness",
      "mcp__krawlup__run_site_report",
      "mcp__krawlup__add_product",
      "mcp__krawlup__set_product_public",
      "mcp__krawlup__run_keyword_research",
      "mcp__krawlup__add_tracked_keywords",
      "mcp__krawlup__trigger_rescan"
    ],
    "deny": [
      "mcp__krawlup__set_product_private",
      "mcp__krawlup__set_excluded_pages",
      "mcp__krawlup__remove_tracked_keywords"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as krawlup. Review it before you use it.

Capability tags behind 12 rules
  • mcp__krawlup__check_launch_readiness untrusted-input, outbound
  • mcp__krawlup__get_site_report untrusted-input
  • mcp__krawlup__run_site_report untrusted-input
  • mcp__krawlup__get_my_products_status private-data
  • mcp__krawlup__add_product untrusted-input, outbound
  • mcp__krawlup__get_insights untrusted-input
  • mcp__krawlup__get_fix_cards untrusted-input
  • mcp__krawlup__get_scan_history untrusted-input
  • mcp__krawlup__get_analytics_snippet untrusted-input
  • mcp__krawlup__get_website_analytics untrusted-input
  • mcp__krawlup__run_keyword_research untrusted-input
  • mcp__krawlup__trigger_rescan untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.krawlup/krawlup/verify?hash=804738d7322822e7e89fe3ffd280e4a072cff9bcc178a805ab592c73edc88a9c" | jq -e '.changed == false'

Pinned hash 804738d73228, from Nov 4, 2026, 04:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.krawlup/krawlup/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.krawlup/krawlup
[![anlyon.dev](https://anlyon.dev/badge/com.krawlup/krawlup.svg)](https://anlyon.dev/servers/com.krawlup/krawlup)

Source: MCP Registry. Synced Nov 4, 2026, 04:17 UTC.