Skip to main content
Glama
atomno-mcp

atomno-mcp-seo-audit

Official
by atomno-mcp

atomno-mcp-seo-audit

PyPI Python License: MIT MCP

MCP (Model Context Protocol) server for technical SEO & GEO audits, powered by the detail.web engine — real measurements, not LLM guesses. Run it from Cursor, Claude Desktop or any MCP client. 8 tools: audit_site (deterministic 0–100 health score + letter grade, 78 checks across 8 categories, plus a GEO sub-score — visibility in ChatGPT / Perplexity / Google AI Overviews), audit_diff (compare vs the previous snapshot), robots.txt & sitemap.xml validators, JSON-LD & meta/OpenGraph builders, and per-check fix explainers. Probes TLS, redirects, TTFB, AI-crawler access (GPTBot) and llms.txt. Free tier + PRO (deep-crawl, GEO, 40+ deeper checks).

Why pair it with an LLM?

A language model on its own infers a site from training data and, at best, one rendered page — it can't directly read your TLS certificate's expiry, measure response time, parse sitemap.xml, or check whether GPTBot is blocked in robots.txt. This server runs those checks for real: actual HTTP requests, security headers, redirect chains, structured-data validation — and returns a deterministic score (same site → same number), reproducible enough to put in a client report. Think of it as the instrument and the LLM as the analyst that interprets the readout — the two work best together.

Related MCP server: foglift-mcp

What you get

  • audit_site(url, depth=1, lang="ru") — one call returns:

    • health score 0–100 (higher is better) and a letter grade A–F;

    • issues grouped by category (security, SEO & indexing, performance, GEO, …), each with status pass / warn / fail;

    • a short human-readable summary.

  • audit_diff(url, lang="ru") — re-audits a site and compares it to the previous run: health/score delta and which checks got worse or better. The first call stores a baseline. This is something a one-off LLM question can't do — track a site over time. Stateful PRO feature (needs an API key).

  • list_checks(lang="ru") — the full catalogue of engine checks grouped by category, with a free / PRO badge on each — so you (and the agent) can see exactly what the free tier covers and what PRO unlocks.

  • explain_issue(check_id, lang="ru") — a deep-dive on a single check: why it matters and how to fix it. Pass a check_id from audit_site or list_checks. Title and category are localized; detailed advice is currently in Russian (the advice_lang field reports this).

  • validate_robots(content, lang="ru") — paste a robots.txt and get back syntax issues, whether a Sitemap: directive is present, whether CSS/JS is blocked from render bots, and which AI crawlers (GPTBot, ClaudeBot, …) are explicitly blocked. No fetch — validates the text you provide.

  • check_sitemap(url, lang="ru") — fetches a sitemap by URL and reports its format (urlset / sitemapindex), URL count and common problems (404, non-XML content type, http:// links, missing <lastmod>, the 50k-per-file limit). The fetch is SSRF-guarded on the server.

  • build_jsonld(type, fields, lang="ru") — generates a ready-to-paste schema.org JSON-LD <script> (Organization, LocalBusiness, Article, Product, FAQPage, BreadcrumbList, WebSite) and tells you which required/recommended fields are missing. It never invents data — only what you pass in.

  • build_meta(fields, lang="ru") — generates <head> meta tags (title, description, canonical, Open Graph, Twitter Card) and validates the title (50–60 chars) and description (120–160 chars) lengths.

Free vs PRO

Free (no key)

PRO (with API key)

Checks

core technical basics

40+ deeper checks (E-E-A-T, Schema.org, Goldmine title)

GEO

4 GEO signals

GEO readiness sub-score + deep GEO checks

Crawl

single page

deep-crawl up to 20 pages (depth=2/3)

The audit engine itself stays on the server — this package is a thin client (HTTP calls + formatting only).

Install

uvx atomno-mcp-seo-audit

Or add to your MCP client config (mcp.json):

{
  "mcpServers": {
    "seo-audit": {
      "command": "uvx",
      "args": ["atomno-mcp-seo-audit"]
    }
  }
}

Configuration

All via environment variables:

Variable

Default

Purpose

DETAILWEB_API_BASE

https://api.detailweb.ru

Backend base URL

DETAILWEB_API_KEY

PRO key (dwa_...). Without it → free tier

DETAILWEB_TIMEOUT

60

HTTP timeout (seconds)

DETAILWEB_LANG

ru

Default issue-title language (ru / en)

The free tier needs no key and no signup — just run the command above. The PRO tier (40+ deeper checks, GEO sub-score, deep-crawl, audit_diff) is currently provisioned on request: email kir@detailweb.ru or reach out via audit.detailweb.ru. Once your account is active you create keys yourself in Dashboard → Account → API keys (dwa_…, shown once) and put the key in DETAILWEB_API_KEY.

Example

"Audit https://example.com"

The agent calls audit_site("https://example.com") and gets back the health score, grade and the list of issues to fix.

License

MIT © atomno-mcp. The open-source client talks to a proprietary hosted backend.


🇷🇺 На русском

MCP-сервер технического SEO-аудита на движке detail.web. Запускайте аудит прямо из ИИ-агента (Cursor, Claude Desktop и любой MCP-клиент): health-score, проблемы по 8 категориям и GEO-суб-балл (видимость в ИИ-поиске — ChatGPT, Perplexity, AI Overviews).

Зачем в связке с нейросетью. Языковая модель сама по себе судит о сайте по обучающим данным и в лучшем случае по одной отрисованной странице — она не прочитает напрямую срок SSL-сертификата, не измерит время ответа, не распарсит sitemap.xml и не проверит, заблокирован ли GPTBot в robots.txt. Этот сервер выполняет такие проверки по-настоящему: HTTP-запросы, заголовки, редиректы, микроразметка — и даёт детерминированный score (тот же сайт → то же число), пригодный для отчёта клиенту. Это прибор, а нейросеть — аналитик, который читает показания. Лучше всего работает связка.

Инструменты: audit_site (аудит + score + GEO), audit_diff (что изменилось с прошлой проверки — stateful PRO), list_checks (каталог проверок free/PRO), explain_issue (почему важно + как исправить), validate_robots, check_sitemap, build_jsonld, build_meta.

Установка:

uvx atomno-mcp-seo-audit

В конфиге MCP-клиента (mcp.json):

{
  "mcpServers": {
    "seo-audit": {
      "command": "uvx",
      "args": ["atomno-mcp-seo-audit"],
      "env": { "DETAILWEB_LANG": "ru" }
    }
  }
}

Бесплатный тариф (базовые проверки, одна страница) работает сразу, без ключа и регистрации. PRO-режим (40+ глубоких проверок, GEO-суб-балл, deep-crawl до 20 страниц, audit_diff) пока выдаём по запросу: напишите на kir@detailweb.ru или через audit.detailweb.ru. После активации аккаунта ключ (dwa_…) создаётся в кабинете → Аккаунт → API-ключи (показывается один раз) и подставляется в DETAILWEB_API_KEY в env. Полное описание инструментов и настроек — в английской версии выше.

Available Tools

8 tools
audit_diffA

Сравнить сайт с прошлой проверкой: что улучшилось, что деградировало.

Прогоняет свежий аудит и сопоставляет с предыдущим сохранённым снимком того же URL: дельта health/score и какие именно проверки стали хуже/лучше. Это то, чего разовый вопрос к LLM не умеет — отслеживание сайта во времени. Первый вызов сохраняет базовую точку (сравнивать ещё не с чем). Stateful PRO-функция: нужен DETAILWEB_API_KEY — без него available=false и подсказка про PRO.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesПолный URL сайта, например https://example.ru
langNoЯзык заголовков: 'ru' или 'en'.ru

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden and discloses key behaviors: stateful operation, need for API key, PRO function status, and the delta comparison process. No contradictions.

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?

The description is concise and front-loaded with the main purpose. It could be slightly more structured, but it efficiently conveys essential details without verbosity.

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?

Given the existence of an output schema, the description adequately covers purpose, statefulness, and prerequisites. It lacks explicit mention of storage limits or comparison scope, but overall is complete for the tool's complexity.

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%, providing complete parameter documentation. The tool description adds no additional semantics beyond what the schema already provides, warranting the baseline score of 3.

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 clearly states the tool compares a site with a past audit to show improvements and degradations. It distinguishes itself from sibling tool 'audit_site' by emphasizing temporal tracking as a unique capability.

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?

The description explains when to use the tool (tracking changes over time) and mentions prerequisites (API key, baseline creation on first call). However, it lacks explicit guidance on when not to use it or direct alternatives.

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

audit_siteA

Прогнать технический SEO-аудит сайта — реальными измерениями, не догадкой.

Делает настоящие HTTP-запросы и проверяет факты, которые языковая модель не может узнать «из головы»: срок SSL-сертификата, security-заголовки (HSTS, защита от clickjacking), redirect-chain, robots.txt/sitemap.xml, микроразметку, доступ ИИ-краулеров. Возвращает ДЕТЕРМИНИРОВАННЫЙ health-score (0-100, выше = лучше) — тот же сайт даёт то же число, — буквенную оценку, список проблем по категориям и (для PRO) GEO-суб-балл. Без ключа — free-тариф. Используй, чтобы получить твёрдые факты, а затем объясни их пользователю.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesПолный URL сайта, например https://example.ru
langNoЯзык заголовков проверок: 'ru' или 'en'.ru
depthNoГлубина: 1=одна страница, 2=≈8 стр, 3=≈20 стр (deep — только PRO).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: real HTTP requests, deterministic health score, free tier without key. It details what's checked and the return format, providing transparency about the tool's operation and side effects.

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?

The description is well-structured with a clear summary first, then details. It is detailed but not overly verbose. Every sentence adds value, though it could be slightly more concise.

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?

Given the tool's complexity (multiple checks, health score, PRO features), the description covers essential aspects: real HTTP requests, deterministic output, free tier, and outputs. It mentions PRO geo sub-score but doesn't detail PRO fully. With an output schema present, completeness is adequate.

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 coverage is 100%, so baseline is 3. The description adds minimal extra context beyond schema (e.g., explaining depth values in prose). It does not add significant parameter-level meaning that the schema lacks.

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 clearly states the tool performs a technical SEO audit with real HTTP requests, listing specific checks (SSL, security headers, redirects, etc.) and outputs like health score, problems list. It distinguishes itself from sibling tools like audit_diff or check_sitemap by being the comprehensive audit tool.

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?

The description implies when to use (to get factual data the model can't guess) and mentions free tier. However, it lacks explicit when-not-to-use or direct comparison with alternatives like check_sitemap or validate_robots, which slightly reduces clarity for an agent deciding between tools.

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

build_jsonldA

Сгенерировать готовый блок JSON-LD schema.org из переданных полей.

Не выдумывает данные — кладёт только то, что передали, и подсказывает, каких обязательных/рекомендованных полей не хватает. Возвращает готовый .

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoЯзык сообщений: 'ru' или 'en'.ru
typeYesТип schema.org: Organization, LocalBusiness, Article, Product, FAQPage, BreadcrumbList, WebSite.
fieldsYesПоля схемы. Для FAQPage — faq=[{question, answer}]; для BreadcrumbList — items=[{name, url}].

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses that it returns a <script> tag, validates required fields, and avoids data invention. This sufficiently reveals core behavior.

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?

The description is two concise sentences. The first sentence states the purpose, the second adds behavioral constraints and output format. No wasted words.

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?

Given output schema exists externally, the description covers generation behavior, validation, and output format adequately. It lacks error details but is complete for typical usage.

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 coverage is 100%, but the description adds value by explaining special field structures for FAQPage (faq array) and BreadcrumbList (items array), enhancing understanding beyond schema descriptions.

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 clearly states the tool generates a ready JSON-LD schema.org block from passed fields, distinguishing it from siblings like build_meta or check_sitemap which handle different metadata tasks.

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?

The description explains that the tool only uses passed data, doesn't invent, and hints about missing required/recommended fields. It doesn't explicitly state when not to use it, but the context is clear.

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

build_metaA

Сгенерировать -мета-теги (title, description, canonical, Open Graph, Twitter Card) и проверить длины title (50–60) и description (120–160). Возвращает готовый блок тегов.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoЯзык сообщений: 'ru' или 'en'.ru
fieldsYestitle, description, url (canonical), image (og 1200×630), site_name, type, twitter_card, locale.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description covers the generative and validation behavior, but does not mention side effects, prerequisites, or error handling.

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?

Two concise sentences with all essential information, no superfluous content.

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?

The description is complete for a simple generation tool with output schema; it explains purpose, validation, and output.

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?

Adds value beyond the schema by specifying length checks (title 50–60, description 120–160) and that it returns a ready block; schema already covers field keys and lang options.

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 clearly states the tool generates <head> meta tags (title, description, canonical, Open Graph, Twitter Card) and validates lengths, distinguishing it from sibling tools like build_jsonld or audit_site.

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?

No explicit when or when-not guidance is provided; usage context is implied but not delineated against alternatives.

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

check_sitemapA

Скачать и разобрать sitemap по URL: формат (urlset/index), число URL и частые проблемы (404, не-XML, http-ссылки, отсутствие lastmod, превышение лимита 50 000). Фетч защищён от SSRF на стороне сервера.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL карты сайта, например https://example.ru/sitemap.xml
langNoЯзык сообщений: 'ru' или 'en'.ru

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It describes the tool's behavior: downloading, parsing, checking for specific issues, and SSRF protection. It does not mention authentication or error handling but is fairly comprehensive for a sitemap checker.

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?

Two sentences, front-loaded with the main action, no wasted words. The first sentence packs essential details, the second adds a relevant security note.

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?

Given the tool's simplicity (2 params) and presence of an output schema, the description covers all necessary aspects: download, parse, check issues. No critical gaps identified.

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 coverage is 100% with both parameters described. The description adds context beyond the schema by explaining what the tool does with the URL and providing an example format. This adds meaningful value.

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 clearly states the tool downloads and parses a sitemap, identifies format and URL count, and checks for common issues like 404, non-XML, http links, missing lastmod, and exceeding 50,000 limit. It also mentions SSRF protection. This distinguishes it from sibling tools like validate_robots.

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 description implies usage for checking sitemaps but does not explicitly state when to use versus alternatives or provide exclusions. Context is clear but lacks explicit guidance.

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

explain_issueA

Подробно объяснить одну проверку: почему она важна и как её исправить.

Принимает check_id из результата audit_site/list_checks. Заголовок и категория локализуются; развёрнутые советы пока на русском (поле advice_lang это сообщает). Для неизвестного id — found=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoЯзык метаданных: 'ru' или 'en'.ru
check_idYesID проверки (из audit_site или list_checks), например 'hsts', 'title_quality'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, description carries full burden. It discloses that title/category are localized, advice currently in Russian (advice_lang field), and behavior for unknown id (found=false). This is adequate behavioral context.

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?

Three sentences, front-loaded with main purpose, no wasted words. Each sentence adds distinct information: purpose, input source, behavior details.

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 output schema present (context signal), description doesn't need return values. It covers input, localization, error case. Complete for a simple explanation tool.

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 coverage is 100%, so baseline 3. Description adds that check_id comes from audit_site/list_checks and gives example 'hsts', but lang parameter is already well-specified in schema. Minor added value.

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?

Description clearly states it explains one check (why important and how to fix), specifies input source (check_id from audit_site/list_checks), and distinguishes from siblings like list_checks which lists checks.

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?

Explicitly says when to use (after audit_site or list_checks) and what check_id to provide. Does not mention alternatives but purpose is narrow enough that no further guidance is needed.

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

list_checksA

Список всех проверок движка с разбивкой free/PRO по категориям.

Помогает понять, что входит в бесплатный тариф, а что — только в PRO, и какие категории покрывает движок (security, SEO, GEO, E-E-A-T и т.д.).

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoЯзык заголовков: 'ru' или 'en'.ru

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the read-only nature (listing) and the parameter but does not mention any behavioral traits such as rate limits, authentication, or data freshness. For a simple list, it is adequate but not fully transparent.

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?

Two concise sentences, each adding value: first states the action, second explains the benefit. No unnecessary words or redundancy.

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?

Given the tool has an output schema, the description does not need to explain return values. It fully covers the tool's purpose and scope with one optional parameter, making it complete for an agent to understand.

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?

The input schema has full coverage (100%) for the single parameter 'lang', with a clear description and default value. The tool description does not add any extra parameter information beyond what the schema already provides, so baseline score of 3 is appropriate.

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 clearly states it lists all engine checks with free/PRO breakdown by categories. It specifies the purpose of understanding which checks are free vs PRO and which categories are covered (security, SEO, etc.). This distinguishes it from sibling tools like audit_site or check_sitemap.

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?

The description provides clear context on when to use this tool: to understand free/PRO coverage and categories. However, it does not explicitly state when not to use it or mention alternative tools for specific needs.

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

validate_robotsA

Проверить содержимое robots.txt: синтаксис, sitemap-директива, блокировка CSS/JS от рендер-ботов и явные запреты ИИ-краулеров (GPTBot, ClaudeBot и т.д.).

Передайте текст файла — фетч не выполняется, проверка локальная на бэкенде.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoЯзык сообщений: 'ru' или 'en'.ru
contentYesСодержимое файла robots.txt (вставьте текст целиком).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations are absent, so the description carries full burden. It discloses that validation is local, no fetch is executed, and lists specific checks. No contradictions. It does not mention auth needs or rate limits, but those are irrelevant for a local validation tool.

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?

Two sentences, no waste. First sentence lists all checks performed; second clarifies operational details. Front-loaded with purpose.

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?

Given the tool's complexity and presence of output schema, the description covers the key aspects: what is checked, that it's local, and parameters. Slightly lacks integration with sibling differentiation, but adequate.

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 coverage is 100%; both parameters are described. The description adds 'вставьте текст целиком' (paste the entire text) for the content parameter, which adds clarity beyond the schema. Baseline 3 with slight improvement.

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 states the tool validates robots.txt content for syntax, sitemap directive, blocking CSS/JS from render bots, and explicit disallowances for AI crawlers. It clearly identifies the resource (robots.txt) and the action (validate), and distinguishes from siblings like check_sitemap or audit_site.

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?

The description says to pass the file text and emphasizes that no fetch is performed; validation is local. This implies when to use (when you have raw content). It does not explicitly list when not to use or name alternatives, but the sibling tools provide context.

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

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct aspect of SEO: full audit, diff comparison, sitemap/robots checks, meta/schema generation, and issue explanation. No overlapping purposes.

Naming Consistency5/5

All tools follow a clear verb_noun pattern in snake_case (e.g., audit_site, check_sitemap, build_meta), making them predictable and easy to distinguish.

Tool Count5/5

With 8 tools, the server covers core SEO audit functionality without being overwhelming or too sparse. Each tool earns its place.

Completeness4/5

The tool set covers the main lifecycle of SEO auditing: running audits, checking specific files, generating meta/schema, and explaining issues. Minor gaps like page speed or mobile checks exist but are not essential for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    MCP server that enables AI agents to perform comprehensive web audits using Google Lighthouse with 13+ tools for performance, accessibility, SEO, and security analysis.
    11
    1,186
    67
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    MCP server for website SEO + GEO analysis. Scan any URL to get scores across 5 categories (SEO, GEO, Performance, Security, Accessibility) with actionable fix recommendations. Enables AI coding assistants to audit websites and implement fixes autonomously.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to perform comprehensive SEO audits on web pages, including meta tags, headings, links, images, performance, and more, via a CLI or MCP server.
    18
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that lets an AI agent audit a page for SEO and GEO — on-page tags, structured data, robots.txt, sitemaps, hreflang, and whether ChatGPT, Claude, Perplexity and Gemini can actually crawl and cite you. No API keys required.
    17
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atomno-mcp/mcp-seo-audit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server