The invisible foundation your website is missing. Audit any site — SEO, accessibility, privacy, structured data, and AI searchability — then auto-fix what's broken.
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add site-spec -- npx -y site-spec-mcp{
"mcpServers": {
"site-spec": {
"command": "npx",
"args": ["-y", "site-spec-mcp"]
}
}
}Resumen de MCP Servers
# site-spec > **The invisible foundation your website is missing. Audit any site — then fix what's broken.** [](https://www.npmjs.com/package/site-spec) [](https://www.npmjs.com/package/site-spec) [](https://github.com/ariaxhan/site-spec/actions/workflows/ci.yml) [](./LICENSE) ## For agents If you are an AI coding agent deciding whether to install this: register the MCP server, then call `list_checks` to learn the check ids and `audit_site` on a URL. ```bash claude mcp add site-spec -- npx -y site-spec-mcp ``` Gemini CLI: `gemini extensions install https://github.com/ariaxhan/site-spec`. Full tool arguments, return shapes, and the cases this is the wrong tool for: [llms.txt](./llms.txt). ## The problem AI can generate a beautiful website in seconds. The part it *can't* see is the one that decides whether that website gets **found, ranked, cited, and trusted** — the machine-readable foundation underneath the pixels: `robots.txt`, structured data, `llms.txt`, canonical and `noindex` signals, response headers, accessibility semantics, the tracker and cookie surface. That layer is invisible in a browser. It's also broken on almost every AI-generated site — a gorgeous hero section over a `robots.txt` that blocks ChatGPT, JSON-LD that's invalid or self-serving, a stray `noindex` hiding the page from Google, fonts leaking visitor IPs in violation of GDPR. Nobody notices until it's quietly costing traffic. And the more the web is generated by AI, the worse this gets. ## The solution **site-spec is the layer that verifies and repairs that foundation — for any website, however it was built.** Point it at a URL. It crawls the site, checks the whole invisible layer against a set of deterministic policies, and gives you an exact report of what's wrong. Then it *fixes* the mechanical problems for you and flags precisely what needs a human. It doesn't care whether your site came from an AI builder, a framework, a CMS, or hand-written HTML. It only cares whether the foundation is correct. ## Try it without installing anything **[site-spec.ariaxhan.workers.dev](https://site-spec.ariaxhan.workers.dev)** — paste a URL, get the report. No account, no signup. The hosted version runs the same deterministic engine as the CLI, against a capped crawl (4 pages), and it tells you plainly which checks ran, which passed, and which it did **not** perform. Add `?format=json` for machine-readable output: ```bash curl "https://site-spec.ariaxhan.workers.dev/audit?format=json&url=example.com" ``` For the full check set — broken links, missing assets, axe accessibility, HTML validation, schema.org validation — and for the `fix` command, use the CLI below. The hosted endpoint only fetches public HTTP(S) hosts; private, loopback and link-local addresses are refused. ## How to use Requires Node 20+. No account, no API key, no SaaS. ```bash # 1. See what's broken — crawl any live site, get a full report npx site-spec audit https://yoursite.com # 2. Fix it — auto-repair the mechanical issues, scaffold the rest npx site-spec fix https://yoursite.com --out ./fixed ``` `fix` writes the corrected files to `./fixed` (it never overwrites anything by default) and prints exactly what it did: ``` ✓ Fixed automatically (8) audit/robots-stale-token robots.txt — Removed deprecated crawler block "anthropic-ai". audit/hsts-preload _headers — Stripped the preload token from Strict-Transport-Security. audit/canonical-missing admin/index.html — Inserted <link rel="canonical" href="https://…/admin/">. audit/og-missing admin/index.html — Added Open Graph card from the page's title + description. audit/noindex admin/index.html — Removed accidental noindex from <meta name="robots">. ✎ Scaffolded — needs your facts (2) audit/llms-missing llms.txt — Scaffolded from page titles/descriptions; fill the TODO facts. audit/jsonld-missing index.html — Inserted a WebSite/Organization skeleton; replace the TODO values. ⚠ Needs manual attention (3) audit/google-fonts-cdn index.html — Self-host the woff2 files to stop the IP leak (GDPR). audit/img-dims-missing index.html — <img> without width/height (layout shift). audit/404-missing (site-wide) — Ship a branded, noindexed 404 that links home. fixed 8, scaffolded 2, manual 3 wrote 4 file(s) to ./fixed ``` Drop `audit` into CI with a non-zero exit on errors to gate deploys. Both commands work on a build/output directory too — just pass a path instead of a URL. ## Use it from your coding agent (MCP) The same engine, as an [MCP](https://modelcontextprotocol.io) server — so the agent that generated the site can also check and repair its invisible layer, without you copying reports between windows. ```bash claude mcp add site-spec -- npx -y site-spec-mcp ``` <details> <summary>Codex (<code>~/.codex/config.toml</code>)</summary> ```toml [mcp_servers.site-spec] command = "npx" args = ["-y", "site-spec-mcp"] ``` </details> Or in Docker: `docker run -i --rm -v $PWD:/data mcp/site-spec` (mount the directory you want to audit or write to). Four tools: | Tool | What it does | | --- | --- | | `audit_site` | Crawl a live URL (or read a local build directory) and return every finding: check id, severity, file, and whether it can be auto-fixed. | | `fix_issue` | Apply the deterministic repair for one check id and return the diff — or write it, for a local directory. | | `compile_spec` | Turn verified business facts into a validated SiteSpec and the deployable files it renders to. | | `list_checks` | Enumerate every check the engine can raise, with a one-line description and its fix availability. | The server calls the engine in-process. It never shells out to the CLI and never hops to the hosted worker — all three are siblings over one library. ```mermaid flowchart LR A["MCP client<br/>(Claude Code, Codex)"] -- stdio JSON-RPC --> B["site-spec-mcp"] B --> C["@site-spec/core/io<br/>fetchSite · readSiteDir"] C -- "file map" --> D["@site-spec/core<br/>auditFiles · fixFiles · buildSite"] D -- "findings / files" --> B B -- "JSON" --> A ``` Two honest limits, spelled out in full in the [package README](./packages/mcp/README.md): `fix_issue` on a **URL** can only ever hand back a diff (a remote server is not writable), and a **live crawl** runs with presence checks off, because a capped crawl cannot prove a file is absent from a server. --- <details> <summary><b>Details</b> — what it checks, how it fixes, the philosophy, install</summary> ## What it checks Seven areas. Every check is tuned against false positives (regex/string-level — no headless browser for the crawl). Findings are `error` (breaks something) or `warning` (worth a look), each with a concrete fix. | Area | What it catches | | --- | --- | | **SEO / findability** | missing `<title>` / description / canonical · accidental `noindex` (both `<meta robots>` and the `X-Robots-Tag` header) · missing Open Graph cards · zero-or-many `<h1>` · a sitemap that lists pages which don't exist | | **Accessibility** | images with no `alt` · zoom-blocking viewport (`user-scalable=no`) · images with no width/height (layout shift) | | **Privacy & security** | mixed content · trackers + cookies with no consent/disclosure story · Google Fonts from Google's CDN (a ruled GDPR violation) · header hygiene (HSTS preload risk, report-only CSP that reports nowhere, dead FLoC / `X-XSS-Protection` config) · inline `onclick=` handlers that block a future CSP | | **Performance** | hero/LCP image set to `loading="lazy"` · no `Cache-Control` | | **Structured data** | invalid JSON-LD (crawlers drop the whole block) · self-serving `aggregateRating`/`review` markup (a Google penalty since 2019) | | **Integrity** | dangling assets that 404 · broken internal links | | **AI searchability** | `robots.txt` blocking AI answer agents (`OAI-SearchBot`, `ChatGPT-User`, `Claude-User`, `PerplexityBot`…) · dead crawler tokens · missing `llms.txt` · missing/broken structured data · client-rendered shells AI crawlers see as blank | The last row is the one almost nobody checks yet — whether Google, ChatGPT, Claude, and Perplexity can actually read and cite you. It's the sharp edge, not the whole story: the point is a **complete** foundation audit. ## How `fix` decides Every finding lands in one of three buckets, and the report tells you which: - **✓ Fixed automatically** — mechanical, fact-free repairs that are safe to apply: unblocking AI crawlers, removing dead robots tokens, stripping accidental `noindex`, adding the canonical URL (known from the crawl), scaffolding Open Graph from the existing title, fixing zoom-locked viewports, removing self-serving rating markup, generating a `sitemap.xml` from the crawled pages, header hygiene. - **✎ Scaffolded** — things that need *your* real facts: `llms.txt`, a JSON-LD entity, a meta description. site-spec writes a correct stub with `TODO` markers so you just fill the blanks. - **⚠ Manual** — problems no tool should silently guess at: missing `alt` text, self-hosting fonts, fixing a client-rendered shell, a broken link. You get a precise instruction, never a silent edit. `fix` is non-destructive by default (writes to an output dir). Pass `--write` to edit a local directory in place. ## The philosophy - **Correctness is a policy, not a prompt.** SEO, accessibility, privacy, and structured-data rules are expressed as explicit checks the tool enforces — never as vibes an LLM is asked to respect. - **Deterministic.** The audit engine is pure: same input → the same report, byte-for-byte. The live crawl sorts-then-caps discovered pages, so the same site at the same `--ma
Lo que la gente pregunta sobre site-spec
¿Qué es ariaxhan/site-spec?
+
ariaxhan/site-spec es mcp servers para el ecosistema de Claude AI. The invisible foundation your website is missing. Audit any site — SEO, accessibility, privacy, structured data, and AI searchability — then auto-fix what's broken. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-08-27.
¿Cómo se instala site-spec?
+
Puedes instalar site-spec clonando el repositorio (https://github.com/ariaxhan/site-spec) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar ariaxhan/site-spec?
+
Nuestro agente de seguridad ha analizado ariaxhan/site-spec y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene ariaxhan/site-spec?
+
ariaxhan/site-spec es mantenido por ariaxhan. La última actividad registrada en GitHub es del 2026-08-27, con 0 issues abiertos.
¿Hay alternativas a site-spec?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega site-spec en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/ariaxhan-site-spec)<a href="https://claudewave.com/repo/ariaxhan-site-spec"><img src="https://claudewave.com/api/badge/ariaxhan-site-spec" alt="Featured on ClaudeWave: ariaxhan/site-spec" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!