Skip to main content
Glama
antohins

seo-tools-mcp

by antohins

xmlstock_serp

Fetch Google and Yandex SERP snapshots with organic positions, snippets, and SERP features like featured snippets and PAA. Supports region, device, and engine selection; paid per query.

Instructions

Слепок выдачи Google/Yandex через XMLStock (ПЛАТНО за запрос). Возвращает { found, truncated (true = выдача кончилась раньше запрошенного depth), count, results: [{ position, url, title, snippet, text_bolds (подсветки hlword) }], serp_features: { featured_snippet, paa (только Google), related, sitelinks_top1, packs } }. Пустая выдача (код 15) ТАРИФИЦИРУЕТСЯ и помечается { results: [], empty: true, note }. depth>10 добирается пагинацией (каждая страница — отдельный платный запрос; у yandex_xml — до 100/страница). region: ОДИН регион (название или числовой id Яндекса) — работает для ВСЕХ движков. ОГРАНИЧЕНИЕ ИСТОЧНИКА: device=mobile отдаёт только позиции и сниппеты — без hlword/PAA/related; подсветки и SERP-фичи снимать с desktop. engine=yandex_xml — ОФИЦИАЛЬНЫЙ Яндекс XML (легальный API, тариф дороже: от 24 ₽/1000): groupby до 100 работает — до 100 результатов за ОДИН платный запрос (depth до 1000), hlword-подсветки на любых устройствах, статистика «найдено»: found (по запросу), found_docs (документов), found_human (строкой); в results доп. поля id/modtime/saved_copy_url/is_local. Отличие от yandex (live): SERP-фичей/packs нет — чистая органика; device/searchDomain/lang/l10n/period/exactQuery/includeAds/includeSimilar не применимы; safeSearch маппится в filter (strict/moderate/none).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
l10nNoYandex: язык уведомлений
langNoGoogle hl (язык интерфейса), Yandex lang
depthNoСколько органических позиций собрать: google/yandex — до 30 (10/страница), yandex_xml — до 1000 (100/страница)
queryYes
deviceNodesktop
engineNogoogle
periodNoGoogle tbs (qdr:m, qdr:y...) / Yandex within (77=сутки, 1=2 недели, 2=месяц)
regionNo«Москва»/«Россия»/213/225 — ОДИН регион (название или id Яндекса), XMLStock маппит и на GoogleМосква
sortbyNoYandex/yandex_xml: сортировка выдачи (rlv / tm — по дате)relevance
accountNoАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
exactQueryNoНе исправлять запрос (nfpr=1 / noreask=1)
includeAdsNoДобавить рекламные блоки (ads=1): реклама включается в ответ API и отражается строками в packs, отдельной секции нет
safeSearchNoБезопасный поиск: Google — moderate = дефолт Google (размытие, параметр в API НЕ шлётся), strict = фильтр (safe=on), off = выкл (safe=off); Yandex и yandex_xml — семейный фильтр filter (moderate/strict/none)moderate
maxpassagesNoYandex/yandex_xml: сколько пассажей-сниппетов на документ (1–5)
searchDomainNoДоменная зона: google — ru/com/de..., yandex — ru/by/kz/com.tr (по умолчанию ru)
includeSimilarNoGoogle: показать скрытые похожие результаты (filter=0)
excludeAggregatorsNoИсключить домены-агрегаторы из органики (список — XMLSTOCK_EXCLUDE_DOMAINS, дефолт: avito/cian/domclick/yandex/m2/youla)
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 does an excellent job: it discloses that each request is paid, empty results are still billed, depth>10 is paginated with each page as a separate paid request, and device=mobile restricts returned fields. It also reveals the mapping of safeSearch to filter and the behavioral differences of yandex_xml (no SERP features, additional result fields).

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 long but information-dense; every clause contributes operational details (pricing, limits, field behavior, parameter applicability). It is structured with semicolons and logical groups, though one paragraph is a bit sprawling. Given the complexity, the length is justified, but a tighter organization with bullet points could improve scannability.

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 tool is complex (3 engines, 17 params, pagination, cost implications, fields differences), and the description covers all critical aspects without an output schema: it explains the full return structure, empty-result behavior, pagination, device restrictions, yandex_xml-specific fields, and parameter mappings. This is complete enough for an agent to use the tool effectively.

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?

Even though schema description coverage is 82%, the description adds critical semantics beyond the schema: depth is explained in terms of pagination and per-engine limits (up to 30 for google/yandex, 1000 for yandex_xml), region works for all engines and maps Yandex IDs, and safeSearch's off/moderate/strict maps to different underlying parameters. It also clarifies that engine=yandex_xml changes the meaning of multiple parameters (device, searchDomain, etc.) making them not applicable.

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 begins with a specific verb+resource: 'Слепок выдачи Google/Yandex через XMLStock' (snapshot of Google/Yandex results via XMLStock), clearly stating the tool's purpose. The detailed return structure and mention of engine variants (google/yandex/yandex_xml) distinguish it from sibling tools like xmlstock_images, xmlstock_news, and xmlstock_video.

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 usage context, including when to prefer yandex_xml (official API, up to 100 results per paid request) over the live yandex engine, and explains that SERP features/packs are absent in yandex_xml. It also notes device=mobile limitations and lists parameters that are not applicable in certain modes. However, it does not explicitly contrast with sibling tools for non-SERP searches, so it stops short of full alternative guidance.

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

Install Server

Other Tools

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/antohins/seo-tools-mcp'

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