Mutagen (mutagen.ru), unofficial について
Mutagen (mutagen.ru), unofficialは、SEO調査やコンテンツ計画向けの非公式Mutagen SEO API用MCPサーバーです。Wordstatの頻度、競合度、キーワード分類などを扱い、有料呼び出し前の費用見積もりと支出上限を備えています。同じパッケージにはCLIと型付きNode.jsライブラリも含まれます。
主な機能
- 01Wordstatの頻度と関連キーワード
- 02競合度の確認とSEOレポート
- 03キーワードクラスタリングとコア作成
- 04費用見積もりと支出上限
- 05CLIと型付きNode.jsライブラリ
活用シーン
- 01予算内でセマンティックコアを作成
- 02検索頻度と競合度を比較
- 03ページ計画用にキーワードを分類
- 04キーワード調査を定期ワークフロー向けに出力
MCP 対応
Mutagen SEO APIの操作を、MCPクライアント向けのツールやガイド付きプロンプトとして公開します。stdioとStreamable HTTPに対応し、有料呼び出し前の費用見積もりとプロセス単位の支出上限を備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mutagen-ru-mcpMUTAGEN_API_KEYシークレットMutagen API key from https://mutagen.ru/?api_configMUTAGEN_BUDGET_RUBSpending limit per session, RUBMUTAGEN_AUTO_APPROVE_RUBCalls up to this sum run without confirmation, RUBMUTAGEN_FREE_ONLY1 refuses every paid callMUTAGEN_TOOLSTool groups: basic,parser,serp,scenarios,text (default all)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
22掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
mutagen-ru-mcp
非公式プロジェクトであり、Mutagen とは無関係です。データの所有権は Mutagen(mutagen.ru)にあります。
ロシア語 · 英語
ニューラルネットワークのための Mutagen。mutagen-ru-mcp は Mutagen 用の MCP サーバーです。Claude Code、Claude Desktop、Codex、Cursor、VS Code、Windsurf などの MCP クライアントから、Wordstat の検索頻度、関連語句、競合状況、Mega-tool のレポート、そして「20 ₽でキーワード群を作成」「フレーズをページごとに分類」「Direct用の除外キーワードを提案」といったすぐに使えるシナリオを利用できます。有料の呼び出しを行う前に、エージェントが見積もりを提示し、支出上限はご自身で設定できます。
コードのための Mutagen。同じパッケージには、CLI の mutagen-ru と Node.js 用の型付きライブラリも含まれています。GitHub Actions や cron で定期的にキーワード群を再構築し、CSV、XLSX、JSON にエクスポートしてデータベースに保存したり、新しいフレーズを含むプルリクエストを毎週作成したりできます。キャッシュ、タスクログ、予算上限は、MCP、CLI、ライブラリで共通して動作します。
目次
クイックスタート
Node.js 22.12 以降が必要です。
1. API キー
- mutagen.ru に登録します(プロジェクト作者のアフィリエイトリンクです。通常の登録は https://mutagen.ru から行えます)。
- アカウントページでキーを取得します:https://mutagen.ru/?api_config。同じページで「IPアドレスからのみ接続を許可する」を有効にしてください。API は HTTP のみで動作します。詳しくは制限事項をご覧ください。
- 残高をチャージします。Wordstat パーサーと競合状況の確認には残高から料金が差し引かれます(1リクエストあたり 0.02 ₽から)。API 経由で Mega-tool のレポートを利用するには、サブスクリプションが必要です:料金プラン。
2. 動作確認
export MUTAGEN_API_KEY=ваш_ключ
npx -y -p mutagen-ru-mcp mutagen-ru balance
残高は消費されません。応答が返ってくれば、キーは正常に動作しています。
MCP サーバーは npx -y mutagen-ru-mcp で起動します。通常はクライアントが自動で起動するため、以下のコマンドはすでに設定ファイルに記載されています。
3. AI への接続
すべての例で、MUTAGEN_BUDGET_RUB は MCP サーバーのプロセス全体で使用できるルーブル建ての支出上限です(クライアントが再起動するまで有効です)。指定しない場合は 50 ₽ が適用されます。
Claude Code
claude mcp add --env MUTAGEN_API_KEY=ваш_ключ --env MUTAGEN_BUDGET_RUB=50 \
--transport stdio --scope user mutagen -- npx -y mutagen-ru-mcp
--scope user を指定すると、すべてのプロジェクトでサーバーを利用できます。確認するには、claude mcp get mutagen を実行します。
Claude Desktop
ファイル claude_desktop_config.json(macOS:~/Library/Application Support/Claude/、Windows:%APPDATA%\Claude\):
{
"mcpServers": {
"mutagen": {
"command": "npx",
"args": ["-y", "mutagen-ru-mcp"],
"env": {
"MUTAGEN_API_KEY": "ваш_ключ",
"MUTAGEN_BUDGET_RUB": "50"
}
}
}
}
編集後、Claude Desktop を再起動してください。
Codex
~/.codex/config.toml:
[mcp_servers.mutagen]
command = "npx"
args = ["-y", "mutagen-ru-mcp"]
startup_timeout_sec = 30 # первый запуск npx скачивает пакет
tool_timeout_sec = 120
[mcp_servers.mutagen.env]
MUTAGEN_API_KEY = "ваш_ключ"
MUTAGEN_BUDGET_RUB = "50"
キーをファイルに保存しないようにするには、env テーブルを env_vars = ["MUTAGEN_API_KEY"] に置き換えます。Codex が環境から変数を渡します。同じサーバーを 1 つのコマンドで追加するには、codex mcp add mutagen --env MUTAGEN_API_KEY=ваш_ключ -- npx -y mutagen-ru-mcp を実行します。
Cursor
プロジェクト内の .cursor/mcp.json、またはすべてのプロジェクトで使用する場合は ~/.cursor/mcp.json:
{
"mcpServers": {
"mutagen": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mutagen-ru-mcp"],
"env": {
"MUTAGEN_API_KEY": "${env:MUTAGEN_API_KEY}",
"MUTAGEN_BUDGET_RUB": "50"
}
}
}
}
${env:MUTAGEN_API_KEY} は環境からキーを取得するため、このファイルを git に追加できます。
VS Code
.vscode/mcp.json。初回起動時に VS Code がキーを求め、保護されたストレージに保存します:
{
"inputs": [
{
"type": "promptString",
"id": "mutagen-key",
"description": "Ключ API Мутагена (https://mutagen.ru/?api_config)",
"password": true
}
],
"servers": {
"mutagen": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mutagen-ru-mcp"],
"env": {
"MUTAGEN_API_KEY": "${input:mutagen-key}",
"MUTAGEN_BUDGET_RUB": "50"
}
}
}
}
Windsurf
mcp_config.json は Cascade パネルから開けます:メニュー ... → MCPs → Open MCP config file。現在は ~/.config/devin/mcp_config.json(Windows:%APPDATA%\devin\mcp_config.json)にあります。古いバージョンの Windsurf では ~/.codeium/windsurf/mcp_config.json にあります。
{
"mcpServers": {
"mutagen": {
"command": "npx",
"args": ["-y", "mutagen-ru-mcp"],
"env": {
"MUTAGEN_API_KEY": "${env:MUTAGEN_API_KEY}",
"MUTAGEN_BUDGET_RUB": "50"
}
}
}
}
同じ設定ファイルは、個別のファイルとして examples/clients にあります。
HTTP サーバー。 アドレスを指定して接続するクライアント向けに、Streamable HTTP を利用できます:
MUTAGEN_API_KEY=ваш_ключ npx -y mutagen-ru-mcp --http --port 3333
# адрес для клиента: http://127.0.0.1:3333/mcp
localhost 以外で待ち受ける場合(--host 0.0.0.0)、MUTAGEN_MCP_HTTP_TOKEN トークンが必須です。クライアントは Authorization: Bearer ... ヘッダーでトークンを渡します。Origin ヘッダー付きのブラウザーからのリクエストは、localhost からのものだけをサーバーが受け付けます。それ以外のアドレスは、MUTAGEN_MCP_ALLOWED_ORIGINS にカンマ区切りで指定してください。MUTAGEN_BUDGET_RUB の予算は、プロセス内のすべての HTTP セッションで共有されます。
できること
以下では、チャットでの依頼例、エージェントが呼び出すツール、得られる結果を紹介します。例では、ニッチ市場をストレッチ天井、Wordstat の地域をロシア(225)としています。「実際の応答」と記載した箇所は、2026 年 10 月 14 日に Mutagen に送信したリクエストの実際の結果を、冒頭の数行に短縮したものです。「例」と記載した箇所では、表に応答の形式を示しています。数値は仮のものです。
料金は、2026 年 10 月 14 日に行った実測に基づいています:頻度は 1 フレーズ・1 種類あたり 0.02 ₽、「Wordstat キー」は 200 フレーズで 0.02 ₽、または 2000 フレーズで 0.20 ₽、競合度は 1 フレーズあたり 0.30 ₽ です。Mega ツールのレポートでは料金は発生しませんが、サブスクリプションが必要で、1 日あたりのリクエスト枠を消費します。
1. Собрать семантическое ядро для нового сайта или раздела
Собери семантическое ядро для раздела «натяжные потолки» по маркерам «натяжные потолки» и «потолки под ключ». Бюджет 15 рублей, регион Россия.
Агент: mutagen_build_core с dry_run: true → показывает смету → после вашего «да» тот же вызов без dry_run. Сценарий собирает хвосты маркеров, убирает дубли и явный мусор («скачать», «вакансии», «б/у» и т. п.), снимает точную частоту "!фраза" и группирует фразы в кластеры. MCP-prompt build-core ведет агента по этим шагам.
Смета — живой ответ --dry-run для двух маркеров:
| Шаг | Метод | Единиц | Сумма |
|---|---|---|---|
| Хвосты маркеров (200 фраз) | parser.get, wordstat_key_50 | 2 | 0,04 ₽ |
| Точная частота | parser.mass.new, wordstat_qs | 500 | 10,00 ₽ |
| Итого | 10,04 ₽ |
Если бюджет меньше сметы, план уменьшается до бюджета: при 1,5 ₽ сценарий честно пишет «план уменьшен: max_phrases 500 → 73». Результат — таблица и файл (пример):
| Фраза | Базовая частота | "!Точная" | Кластер | Маркер |
|---|---|---|---|---|
| натяжной потолок цена | 55 926 | 1 011 | натяжной потолок цена | натяжные потолки |
| сколько стоит натяжной потолок | 18 667 | 1 382 | сколько стоит натяжной потолок | натяжные потолки |
| … |
Цена: по смете, не больше budget_rub. CLI: mutagen-ru core "натяжные потолки" "потолки под ключ" --budget 15 -o core.xlsx.
2. Расширить ядро хвостами и подсказками
Вот наше ядро (core.csv). Найди новые фразы, которых в нем еще нет, бюджет 5 рублей.
Агент: mutagen_expand_core (маркеры по умолчанию — главные фразы кластеров) или mutagen_wordstat_keywords по одной фразе. Живой ответ «Ключи Вордстата», 200 фраз, 0,02 ₽:
| Фраза | Частотность |
|---|---|
| натяжной потолок | 1 073 667 |
| потолок под натяжной потолок | 56 753 |
| натяжной потолок цена | 55 926 |
| установка натяжных потолков | 52 489 |
| натяжные потолки фото | 40 119 |
| натяжной потолок своими руками | 32 939 |
| … еще 194 строки |
С подпиской Мега-инструмента source: "serp" берет хвосты из базы Мутагена (report_keyword_tailings), без подписки — из Вордстата. source: "auto" выбирает сам. CLI: mutagen-ru keywords "натяжные потолки" --depth 200 -o tails.csv, mutagen-ru expand -i core.csv --budget 5.
3. Снять базовую и точную частоту, оценить конкуренцию
Сними базовую и точную частоту по этим четырем фразам. Потом проверь конкуренцию у двух самых частотных.
Агент: mutagen_frequency с types: ["wordstat_n", "wordstat_qs"], затем mutagen_competition. Живой ответ, 4 фразы × 2 вида = 0,16 ₽:
| Фраза | Базовая | "!Точная" |
|---|---|---|
| натяжной потолок цена | 62 529 | 1 011 |
| установка натяжных потолков | 54 907 | 593 |
| натяжной потолок купить | 27 870 | 694 |
| сколько стоит натяжной потолок | 20 422 | 1 382 |
Доступны все виды частотности Вордстата: базовая n, "фразовая" q, "!точная" qs, [порядок] no, "[порядок]" qo, "[!точный порядок]" qso. Конкуренция — шкала Мутагена 0–25 (ниже 5 — низкая), плюс частота в кавычках, число хвостов, ставки Директа и витальный сайт (пример):
| Фраза | Конкуренция (0–25) | Частота "в кавычках" | Хвосты |
|---|---|---|---|
| натяжной потолок цена | 12 | 4 800 | 950 |
Цена: частота 0,02 ₽ × фраза × вид, конкуренция 0,30 ₽ × фраза, повтор той же фразы в течение 7 дней бесплатный. Конкуренция зависит от связи Мутагена с Яндекс Директом и может считаться очень долго, см. ограничения. CLI: mutagen-ru freq -t n,qs -i phrases.txt, mutagen-ru competition -i top.txt.
4. Кластеризовать фразы и разложить их по страницам
Разложи фразы из tails.csv по страницам: какие фразы вести на одну страницу.
Агент: mutagen_cluster. Три режима:
lexical— бесплатно и без обращения к API: группировка по общим словам с учетом словоформ (стеммер Snowball);serp— по совпадению URL в топе выдачи, как кластеризация на сайте Мутагена; нужна подписка, 1 запрос квоты на фразу, до 300 фраз;project— забрать готовые кластеры проекта «Избранного» по его id (бесплатно).
Живой ответ, lexical, 40 фраз, бесплатно (сокращено):
| Кластер | Фраза | Частота |
|---|---|---|
| натяжной потолок цена | натяжной потолок цена | 55 926 |
| натяжной потолок цена | стоимость натяжного потолка | 11 164 |
| натяжной потолок цена | натяжной потолок цена за м2 | 4 421 |
| точечные светильники для натяжного потолка | точечные светильники для натяжного потолка | 5 767 |
| точечные светильники для натяжного потолка | встраиваемый светильник в натяжной потолок | 3 499 |
| натяжные потолки скрытый карниз | скрытый карниз в натяжном потолке | 3 650 |
Лексическая группировка грубая: фразы с одинаковыми словами она объединяет, даже если интент разный (в живом прогоне «светильники» и «монтаж» попали в кластер «цена»). Для раскладки по страницам точнее режим serp. CLI: mutagen-ru cluster -i tails.csv, mutagen-ru cluster --mode serp -i tails.csv.
5. Выбрать Title, H1 и Description по частотам
Предложи Title, H1 и Description для страницы цен на натяжные потолки по этим фразам.
Агент: mutagen_title_h1. Если у фраз уже есть частоты, это бесплатно. Если нет, сценарий снимет точную частоту: 0,02 ₽ за фразу. Живой ответ на 15 фраз кластера «цена»:
| Элемент | Текст | Обоснование |
|---|---|---|
| Title | Натяжной потолок цена — с установкой, за метр | главная фраза «натяжной потолок цена» (55 926) + хвосты фраз «потолок натяжной цена с установкой» (21 548) и «натяжной потолок цена за метр» (6 884) |
| H1 | Потолок натяжной цена с установкой | вторая по частоте формулировка (21 548) |
| Description | Натяжной потолок цена: с установкой, за метр. Узнайте подробнее на сайте! | главная фраза + те же уточнения + призыв |
Слова не склоняются: уточнения берутся целыми фразами кластера или их хвостами в том виде, в каком они есть в Вордстате, поэтому заготовка не собирает слова разных фраз в одну неграмотную группу. Город добавляется через запятую. Это заготовка с обоснованием по частотам, а не готовый текст: ее правит редактор. Параметры brand и city добавляют бренд и город. CLI: mutagen-ru title -i price.csv --city Москва.
6. Найти фразы, по которым нет страницы
Какие запросы конкурентов из топа есть у них и нет у нашего сайта example.ru?
С подпиской агент вызовет mutagen_content_gap: ключи вашего домена и 5 конкурентов (их Мутаген находит сам, или задайте competitors), разница — фразы, по которым у вас нет страницы. Цена: 1 запрос квоты на домен. Пример:
| Фраза | Частота | Конкурентов | Лучшая позиция | Лучший конкурент |
|---|---|---|---|---|
| натяжной потолок в ванной | 17 610 | 3 | 2 | a.ru |
Без подписки: выгрузите список фраз, под которые у вас уже есть страницы (pages.txt), и сравните его с ядром бесплатной локальной операцией:
mutagen-ru text compare -i pages.txt -i core.csv --implicit
Строки с only_b — фразы ядра без страницы. --implicit считает одинаковыми фразы, которые отличаются только формой слов или порядком.
7. Проверить позиции
На каких позициях example.ru по запросам про натяжные потолки?
Агент: mutagen_domain_report с report_keywords_organic (ключи и позиции домена) или mutagen_keyword_report с report_keyword_positions_organic (топ-50 по фразе). Нужна подписка, 1 запрос квоты. Пример (колонки отчета Мутагена):
| keyword | position | region_wsn | page |
|---|---|---|---|
| натяжные потолки под ключ | 7 | 3 100 | https://example.ru/catalog/ |
Честно: это позиции из базы Мутагена, которую он обновляет периодически, а не съем выдачи в реальном времени. В API нет инструмента, который проверит позицию прямо сейчас. Бесплатной альтернативы внутри Мутагена нет. Позиции своего сайта можно смотреть в Яндекс Вебмастере.
8. Подготовить ядро для Директа: минус-слова
Подготовь минус-слова для кампании по натяжным потолкам.
Агент: mutagen_minus_words (MCP-prompt direct-prep). По готовому списку фраз — бесплатно, по маркерам — сначала собирает «Ключи Вордстата» (0,02 ₽ за маркер). Живой ответ на 200 фраз, бесплатно:
-своими -руками -видео -фото -как -сделать -самостоятельно -авито
| Слово | Категория | Спорно | Фраз | Сумма частот |
|---|---|---|---|---|
| своими руками | Своими руками | нет | 9 | 65 594 |
| фото | Фото и видео | нет | 3 | 45 175 |
| работа | Работа и вакансии | да | 1 | 9 173 |
| отзывы | Отзывы и обсуждения (спорно) | да | 1 | 7 130 |
Спорные слова в строку не попадают: решение за вами (include_disputed или --disputed добавит их). Ставки и прогноз Директа — mutagen_direct_bids, 0,02 ₽ за фразу, но сейчас этот сбор может идти очень долго, см. ограничения. CLI: mutagen-ru minus -i tails.csv, mutagen-ru minus "натяжные потолки" --budget 1.
9. Сравнить с конкурентами
Кто конкуренты example.ru в выдаче и по каким запросам они нас обходят?
Агент: mutagen_domain_report с report_domain_competitors (конкуренты по пересечению ключей), затем report_keywords_organic по конкуренту и mutagen_content_gap. Все это — отчеты Мега-инструмента: нужна подписка, 1 запрос квоты на отчет. Пример (колонки отчета Мутагена):
| domain | visibility | domain_organic_keywords |
|---|---|---|
| a.ru | 41,2 | 5 600 |
Без подписки: соберите ядро по маркерам, которые продвигает конкурент (mutagen_build_core), и сравните его со своим списком через mutagen_text с операцией compare.
10. Составить контент-план статей по ядру
Составь контент-план информационных статей по этим фразам.
Агент: mutagen_content_plan (MCP-prompt content-plan). По готовому списку — бесплатно: сценарий находит вопросы, группирует их и сортирует темы по сумме частот. По маркерам — сначала собирает фразы (с подпиской — хвосты-вопросы Мега-инструмента, без нее — Вордстат). Живой ответ на 200 фраз, бесплатно:
| Тема статьи | Главный запрос | Сумма частот | Вопросов |
|---|---|---|---|
| Как снять натяжной потолок? | как снять натяжной потолок | 154 372 | 26 |
| Натяжной потолок сколько? | натяжной потолок сколько | 55 783 | 3 |
| Чем отмыть натяжной потолок? | чем отмыть натяжной потолок | 10 198 | 2 |
| Можно ли делать натяжной потолок? | можно ли делать натяжной потолок | 2 376 | 1 |
| Что сначала обои или натяжной потолок? | что сначала обои или натяжной потолок | 2 282 | 1 |
Заголовки — черновые, их стоит переписать. Для выбранных тем агент может вызвать mutagen_title_h1. CLI: mutagen-ru plan -i tails.csv -o plan.xlsx.
Подключение к своим проектам
Все примеры лежат в examples/. Для CLI в CI и cron есть два важных флага: --yes подтверждает смету без вопроса (без него неинтерактивный запуск дороже 1 ₽ завершится с кодом 3) и --budget N ограничивает траты одного запуска.
Сбор по расписанию: GitHub Actions
examples/github-actions/weekly-core.yml — раз в неделю собирает ядро и сохраняет XLSX и отчет о тратах как артефакт сборки. Ключ хранится в секрете репозитория MUTAGEN_API_KEY.
- run: npm install --global mutagen-ru-mcp
- run: mutagen-ru core "натяжные потолки" --budget 20 --yes -o out/core.xlsx
env:
MUTAGEN_API_KEY: ${{ secrets.MUTAGEN_API_KEY }}
MUTAGEN_BUDGET_RUB: "20"
定期実行:cron
examples/cron/weekly-core.sh はコアを日付付きのファイルに書き込みます。crontab -e に追加する行は examples/cron/crontab.txt にあります。
0 6 * * 1 /path/to/weekly-core.sh >> /var/log/mutagen-core.log 2>&1
CSV、XLSX、JSON へのエクスポート
CLI コマンドはすべて -o ファイル.csv|.xlsx|.json|.ndjson を指定でき、MCP ツールはすべて save_as を指定できます。MCP のファイルは MUTAGEN_OUTPUT_DIR(既定では ./mutagen-results)内にのみ保存されます。相対パスの save_as はこのディレクトリを基準とし、ディレクトリ外へのパス(..、シンボリックリンク)は拒否されます。MCP は既存のファイルを上書きせず、結果を「ファイル名 (2).csv」のように別名で保存します。ファイルを置き換えるには overwrite: true を指定します。stdio の場合に限り、MUTAGEN_ALLOW_ANY_OUTPUT_PATH=1 を指定すると任意のパスを使用できます。CSV はロシア語版 Excel に対応しており、区切り文字は「;」、小数点はカンマ、BOM 付きで、セル内の数式も保護されます。各ファイルの末尾には「Данные: Мутаген (mutagen.ru)」という行が追加されます(XLSX では「Источник」シート)。これは Mutagen API の利用規約で定められています。
mutagen-ru freq -t n,qs -i phrases.txt -o freq.xlsx
mutagen-ru keywords "натяжные потолки" --format json > tails.json
Google スプレッドシート
次の 2 つの方法があります。
-
一度だけ取り込む。 「ファイル」→「インポート」→「アップロード」を選択し、
core.csvを指定します。区切り文字の種類は「セミコロン」にします。 -
自動で取り込む。
IMPORTDATAが読み取れるのは、公開リンク上のカンマ区切り CSV または TSV のみです。examples/google-sheets/to-sheets-csv.mjs は CLI の JSON エクスポートをカンマ区切り CSV に変換します。このファイルを公開リポジトリまたは任意の公開 URL に配置し、セルに次のように入力します。=IMPORTDATA("https://raw.githubusercontent.com/SVorobiev-ru/REPO/main/semantic/core.sheets.csv")Google スプレッドシートは、時間をおいて自動的にファイルを再読み込みします。非公開リポジトリのファイルは、この方法では読み込めません。
データベース
examples/db/to-sqlite.mjs は、組み込みの node:sqlite(Node 22.13+ または 24)を使って、収集日とともに JSON エクスポートを SQLite に保存します。このテーブルを使って、検索頻度の履歴を簡単に確認できます。
mutagen-ru core "натяжные потолки" --budget 20 --yes -o core.json
node examples/db/to-sqlite.mjs core.json semantic.db
Node スクリプト
ライブラリは、CLI と MCP が使用するものと同じ機能をエクスポートします。API クライアント(MutagenClient)、予算、キャッシュ、ログを備えたセッション(MutagenSession)、シナリオ(buildCore、expandCore、クラスタリング、除外キーワードなど)、フレーズのローカル処理、エクスポート(writeTable)です。完全な例は examples/node/build-core.mjs を参照してください。
import { BudgetError, buildCore, loadConfig, MutagenSession, writeTable } from "mutagen-ru-mcp";
const session = MutagenSession.fromConfig(loadConfig()); // ключ и бюджет из переменных окружения
const params = { seeds: ["натяжные потолки"], budgetRub: 15 };
let result;
try {
result = await buildCore(session, params);
} catch (error) {
if (!(error instanceof BudgetError) || error.kind !== "needs_confirmation") throw error;
// Смета выше MUTAGEN_AUTO_APPROVE_RUB: подтверждаем ее токеном из ошибки.
result = await buildCore(session, params, { confirmToken: error.confirmToken });
}
await writeTable(result.table, "core.xlsx");
毎週コアを更新して PR を作成するエージェント
examples/github-actions/weekly-core-pr.yml では、CLI がコアを収集し、無料のローカルコマンド mutagen-ru text compare が前回の semantic/core.csv と比較します。新しいフレーズは semantic/new-phrases.txt に追加され、peter-evans/create-pull-request@v8 が更新済みのコアで PR を作成します。差分を確認し、取り込む内容を決めてください。
この機能を使うには、リポジトリの設定で「Settings」→「Actions」→「General」→「Workflow permissions」→「Allow GitHub Actions to create and approve pull requests」を有効にしてください。
Инструменты MCP и команды CLI
22 инструмента MCP и 18 команд CLI. Группа — значение для MUTAGEN_TOOLS.
| Инструмент MCP | Команда CLI | Что делает | Цена | Группа |
|---|---|---|---|---|
mutagen_balance | balance | Баланс аккаунта | бесплатно | basic |
mutagen_spending | spending | Траты и остаток бюджета, журнал платных вызовов | бесплатно, локально | basic |
mutagen_estimate | estimate | Смета плана вызовов | бесплатно, локально | basic |
mutagen_mass_tasks | mass list | Массовые задания парсера | бесплатно | basic |
mutagen_mass_result | mass get <id> | Результат массового задания | бесплатно | basic |
mutagen_project_keywords | projects <id> | Ключи и кластеры проекта «Избранного» | бесплатно | basic |
mutagen_frequency | freq | Частотность Вордстата, 6 видов, регион | 0,02 ₽ × фраза × вид | parser |
mutagen_wordstat_keywords | keywords | Левая колонка Вордстата: 200 или 2000 фраз | 0,02 ₽ (200), 0,20 ₽ (2000) | parser |
mutagen_direct_bids | bids | Ставки и прогноз Яндекс Директа | 0,02 ₽ × фраза | parser |
mutagen_competition | competition | Конкуренция 0–25 и статистика фразы | 0,30 ₽ × фраза, повтор за 7 дней бесплатно | parser |
mutagen_keyword_report | report keyword <отчет> <фраза> | Отчеты по фразе: статистика, хвосты, вопросы, вариации, LSI, топ-50, реклама | подписка, 1 запрос квоты | serp |
mutagen_domain_report | report domain <отчет> <домен> | Отчеты по сайту: ключи, рост и падение, страницы, конкуренты, реклама | подписка, 1 запрос квоты | serp |
mutagen_page_report | report page <отчет> <URL> | Отчеты по странице: ключи, конкуренты, упущенные ключи | подписка, 1 запрос квоты | serp |
mutagen_serp_report | report raw <отчет> | Любой отчет mutagen.serp.report с фильтрами | подписка, 1 запрос квоты | serp |
mutagen_build_core | core | Семантическое ядро по маркерам | по смете, не больше бюджета | scenarios |
mutagen_expand_core | expand | Новые фразы для готового ядра | по смете, не больше бюджета | scenarios |
mutagen_cluster | cluster | Кластеры: лексически, по выдаче, из «Избранного» | бесплатно; по выдаче — подписка, 1 запрос квоты на фразу | scenarios |
mutagen_title_h1 | title | Title, H1, Description кластера | бесплатно с частотами, иначе 0,02 ₽ × фраза | scenarios |
mutagen_content_gap | gap | Фразы конкурентов, которых нет у сайта | подписка, 1 запрос квоты на домен | scenarios |
mutagen_minus_words | minus | Минус-слова для Директа | по фразам бесплатно, по маркерам по смете | scenarios |
mutagen_content_plan | plan | Контент-план из вопросов | по фразам бесплатно, по маркерам по смете | scenarios |
mutagen_text | text <операция> | Дубли и неявные дубли, словарь, комбинатор, сравнение списков, фильтр, вопросы, подсчет | бесплатно, без API | text |
У платных инструментов MCP есть dry_run (только смета), confirm_token (подтверждение сметы), force_refresh (не брать из кэша), save_as и overwrite (сохранить в файл в MUTAGEN_OUTPUT_DIR, заменить существующий), fields и limit (сократить ответ). В CLI им соответствуют --dry-run, --yes, --refresh, -o, --limit. Справка по каждой команде: mutagen-ru <команда> --help.
Еще MCP-сервер отдает:
- ресурсы
mutagen://reference/reports(отчеты и колонки Мега-инструмента),mutagen://reference/regions(регионы),mutagen://reference/prices(цены методов и дата проверки); - prompts
build-core,expand-core,direct-prep,content-plan— готовые сценарии для агента.
Коды выхода CLI: 0 — успех, 1 — ошибка API, 2 — неверные аргументы, 3 — нужно подтверждение сметы (--yes), 4 — превышен бюджет или включен режим «только бесплатное», 130 — прервано.
Как экономить
- Смета до трат.
--dry-runв CLI иdry_run: trueв MCP показывают план и цену без обращения к API.mutagen_estimateиmutagen-ru estimateсчитают смету любого плана:mutagen-ru estimate --freq 500 -t n,qs --competition 50→ 35,00 ₽. - Лимит бюджета.
MUTAGEN_BUDGET_RUB(по умолчанию 50 ₽) — жесткий предел трат на один запуск CLI или на весь процесс MCP-сервера: все его сессии, в том числе HTTP, тратят один общий бюджет до перезапуска. Вызов, который в него не помещается, отклоняется до обращения к API.--budget Nв CLI ограничивает один запуск. Сценарии с бюджетом уменьшают план так, чтобы в него уложиться. - Порог подтверждения. Вызовы до
MUTAGEN_AUTO_APPROVE_RUB(по умолчанию 1 ₽) идут без вопросов. Дороже — CLI спрашивает «Продолжить?» или ждет--yes, а MCP возвращает смету иconfirm_token. Если клиент умеет спрашивать человека через свой интерфейс (elicitation), подтверждение спрашивается у вас. - Режим «только бесплатное».
MUTAGEN_FREE_ONLY=1или--free-only: любой платный вызов отклоняется, бесплатные (баланс, массовые задания, локальная обработка) работают. - Кэш. Готовые частоты и конкуренция хранятся 7 дней, отчеты Мега-инструмента — 1 день (
MUTAGEN_CACHE_TTL_*_DAYS). Повторный запрос из кэша бесплатный. Баланс и статусы задач не кэшируются. Обойти кэш:--refreshилиforce_refresh, отключить:--no-cacheилиMUTAGEN_NO_CACHE=1. - Журнал и бесплатные повторы. Каждая платная задача пишется в журнал. Если ответ потерялся или задача еще считается, повтор того же вызова подхватывает уже оплаченную задачу и не платит второй раз. MCP ждет результат около 45 секунд, потом отвечает
processing; повторите вызов позже — это бесплатно. Новую платную задачу вместо зависшей создает--new-taskилиnew_task: true. - Меньше инструментов — меньше контекста. Описания и схемы всех 22 инструментов занимают около 34 тыс. символов контекста агента.
MUTAGEN_TOOLSоставляет только нужные группы: например,basic,parser,text— около 14 тыс. символов. Группы:basic,parser,serp,scenarios,text. - Большие результаты — в файл. MCP отдает агенту сводку и первые строки, полный результат — в файл
save_as.fieldsиlimitубирают лишние колонки и строки, например 30 колонок прогноза Директа. - Своя обработка бесплатна. Дубли, неявные дубли, словарь, фильтр по словам, лексическая кластеризация, минус-слова и контент-план по готовому списку работают локально, без ключа и без денег.
Настройки
Все настройки — переменные окружения. Пример — .env.example.
| Переменная | По умолчанию | Что задает |
|---|---|---|
MUTAGEN_API_KEY | — | Ключ API. Без него работают только локальные операции |
MUTAGEN_BUDGET_RUB | 50 | Предел трат, ₽: на запуск CLI или на процесс MCP-сервера (общий для всех сессий) |
MUTAGEN_AUTO_APPROVE_RUB | 1 | До этой суммы вызов идет без подтверждения, ₽ |
MUTAGEN_FREE_ONLY | 0 | 1 — отклонять любой платный вызов |
MUTAGEN_TOOLS | все группы | Группы инструментов MCP: basic,parser,serp,scenarios,text |
MUTAGEN_OUTPUT_DIR | ./mutagen-results | Куда MCP сохраняет файлы; save_as не выходит за этот каталог |
MUTAGEN_ALLOW_ANY_OUTPUT_PATH | 0 | 1 — save_as может указывать любой путь; только для stdio, по HTTP не действует |
MUTAGEN_MCP_WAIT_SECONDS | 45 | Сколько вызов MCP ждет задачу Мутагена, прежде чем ответить processing |
MUTAGEN_MCP_HTTP_TOKEN | — | Bearer-токен для --http; обязателен, если --host не localhost |
MUTAGEN_MCP_ALLOWED_ORIGINS | — | Браузерные Origin через запятую, которым кроме localhost разрешен --http; без них запросы с Origin отклоняются |
MUTAGEN_CACHE_DIR | ~/.cache/mutagen-ru-mcp | Каталог кэша (Windows: %LOCALAPPDATA%\mutagen-ru-mcp\cache) |
MUTAGEN_STATE_DIR | ~/.local/state/mutagen-ru-mcp | Каталог журнала задач (Windows: %LOCALAPPDATA%\mutagen-ru-mcp\state) |
MUTAGEN_CACHE_TTL_FREQUENCY_DAYS | 7 | Срок кэша частот, дней |
MUTAGEN_CACHE_TTL_COMPETITION_DAYS | 7 | Срок кэша конкуренции, дней |
MUTAGEN_CACHE_TTL_REPORT_DAYS | 1 | Срок кэша отчетов, дней |
MUTAGEN_NO_CACHE | 0 | 1 — не читать и не писать кэш |
MUTAGEN_PRICES_JSON | — | Переопределить цены методов, если Мутаген их изменит |
MUTAGEN_CONCURRENCY | 2 | Одновременных запросов к API |
MUTAGEN_RPS | 3 | Запросов в секунду |
MUTAGEN_BASE_URL | http://api.mutagen.ru/json | Адрес API |
Ограничения и честные оговорки
- API только по HTTP. HTTPS у
api.mutagen.ruнет, ключ уходит по сети открытым текстом в адресе запроса. Включите в кабинете белый список IP («Разрешить подключение только с ip»): тогда украденный ключ не сработает с чужого адреса. В наших логах, ошибках и файлах ключ заменяется на***. - Отчеты Мега-инструмента — только по подписке. Хвосты из базы, вопросы, LSI, позиции, ключи сайтов и страниц, конкуренты, кластеризация по выдаче и поиск пробелов без подписки возвращают «нужна подписка» (ошибка 111). Вместе с ошибкой агент получает подсказку, чем заменить отчет без подписки.
- Лимиты подписки. Отчеты расходуют суточную квоту запросов, а строки в отчете и выгрузки за месяц ограничены тарифом. По сайту на 14.10.2026: «Простой» — 950 ₽ в месяц, 300 запросов в сутки, 20 000 строк в отчете; «Расширенный» — 1 250 ₽, 1 500 запросов; «Продвинутый» — 2 450 ₽, 6 000 запросов. Актуально — на странице тарифов. Когда квота кончается, Мутаген отвечает ошибкой 112.
- Нет списка проектов «Избранного». Метода в API нет, хотя он описан в документации. Ключи проекта доступны по id, а id берется из адреса страницы проекта в кабинете (Избранное → проект). Создавать проекты и добавлять в них ключи через API нельзя.
- Нет правой колонки Вордстата. «Ключи Вордстата» отдают только левую колонку: 200 или 2000 фраз.
- Конкуренция и ставки Директа могут висеть. Оба сбора зависят от связи Мутагена с Яндекс Директом. В октябре 2026 года они считались больше 40 минут. Деньги списываются при постановке задачи; повторный опрос бесплатный, и повтор того же вызова подхватывает уже оплаченную задачу. Если задача висит больше 2 часов, ответ прямо говорит о вероятном сбое на стороне Мутагена или Директа и советует проверить кабинет или написать в поддержку. Конкуренция считается без учета региона — так и на сайте Мутагена.
- Частоты Вордстата приблизительны и меняются. Это оценка Яндекса, она плавает от месяца к месяцу. Разные способы сбора дают разные числа: в живой проверке «натяжной потолок цена» в левой колонке Вордстата — 55 926, а отдельным запросом базовой частоты — 62 529. Сравнивайте фразы, собранные одним способом.
- Позиции — из базы Мутагена. Это не съем выдачи в реальном времени: база обновляется периодически.
- Подтверждение через агента — защита от случайности, а не от злого умысла. Если клиент MCP не умеет спрашивать человека,
confirm_tokenполучает сам агент и может подтвердить смету без вас. Жесткий предел — толькоMUTAGEN_BUDGET_RUB. Ставьте его таким, какой не жалко потерять. - Функций сайта, которых нет в API, у нас тоже нет. Мы не автоматизируем веб-интерфейс Мутагена: только официальный API и локальная обработка. Рейтинги сайтов, создание проектов, кластеризация на стороне Мутагена недоступны.
FAQ
Это официальный клиент Мутагена? Нет. Это независимый проект с открытым кодом, он не связан с Мутагеном. Данные принадлежат Мутагену, в каждом ответе и файле стоит пометка «Данные: Мутаген (mutagen.ru)».
Нужна ли подписка? Для частот, «Ключей Вордстата», конкуренции, ставок Директа и всех локальных операций — нет, хватит баланса. Подписка нужна для отчетов Мега-инструмента: хвостов из базы, позиций, ключей сайтов, конкурентов, кластеризации по выдаче.
Сколько стоит собрать ядро?
Два маркера, по 200 хвостов, точная частота для 500 фраз — 10,04 ₽. Проверка конкуренции для топ-20 фраз добавит 6 ₽. Точную смету для своих параметров покажет --dry-run.
Что работает без ключа?
mutagen_text и mutagen-ru text, лексическая кластеризация, минус-слова и контент-план по готовому списку фраз, Title и H1 по фразам с частотами. Они не обращаются к API.
Агент может потратить все деньги?
Не больше MUTAGEN_BUDGET_RUB за запуск CLI или за время работы MCP-сервера. Каждый вызов дороже MUTAGEN_AUTO_APPROVE_RUB требует подтверждения. Для полной уверенности включите MUTAGEN_FREE_ONLY=1.
Конкуренция ответила processing. Деньги списаны?
Да, при постановке задачи. Повторите тот же вызов позже: он найдет задачу в журнале и не заплатит второй раз.
Почему частоты отличаются от того, что я вижу в Вордстате? Вордстат показывает оценку, которая меняется, а разные виды частотности и способы сбора дают разные числа. См. ограничения.
Как подключить к клиенту, которого нет в списке?
Любой MCP-клиент со stdio запускает сервер командой npx -y mutagen-ru-mcp с переменной MUTAGEN_API_KEY. Клиентам, которые подключаются по адресу, подойдет npx -y mutagen-ru-mcp --http.
Участие в проекте
Ошибки, идеи и новые методы API — в issues. Как запустить проект, тесты и стиль коммитов — в CONTRIBUTING.md. Об уязвимостях — по SECURITY.md, не в открытых issue. Пожалуйста, никогда не публикуйте свой ключ API в issue и логах.
Лицензия
MIT. Проект неофициальный и не связан с Мутагеном. «Мутаген» и mutagen.ru принадлежат их владельцам. Данные, полученные через API, принадлежат Мутагену; условия их использования — в документации API и пользовательском соглашении.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。