Skip to main content
Glama

Scan for AI slop

slop_scan

Scan websites, project folders, or HTML files to find generic AI copy, cliché phrasing, placeholders, and missing trust signals, then score slop 0-100 and AI search readiness.

Instructions

Scan a website URL, a local project folder (Next.js, Vite/React, Astro, Vue, Svelte, plain HTML, Markdown content…) or a single .html file for AI slop: generic copy, cliché phrasing, template "vibe-coded" design, placeholder leftovers and missing trust signals. Returns a 0-100 slop score, five category scores and findings ranked by impact, each with evidence, a fix and (for folders) file:line locations to edit, plus a separate AI search readiness score (can ChatGPT, Claude, Perplexity and Gemini read and quote it: JSON-LD, robots.txt for AI crawlers, llms.txt, sitemap). If the project has a DESIGN.md, styles outside it are reported as design-drift. Re-scanning the same target automatically shows a before/after comparison. Prefer scanning the project folder when the user is working on the site's code; scan the URL for live sites.

Input Schema

NameRequiredDescriptionDefault
langNoReport language. Use the language the user is writing in. Default: en.
pagesNoURL only: how many pages of the site to scan. The site is crawled from sitemap.xml and internal links (robots.txt respected), spread across sections; every page gets its own score and findings. Default 30. Use 1 for only the given page.
ignoreNoFolder only: sub-paths to skip, relative to the folder (e.g. ["docs", "src/legacy"]).
renderNoUse the locally installed Chrome/Edge. "auto" (default): measure colours, contrast, fonts and layout in the browser when one is installed, and render pages that arrive as an empty JavaScript shell. "never": HTML and CSS only.
targetYesA URL (https://example.com, localhost:3000), an absolute or relative project folder path, or a path to an .html file.
compareNoShow a before/after comparison with the previous scan of the same target in this session. Default true.
open_reportNoOpen the visual HTML report in the user's browser when the scan finishes. Only pass true if the user agreed to this. Default false; the report file is written either way.
include_ui_primitivesNoFolder only: also scan components/ui (shadcn primitives). Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.2
    • changedInput schema / properties / render / description
      Previous value: -"URL only: render with the locally installed Chrome/Edge. \"auto\" renders only when the server returns an empty JavaScript shell. Default auto."New value: +"Use the locally installed Chrome/Edge. \"auto\" (default): measure colours, contrast, fonts and layout in the browser when one is installed, and render pages that arrive as an empty JavaScript shell. \"never\": HTML and CSS only."
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations, which only say it is not read-only and is open-world. The description explains that a report file is always written even when open_report is false, that robots.txt is respected during crawling, that DESIGN.md triggers design-drift findings, and that repeat scans auto-compare. That is exactly the mutation/IO context an agent needs, and it also reconciles readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb and the three target types, then return shape, then DESIGN.md/compare behavior, then the folder-vs-URL preference — a sensible priority order. Slightly bloated by the mid-sentence parenthetical framework list and the condensed one-sentence return contract, but no genuinely wasted sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters, no output schema, and only three terse annotations, the description carries the return contract itself: 0-100 score, five category scores, ranked findings with evidence/fix/file:line, and a separate AI-search-readiness score. Nothing an agent needs to call this correctly or interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (target, pages, render, ignore, lang, compare, open_report, include_ui_primitives) is already documented in the schema. The description largely restates target types and compare behavior rather than adding format, limits or tradeoffs beyond it, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb (scan) with three explicitly enumerated resource types (URL, project folder with framework list, single .html file) and the exact defect class it hunts (generic copy, cliché phrasing, vibe-coded design, placeholder leftovers, missing trust signals). An agent knows immediately what this tool is for and how it differs from slop_compare/slop_fix/slop_report, which all consume rather than produce a scan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Ends with a clear routing rule: 'Prefer scanning the project folder when the user is working on the site's code; scan the URL for live sites,' plus 'Only pass true if the user agreed to this' for open_report. Clear when-to-use context, but no explicit exclusions or named sibling alternatives (e.g. slop_scan_html vs. the single-.html mode claimed here).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.