Skip to main content
Glama
GiorgiKemo

mcp-seo-audit

by GiorgiKemo

crawl_site_seo

Read-onlyIdempotent

Crawl same-origin HTML from a start URL to detect and summarize SEO issues. Set max pages and robots.txt compliance for controlled site audits.

Instructions

Crawl same-origin raw HTML and summarize issues. Respects robots.txt by default. max_pages bounds fetch attempts, including errors/non-HTML. Use get_seo_audit_report for structured evidence and remediation. Disable robots only for a site you control.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_pagesNo
start_urlYes
respect_robotsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.1.0
    • addedInput schema / properties / respect_robots
      Added value: +{
      +  "default": true,
      +  "title": "Respect Robots",
      +  "type": "boolean"
      +}
  2. First observedv2.0.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive, openWorld, so safety is covered. The description adds real operational context not in annotations: robots.txt is respected by default, max_pages counts failed and non-HTML fetch attempts, and disabling robots is only sanctioned for owned sites.

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?

Four short sentences, front-loaded with purpose, then the sibling route, the parameter caveat, and the safety caveat. No filler and nothing repeated from schema or annotations.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description supplies the robots default, the fetch-attempt accounting, and the sibling alternative; only start_url's expected form (absolute vs relative, protocol handling) is untouched, which is a small omission.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry parameter meaning, and it does for two of three: max_pages is defined as a bound on fetch attempts including errors/non-HTML, and respect_robots is framed by its default and the condition for turning it off. start_url is left to its self-evident name, which is a minor gap.

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 specific verb and resource with scope ('Crawl same-origin raw HTML and summarize issues') and explicitly separates itself from the sibling get_seo_audit_report. An agent can pick between crawl-based summarization and structured reports without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (get_seo_audit_report) and the condition that selects it ('structured evidence and remediation'), and adds a when-not guard ('Disable robots only for a site you control'). Routing and exclusions are both explicit.

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