Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SEO Tools: A-Parser bridge

NPM · SEO-TOOLS-MCP-APARSER · SCANNED AUG 16

Bridge to a self-hosted A-Parser: SERP, suggests and 150+ parsers via its API (read-only).

+7 this week 73 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 7 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2592 tokens (~199/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management40
  • Stability observed for 12 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage93
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 79% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · seo-tools-mcp-aparser

# add to Claude Code
claude mcp add antohins-seo-tools-mcp-aparser -- npx -y seo-tools-mcp-aparser
# add to Codex CLI
codex mcp add antohins-seo-tools-mcp-aparser -- npx -y seo-tools-mcp-aparser
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "antohins-seo-tools-mcp-aparser": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "seo-tools-mcp-aparser"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add antohins-seo-tools-mcp-aparser --command npx --arg -y --arg seo-tools-mcp-aparser
# ~/.hermes/config.yaml
mcp_servers:
  antohins-seo-tools-mcp-aparser:
    command: "npx"
    args: ["-y", "seo-tools-mcp-aparser"]
// mcp.json
{
  "mcpServers": {
    "antohins-seo-tools-mcp-aparser": {
      "command": "npx",
      "args": [
        "-y",
        "seo-tools-mcp-aparser"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 16 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Aug 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 10 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 9 Aug 26 0
    • Package version: 1.5.1 → 1.7.0 functional
  • 8 Aug 26 +27
    • Tool coverage: unverified → 100 functional
    • Stability: unverified → 0.13 functional
    • MCP protocol: unverified → pass functional
    • Package version: 1.4.0 → 1.7.0 functional
    • Package version: 1.4.0 → 1.5.1 functional
  • 7 Aug 26 −21
    • Known CVEs: partial → pass security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
    • Security disclosure: fail → pass functional
    • First check of Schema quality: unverified functional
    • Dependency health: partial → 0.85 functional
    • Package version: 1.4.0 → 1.5.1 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 16 Aug 2026 · Analysed npm/seo-tools-mcp-aparser@1.7.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 96 packages
Packages resolved 96
Stale 30
Tree resolution Complete
MCP tools · 13 exposed · ~2,592 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
aparser_auth_status ~74

Статус авторизации aparser: какие ключи заданы (маскированно), каких не хватает, как их получить. ВЫЗЫВАТЬ ПЕРВЫМ в начале работы с aparser. Если чего-то нет — запросить значения у пользователя и сохранить через aparser_set_credentials.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

aparser_bulk_request ~280

Пакетный синхронный запрос: один парсер, много запросов в несколько потоков (метод bulkRequest). Синхронно — держите объём разумным (лимит 200 запросов). Один HTTP-вызов до 120 с БЕЗ ретраев: при таймауте уменьшите число queries или threads и повторите — сам запрос при этом мог выполниться на инстансе. raw=true: для SE::Google/SE::Yandex результаты нормализуются ({ serp, related, ads, success, … }), для остальных парсеров отдаются как есть; raw=false — resultString пресета. count < requested — часть запросов не выполнена (см. note в ответе). Для больших выгрузок нужна очередь задач (кандидат в v2).

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
optionsarrayOverride-опции A-Parser (массив), прокидываются как есть
parserstringyes
presetstring
queriesarrayyesСписок запросов (до 200 за вызов)
rawboolean
threadsinteger

No output schema declared.

No examples provided.

aparser_get_preset ~168

Прочитать опции готового config-пресета парсера (метод getParserPreset): useproxy, домен, hl/gl, device, выбор прокси-чекеров и т.д. Помогает переиспользовать/подправить существующую настройку. preset по умолчанию — default. Значения чувствительных опций (pass|key|token|secret) маскируются.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
parserstringyesИдентификатор парсера, напр. SE::Google
presetstringИмя пресета из GUI (по умолчанию default)

No output schema declared.

No examples provided.

aparser_parser_fields ~130

Какие поля результата умеет вернуть парсер (метод getParserInfo): flat-поля (напр. query) и array-поля (напр. serp, ads, related). Используйте, чтобы понять структуру перед aparser_request с произвольным парсером.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
parserstringyesИдентификатор парсера, напр. SE::Google, SE::Yandex::Wordstat, Net::HTTP

No output schema declared.

No examples provided.

aparser_parsers ~74

Список парсеров, установленных на инстансе A-Parser (из метода info). Полезно перед aparser_request/aparser_parser_fields.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной

No output schema declared.

No examples provided.

aparser_ping ~70

Проверка связи с A-Parser и пароля API (метод ping). Быстрый способ убедиться, что инстанс доступен.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной

No output schema declared.

No examples provided.

aparser_proxies ~165

Живые (проверенные) прокси на инстансе A-Parser (метод getProxies). checkers — имена прокси-пачек (proxy checkers); без них — по всем пачкам. Возвращает { count, byType, truncated, proxies:[{address,type}] }: count — полное число живых, список обрезан до 100 (truncated=true). Логины/пароли прокси НЕ выводятся.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
checkersarrayИмена прокси-пачек (proxy checkers). Пусто = все пачки.

No output schema declared.

No examples provided.

aparser_request ~288

Универсальный синхронный запрос к любому парсеру A-Parser (метод oneRequest). Для парсеров, под которые нет типизированного инструмента. options — массив override-опций A-Parser (как есть). raw=true (по умолчанию) → структурированный результат; false → форматированная строка пресета. Env-дефолты serp-инструментов (APARSER_*_PRESET, APARSER_PROXY_CHECKERS, APARSER_USE_PROXY) тут НЕ действуют — пресет и опции задаются только параметрами вызова. results_present=false (raw=true) — API вернул success без results (битый ответ, см. note). Структуру полей парсера смотрите через aparser_parser_fields.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
optionsarrayOverride-опции A-Parser (массив), прокидываются как есть
parserstringyesИдентификатор парсера, напр. SE::Yandex::Wordstat, Net::HTTP, SE::Bing
presetstring
querystringyes
rawbooleantrue → structured results; false → resultString пресета

No output schema declared.

No examples provided.

aparser_serp_google ~370

Органическая выдача Google через ваш A-Parser (парсер SE::Google, синхронно). Прокси по умолчанию включены + preflight-проверка живых прокси. Возвращает { serp:[{position,url,anchor,snippet,flags}], related, ads, totalcount, success, empty, results_present }. Смотрите success/diagnostic: success=false + diagnostic — капча или выжженные прокси (нужны свежие); empty=true — легитимная пустая выдача; results_present=false — битый ответ API (note с пояснением). Каждая страница pages — отдельный заход к поисковику: pages>1 заметно дольше и быстрее выжигает прокси.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
checkersarrayПрокси-пачки (proxy checkers) на этот запрос; переопределяет пресет (по умолчанию — env APARSER_PROXY_CHECKERS)
domainstringДомен Google (google.com/google.ru…)
glstringСтрана поиска (gl)
hlstringЯзык интерфейса (hl)
pagesintegerСколько страниц выдачи собрать (каждая — отдельный заход, дольше)
presetstringИмя config-пресета из GUI (по умолчанию — из env APARSER_*_PRESET или default)
querystringyes
use_proxybooleanИспользовать прокси (по умолчанию — env APARSER_USE_PROXY, обычно true)

No output schema declared.

No examples provided.

aparser_serp_yandex ~330

Органическая выдача Яндекса через ваш A-Parser (парсер SE::Yandex, синхронно). region — «Москва»/«Россия»/213 (id региона Яндекса, lr). Прокси по умолчанию включены + preflight. Возвращает { serp:[{position,url,anchor,snippet}], related, ads, totalcount, success, empty, results_present }. Смотрите success/diagnostic: success=false + diagnostic — капча или выжженные прокси; empty=true — легитимная пустая выдача; results_present=false — битый ответ API (note с пояснением). pages>1 — дольше и быстрее выжигает прокси.

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
checkersarrayПрокси-пачки (proxy checkers) на этот запрос; переопределяет пресет (по умолчанию — env APARSER_PROXY_CHECKERS)
pagesinteger
presetstringИмя config-пресета из GUI (по умолчанию — из env APARSER_*_PRESET или default)
querystringyes
regionstring«Москва»/«Россия»/213 — id региона Яндекса (lr)
use_proxybooleanИспользовать прокси (по умолчанию — env APARSER_USE_PROXY, обычно true)

No output schema declared.

No examples provided.

aparser_set_credentials ~275

Сохранить ключи aparser в /tmp/.config/seo-tools-mcp/.env (права 600) и применить сразу, без перезапуска сервера. Передавать только обновляемые поля. account — сохранить в именованный профиль (мультиаккаунт). Значения даёт пользователь; в ответе они маскируются.

NameTypeReqDescription
APARSER_GOOGLE_PRESETstringПресет по умолчанию для SE::Google (имя из GUI)
APARSER_PASSWORDstringПароль API A-Parser (Settings → API)
APARSER_PROXY_CHECKERSstringПрокси-пачки по умолчанию (имена чекеров, через запятую)
APARSER_URLstringURL API вашего A-Parser, напр. http://IP:9091/API (Settings → API)
APARSER_USE_PROXYstringИспользовать прокси по умолчанию (true/false)
APARSER_YANDEX_PRESETstringПресет по умолчанию для SE::Yandex
accountstringИмя аккаунта-профиля (мультиаккаунт): ключи сохранятся с суффиксом __<account>

No output schema declared.

No examples provided.

aparser_status ~122

Вердикт готовности A-Parser: версия, число установленных парсеров, очередь/потоки (info) + суммарно живых прокси (getProxies). ready=false, если живых прокси 0 — SERP через прокси работать не будет: поднимите Proxy Checker в GUI (либо serp-инструменты допускают use_proxy=false на свой риск).

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной

No output schema declared.

No examples provided.

aparser_suggest ~246

Поисковые подсказки Google/Яндекса через A-Parser (парсеры SE::Google::Suggest / SE::Yandex::Suggest). Возвращает список фраз. Прокси по умолчанию включены + preflight-проверка живых прокси (suggest тоже банится без них). results_present=false — API вернул success без results (битый ответ, НЕ пустой список подсказок; см. note).

NameTypeReqDescription
accountstringАккаунт-профиль (мультиаккаунт, см. *_auth_status); пусто = основной
checkersarrayПрокси-пачки (proxy checkers) на этот запрос; переопределяет пресет (по умолчанию — env APARSER_PROXY_CHECKERS)
enginestring
presetstringИмя config-пресета из GUI (по умолчанию — из env APARSER_*_PRESET или default)
querystringyes
use_proxybooleanИспользовать прокси (по умолчанию — env APARSER_USE_PROXY, обычно true)

No output schema declared.

No examples provided.