XMLRiver MCP Toolkit
Поисковая выдача Google и Яндекса, частотность запросов Wordstat и проверка позиций сайта — прямо в вашем AI-помощнике.
Подключите инструмент к Claude, Codex или Cursor и ставьте задачи обычным языком. Помощник обратится к XMLRiver и вернёт данные: запросы, частотности, позиции и ссылки. Для массового съёма позиций есть отдельные команды с сохранением результатов в файлы.
Это независимый проект, не официальный продукт XMLRiver. Для работы нужен собственный аккаунт XMLRiver.
Что умеет
| Задача | Что получите |
|---|---|
| Подобрать запросы в Wordstat | Расширения исходной фразы с частотностью; по желанию — похожие запросы |
| Посмотреть динамику спроса | Данные Wordstat за выбранный период |
| Собрать выдачу | Ссылки и заголовки результатов Google или Яндекса для нужного региона и устройства |
| Найти сайт в выдаче | Все найденные вхождения домена и их позиции среди органических результатов |
| Снять позиции по списку фраз | Результаты, история прогонов и обновлённый CSV |
| Сравнить регионы | Выдача по каждой связке «фраза × регион × поисковик» и совпадения с ожидаемыми доменами |
| Проверить счёт | Баланс XMLRiver и стоимость запросов для Google и Яндекса |
Что нужно для начала
- Зарегистрируйтесь на xmlriver.com и пополните баланс.
- Возьмите в кабинете XMLRiver свой user и key. Они есть в примере адреса API-запроса:
user=...иkey=.... - Установите uv — небольшую программу, которая скачает и запустит этот инструмент.
- Подключите сервер в своём AI-помощнике по инструкции ниже.
Ключи XMLRiver — личные. Не отправляйте их в чат и не выкладывайте в GitHub.
Подключение к Claude и Cursor
MCP — способ подключить внешний инструмент к AI-помощнику. После подключения помощник сможет сам запрашивать данные XMLRiver.
Откройте файл настроек MCP:
- Claude Desktop: Settings → Developer → Edit Config.
- Claude Code: файл
.mcp.jsonв папке вашего проекта. - Cursor: файл
.cursor/mcp.jsonв папке проекта.
Добавьте запись ниже. Замените ВАШ_USER и ВАШ_KEY своими значениями из XMLRiver.
Если в файле уже есть другие серверы, добавьте только блок xmlriver внутрь существующего mcpServers.
{
"mcpServers": {
"xmlriver": {
"command": "uvx",
"args": ["--from", "xmlriver-mcp-toolkit==0.1.0", "xmlriver-mcp"],
"env": {
"XMLRIVER_USER": "ВАШ_USER",
"XMLRIVER_KEY": "ВАШ_KEY"
}
}
}
}
Сохраните файл и перезапустите помощника. При первом запуске uvx скачает пакет.
Если помощник не находит uvx, укажите полный путь к нему в поле command.
В Windows узнать путь можно командой where.exe uvx.
Подключение к Codex
Добавьте в файл ~/.codex/config.toml (в Windows — %USERPROFILE%\.codex\config.toml):
[mcp_servers.xmlriver]
command = "uvx"
args = ["--from", "xmlriver-mcp-toolkit==0.1.0", "xmlriver-mcp"]
[mcp_servers.xmlriver.env]
XMLRIVER_USER = "ВАШ_USER"
XMLRIVER_KEY = "ВАШ_KEY"
Замените значения ключей, сохраните файл и начните новую сессию Codex.
Что попросить у помощника
Начните с простого:
Проверь баланс XMLRiver.
Затем попробуйте SEO-задачи:
Через Wordstat подбери 50 расширений запроса «кофемашина для дома» по Москве. Оставь запросы с частотностью от 100. Похожие запросы не добавляй.
Посмотри динамику спроса по запросу «купить велосипед» с 01.01.2026 по 31.03.2026.
Собери первые три страницы выдачи Google по запросу «ремонт кофемашин» в Москве для мобильных устройств. Покажи ссылки и позиции example.org.
Покажи выдачу Яндекса по запросу «доставка цветов» в Санкт-Петербурге. Регион 2, устройство — компьютер, одна страница.
Если помощник просит выбрать инструмент, используются четыре названия:
get_balance, wordstat_top, wordstat_history, serp.
Массовая проверка позиций
Для десятков и сотен запросов удобнее запускать сбор командой. Результат сохранится в файлы, и его можно будет перенести в исходную таблицу.
1. Установите пакет:
uv tool install xmlriver-mcp-toolkit==0.1.0
2. Задайте ключи для текущего окна терминала. В Windows PowerShell:
$env:XMLRIVER_USER = "ВАШ_USER"
$env:XMLRIVER_KEY = "ВАШ_KEY"
В macOS или Linux:
export XMLRIVER_USER="ВАШ_USER"
export XMLRIVER_KEY="ВАШ_KEY"
3. Подготовьте CSV с запросами. Например, keywords.csv:
phrase
кофемашина для дома
купить кофемашину
ремонт кофемашин
4. Рядом создайте файл positions.yaml:
target_domain: example.org
include_subdomains: true
csv: keywords.csv
column: phrase
depth: 50
max_attempts: 100
engines:
- name: yandex
region: 213
device: mobile
- name: google
region: 1011969
device: mobile
Замените example.org своим доменом. Здесь заданы Москва, мобильная выдача и пять страниц на запрос.
include_subdomains: true включает поддомены сайта.
max_attempts: 100 ограничивает общее число HTTP-попыток, включая повторы после ошибок.
5. Посмотрите объём задания без списаний:
xmlriver positions run --config positions.yaml --dry-run
6. Запустите сбор:
xmlriver positions run --config positions.yaml
Рядом с конфигурацией появится папка xmlriver-data с результатами и историей.
Команда напечатает run_id — идентификатор прогона. Чтобы добавить позиции в CSV:
xmlriver positions update-csv --config positions.yaml --run ВАШ_RUN_ID
Исходные колонки и порядок строк сохраняются. Перед обновлением создаётся резервная копия. Для Яндекса и Google записываются отдельные даты съёма.
Проверка по регионам
В примере конфигурации есть блок regions. Добавьте нужные города,
их ID в Яндексе и Google, а в expected_hosts — домены, которые ожидаете увидеть в выдаче.
xmlriver regions validate --config positions.yaml
xmlriver regions run --config positions.yaml --dry-run
xmlriver regions run --config positions.yaml
Google-регионы сверяются со справочником XMLRiver. Проверка Яндекс-региона делает запрос «погода»
и ищет признаки города в выдаче: это подсказка для проверки настройки, а не гарантия.
Чтобы заново скачать справочник Google, добавьте к regions validate параметр --refresh.
Расходы и особенности данных
- Запросы оплачиваются с вашего баланса XMLRiver. Сам пакет бесплатный.
- Одна страница выдачи — отдельный запрос к сервису. Больше страниц, фраз и регионов — больше запросов.
- Можно запросить от 1 до 10 страниц. Страница может содержать меньше 10 органических результатов, поэтому пять страниц не гарантируют 50 ссылок.
- Позиция — номер органического результата в полученной последовательности. Рекламные блоки в этот номер не входят.
- Повтор после сетевой ошибки тоже может привести к списанию. Счётчик попыток и оценка расходов не заменяют данные кабинета XMLRiver.
- Результаты массового съёма хранятся в кэше 24 часа. Повторный запуск с теми же параметрами использует их. Для нового съёма добавьте
--refresh. --dry-runне обращается к API и ничего не записывает. Команды проверки баланса и регионов обращаются к сети.- В Wordstat по умолчанию используются Москва и все устройства; в SERP — Москва и мобильные устройства.
Если в результате указана неизвестная стоимость (null), тариф не задан или не получен. Это не означает бесплатный сбор.
Если что-то не работает
- Не удаётся запустить сервер: проверьте установку
uvи путь кuvx, затем перезапустите помощника. - Ошибка авторизации: проверьте
XMLRIVER_USERиXMLRIVER_KEYв настройках. - Недостаточно средств: пополните баланс XMLRiver.
- Неверный регион: у Яндекса и Google разные справочники ID. Справочник Google.
- Не принимается период Wordstat: даты должны быть в формате
дд.мм.гггг; ограничения на длительность периода описаны в документации XMLRiver.
Сообщить об ошибке можно в Issues. Укажите команду и текст ошибки, удалив ключи и другие личные данные.
Лицензия MIT. Для разработчиков: CONTRIBUTING.md.
Metadata
Release files for xmlriver-mcp-toolkit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xmlriver_mcp_toolkit-0.1.0.tar.gz | 121.8 kB | With provenance | Details for xmlriver_mcp_toolkit-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xmlriver_mcp_toolkit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for xmlriver_mcp_toolkit-0.1.0-py3-none-any.whl |
Total release size: 148.0 kB
Release files / xmlriver_mcp_toolkit-0.1.0.tar.gz
| Download URL | xmlriver_mcp_toolkit-0.1.0.tar.gz |
|---|---|
| Size | 121.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca83b315ac71a6c12d981e41300cc513f7c8b3ae5937ae81e025279b7b3c98ec
|
|
BLAKE2b-256 checksum How to use checksums |
16dbe6b5938dd6ec847d858a4a487e459a7e8e2ca11b49920036c6f1cc62e747
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logRelease files / xmlriver_mcp_toolkit-0.1.0-py3-none-any.whl
| Download URL | xmlriver_mcp_toolkit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 26.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e702c20390fe6506f3719975d5ac778765c45564c69564f90c6e6eeec3a9a949
|
|
BLAKE2b-256 checksum How to use checksums |
4a143479c60baace5fa6c713fea1d7eedc9a001d6402c9759bbe65a37284bd78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logSecurity for xmlriver-mcp-toolkit 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for xmlriver_mcp_toolkit-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.