Skip to main content
Glama

Audit Project

audit_project

Audit a web project to uncover UI, layout, and security issues. The output includes severity counts and a report with annotated screenshots to guide your automated fix loop.

Instructions

Audit a web project for an automated fix loop (Build → Audit → Fix → Re-audit). url: site URL or path to the project folder/file. maxPages: same-origin pages to crawl. viewports: widths in px (default 375, 768, 1280). checks: categories (default all). criticalSelectors: selectors of key actions; a dead one is critical. outputDir: where current.json, report.md and screenshots/ go (default: a folder per project in CODECHECK_REPORTS_DIR). Returns counts by severity, the critical findings and paths to the files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
checksNo
maxPagesNo
outputDirNo
viewportsNo
criticalSelectorsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure, and it delivers: it states side effects (writes current.json, report.md, screenshots/), where output goes by default (CODECHECK_REPORTS_DIR), and that a dead criticalSelector counts as critical. It doesn't mention auth, rate limits, or crawling cost, but the core behavioral contract is disclosed.

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

Conciseness5/5

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

Each sentence earns its place: the purpose appears in the first clause, then a compact per-parameter mapping, then a short output summary. No filler, no restatement of schema details, and the most important scoping information is front-loaded.

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

Completeness4/5

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

For a web-crawling audit tool, the description covers inputs, side effects, defaults, env-dependent output location, and the return summary. It could add the accepted check-category values and note that the tool may make network requests to the target, but it is otherwise self-contained.

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

Parameters5/5

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

Schema description coverage is 0%, and the description compensates by explaining every parameter with operationally useful detail: maxPages scopes to same-origin pages, viewports are widths with defaults, checks is categories, criticalSelectors has real semantics, and outputDir defines file outputs. Without this, an agent would only have names and types.

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?

The description leads with a specific verb and resource ('Audit a web project') and frames it within Build → Audit → Fix → Re-audit, which clearly separates it from the sibling testing tools. The rest of the description reinforces the audit scope without ambiguity.

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

Usage Guidelines3/5

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

The phrase 'for an automated fix loop' implies this belongs in a build/audit/fix cycle, but it never explicitly says when to prefer this over siblings such as full_qa or quick_security, nor when not to use it. The use case is clear, but exclusions and alternatives are left to inference.

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