Crawlie
app.crawliePublished by crawlie.appOfficial publisherv0.1.0Updated Nov 2, 2026
Technical SEO + GEO (AI-search) site audits: hosted crawls, prioritized fixes, report diffs.
Overview
Crawlie runs technical SEO, GEO and accessibility site audits, letting an assistant crawl a site, read prioritized issues and explain fixes.
- What you can do
- Crawl and audit a whole site or single pages, returning health, GEO and accessibility scores with per-page data
- Review findings: list the rule catalogue, explain why a rule matters and how to fix it, and surface top fixes and affected URLs
- Compare reports and re-read saved crawl history, including report diffs and polling long crawls
- Generate shareable HTML, JSON, CSV or terminal reports of the audit
- When to use it
- Useful when you want an assistant to audit a site before launch, check broken links and metadata, improve readiness to be cited by AI search, or gate a pipeline on SEO errors. It fits marketing, SEO and agent workflows that need structured findings rather than a manual crawl.
- Requirements
- Either the hosted endpoint at crawlie.app over Streamable HTTP with OAuth or a Crawlie API key sent as an Authorization Bearer header, or the local crawlie-mcp server installed via the npm package (Node.js). Crawls need network access to the target site.
Installation
In SourceWeft
- Open Crawlie in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/app.crawlie%2Fcrawlie/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"crawlie": {
"type": "http",
"url": "https://crawlie.app/mcp"
}
}
}README
crawlie
The fast, free, open-source technical SEO + GEO crawler — built for humans and agents.
Crawl any site for broken links, redirects, missing metadata, and 40+ SEO & Generative-Engine checks — with plain-English guidance on every fix. Runs locally, ships a CLI and an MCP server, and costs nothing.
Setup · CLI · MCP & agents · Changelog · Use cases · Why I built this · Desktop app · Checks · Compare · Architecture
[Showcase of the example app demonstrating a report]
Built by Spronta
Crawlie helps you audit whether your content can be discovered. Spronta helps visitors find it once they reach your website: Search, Answers and Content Analytics for your existing blog, docs or resource library.
Try free site search on your content → Connect a public website and test the demo. Search includes 10,000 requests per workspace each month, with no credit card required. Answers and Analytics are separate paid products.
Crawlie runs locally under the MIT license. Spronta is an optional hosted service.
Setup
The easy way — npm (installs the crawlie CLI and the crawlie-mcp server):
The macOS app — grab the signed .dmg from Releases.
From source — needs Rust (engine/CLI/MCP) and, for the desktop app, pnpm + Node:
How it ships: the CLI + MCP come only through npm — the right native binary installs automatically as a platform package (nothing to download or unblock). The desktop app is the only direct download: a signed, notarized
.dmgon Releases.
How to use (CLI)
Output formats: pretty (terminal), json (machine-readable, the default), csv (issues), html (shareable file).
Common flags:
Every crawl returns three scores: a Health score (technical SEO), a GEO score (AI-search readiness), and an Accessibility score (WCAG conformance) — each reported separately so one kind of problem never hides another.
Use with agents (MCP)
crawlie ships a Model Context Protocol server so an LLM agent can run a full audit and act on it — no human in the loop. This is the part most SEO tools don't have.
Connect it
After npm i -g crawlie, crawlie-mcp is on your PATH. For Claude Desktop, edit claude_desktop_config.json:
For Claude Code:
(If you built from source instead, use the absolute path to target/release/crawlie-mcp.)
(Any MCP-compatible client works — Cursor, Cline, your own agent. It speaks JSON-RPC over stdio.)
Hosted: the Crawlie Cloud MCP (no install)
Prefer not to install anything, or want crawls to run on our infrastructure? Point any MCP client at the hosted endpoint and authenticate with a Crawlie API key (create one in the dashboard under Settings, API keys). It speaks MCP Streamable HTTP.
Endpoint: https://crawlie.app/mcp
For Claude Code:
For Claude Desktop (or any client that takes a JSON config):
Hosted crawls run on the same engine as the dashboard, are scoped to your team, and are metered against your plan. The tools mirror the local server (crawl_site, audit_url, top_fixes, geo_gaps, affected_urls, diff_reports, plus crawl_status to poll a long crawl and get_report / list_reports over your saved cloud reports). Every crawl returns a reportId you can re-slice later without re-crawling.
One-step install: the Claude Code plugin
The fastest path. The crawlie plugin bundles the MCP server and a set of skills (audit playbooks) in a single install — the MCP server auto-runs via npx, so you don't even pre-install the binary:
Skills (works with any agent, even without the MCP)
The skills/ folder holds standalone Agent Skills that teach an agent how to run real audits — full-site SEO + GEO, broken-link fixes, pre-launch gates, and AI-search readiness. Each is self-contained: it needs neither this repo nor a pre-installed crawlie. Missing the binary? The skill runs it on demand via npx -y -p crawlie … (the install is the run), and automatically uses the MCP tools when they're present. See skills/README.md.
Tools exposed
Example agent prompts
"Crawl crawlie.dev, then give me the top 5 fixes that would most improve my GEO score, with the exact change for each."
"Audit these three landing pages and tell me which is least ready to be cited by AI search, and why."
"Run a crawl with
--fail-on errorsemantics — are there any broken links or 5xx pages blocking launch?"
The agent calls crawl_site, reads the structured issues, and uses explain_issue to turn findings into a prioritized, actionable plan.
Use cases
- Pre-launch QA — catch broken links, redirects, 4xx/5xx, and missing metadata before you ship.
- GEO optimization — make pages citable by AI search: structured data, semantic HTML, answer-ready content, authorship/E-E-A-T.
- Agent workflows — let a marketing/SEO agent audit a site and propose fixes autonomously via MCP.
- CI/CD gating —
crawlie crawl … --fail-on errorin a pipeline to block regressions. - Client reporting — generate a polished, shareable HTML report in one command.
- Auditing AI-generated sites — verify that the site your agent just built is actually built for search.
Why I built this
I'm Sean Ryan. I've spent 6+ years as a Lead Marketing Engineer, and on the side I build AI tooling for marketers.
With AI, it's faster than ever to ship a marketing site — but most of what gets generated is slop that was never built to be found. And the tools meant to catch that fall short: most SEO auditors cost money, don't play nicely with your agents, or tell you what's wrong without telling you how to actually rank for SEO and GEO (Generative Engine Optimization — being cited by AI search like ChatGPT, Perplexity, and Google AI Overviews).
crawlie fixes that. It's free, it's local-first, it's agent-native, and every issue it finds comes with why it matters and how to fix it.
If this is useful to you, connect with me on LinkedIn → — I share what I'm learning building AI for marketers and SEO/GEO tooling, and I'd love to hear how you're using crawlie.
Desktop app
A beautiful Tauri + React app (Geist design, light/dark, seamless window chrome):
Whole-site / single-page / URL-list modes, live progress, Health, GEO & Accessibility score rings, issues with built-in why-it-matters guidance, a sortable pages table, a per-page drawer (GEO signals, headers, schema, hreflang…), auto-saved report history, and one-click shareable HTML export.
First run, generate the icon set:
cd src-tauri/icons && python3 generate.py && cd .. && pnpm tauri icon icons/source.png
What it checks
57 rules and counting.
Technical SEO — broken links · 4xx/5xx · redirects & chains · titles & meta descriptions (missing / duplicate / length) · H1s · canonicals · noindex / nofollow / X-Robots-Tag · robots.txt blocking · images missing alt · thin & duplicate content · orphan & deep pages
Performance & security — slow responses · large pages · missing compression · HTTPS · mixed content · HSTS
Accessibility (WCAG) — links & buttons without an accessible name · form controls without a label · iframes missing a title · zoom-blocking viewport · positive tabindex · skipped heading levels
Mobile, international & social — viewport · lang · hreflang · Open Graph · Twitter cards · structured data
Structured-data validation — parses JSON-LD and checks each item against Google's rich-result requirements: invalid markup, missing required fields, and missing recommended fields (Product, Article, Recipe, Event, FAQ, Breadcrumb, and more)
JavaScript rendering — crawl with --render to audit each page's post-JavaScript DOM via headless Chrome, so client-rendered content (React/Next/Vue) is seen, and content-requires-js flags pages whose content only exists after JS runs
GEO — Generative Engine Optimization — structured data, semantic HTML, answer-readiness, authorship/E-E-A-T, dated content, question-style headings, and extractable blocks, rolled into a per-page GEO score.
Every finding links to plain-English guidance: why it matters, how to fix it, and what happens if you ignore it.
How it compares
Architecture
crawlie-core has zero host dependencies — the same audited engine drops straight into a cloud worker (it already targets wasm32). One engine, every surface, identical results.
Roadmap
- Cloud workers (shared Rust core) for scheduled/remote crawls
- JavaScript rendering for SPA-heavy sites
- Crawl-to-crawl comparison & regression alerts
- Internal-link graph visualization
License & author
MIT © Spronta Ltd — the crawler engine, CLI, MCP server, and desktop app: everything in this repository is MIT. Crawlie Cloud (the hosted crawl service and the marketing site) is a separate, closed-source product and is not part of this repository. Pull requests to the open engine, CLI, and desktop app are very welcome.
Built by Sean Ryan — Lead Marketing Engineer at Pendo.io, building AI for marketers on the side. Connect on LinkedIn →
If crawlie saves you time, a ⭐ on the repo and a hello on LinkedIn mean a lot.
Source: README.md at commit 9641d31
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
