MCP-сервер для ИИ-агентов

MCP (Model Context Protocol) — открытый протокол, через который ИИ-агенты подключаются к внешним сервисам. Подключите AI PixelTools к Claude, Cursor или любому другому MCP-клиенту — и агент сам получит список ваших GEO-проектов, посмотрит видимость бренда, конкурентов, источники, тексты ответов нейросетей, а также сделает всё, что вы делаете в личном кабинете: создаст проект, настроит его, добавит промпты, сгруппирует конкурентов, запустит проверку, аудит или отчёт. Писать код и разбираться в REST API не нужно: достаточно попросить агента обычными словами.

Примеры запросов агенту:

  • «Как изменилась видимость моего бренда за месяц и в каких нейросетях просела?»
  • «По каким промптам нас не упоминают, а конкурентов — да? Покажи, что именно отвечает нейросеть»
  • «На какие сайты ссылаются нейросети и где о нас стоит написать?»
  • «Запусти проверку проекта и скажи, когда закончится»
  • «Создай проект для бренда „Ромашка“, подбери промпты и отключи Perplexity»
  • «Объедини в одну группу конкурентов „Сбер“ и „СберБанк“, а нерелевантных скрой»
  • «Сделай еженедельный отчёт по понедельникам с блоками сводки и конкурентов»

Параметры подключения

ПараметрЗначение
Адрес сервераhttps://ai.pixeltools.ru/api/mcp
ТранспортStreamable HTTP (POST, JSON-RPC 2.0)
АвторизацияЗаголовок Authorization: Bearer YOUR_API_TOKEN — тот же токен, что и для REST API
Версии протокола2025-06-18, 2025-03-26, 2024-11-05
Ограничение120 запросов в минуту на токен

Токен создаётся в настройках пользователя, подробнее — в разделе «Авторизация». Агент работает строго от вашего имени: видит только ваши и расшаренные вам проекты, действуют те же права доступа и те же лимиты, что в веб-интерфейсе.

Подключение

Claude Code

claude mcp add --transport http pixeltools https://ai.pixeltools.ru/api/mcp \
  --header "Authorization: Bearer YOUR_API_TOKEN"

Claude Desktop

Откройте «Настройки → Разработчик → Изменить конфигурацию» и добавьте сервер в файл claude_desktop_config.json. Нужен установленный Node.js — пакет mcp-remote связывает приложение с удалённым сервером. После сохранения перезапустите Claude Desktop.

{
  "mcpServers": {
    "pixeltools": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://ai.pixeltools.ru/api/mcp",
        "--header", "Authorization:${PIXELTOOLS_AUTH}"
      ],
      "env": {
        "PIXELTOOLS_AUTH": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor

Файл ~/.cursor/mcp.json (или .cursor/mcp.json в проекте):

{
  "mcpServers": {
    "pixeltools": {
      "url": "https://ai.pixeltools.ru/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Клиенты, где можно указать только адрес

Если клиент не позволяет задать заголовки, передайте токен в адресе: https://ai.pixeltools.ru/api/mcp?api_key=YOUR_API_TOKEN. Такой адрес — это пароль от вашего аккаунта: не публикуйте его и не пересылайте.

Инструменты

Агенту доступен весь функционал личного кабинета: чтение данных проекта, создание и настройка проектов, промпты и группы, конкуренты, источники, контент-план, рекомендации, аудит, отчёты, брендовый спрос, события и доступы. Почти все инструменты принимают обязательный project_id — его агент берёт из list_projects. Параметр dates — период ["YYYY-MM-DD", "YYYY-MM-DD"], по умолчанию последние 30 дней.

Пометки у инструментов:

  • изменяет — меняет данные, запускает проверку или генерацию. Такие инструменты помечены для клиента аннотацией readOnlyHint: false, и Claude по умолчанию спрашивает подтверждение перед вызовом;
  • удаляет — удаление (destructiveHint: true). Промпты и группы попадают в корзину и восстанавливаются, остальное — нет.

Если инструмент тратит лимиты, это сказано в его описании. Долгие операции (проверка, генерации ИИ, отчёты, аудит) запускаются одним инструментом, а результат забирается другим — агент сам опрашивает статус.

Проекты, настройки и доступ

ИнструментЧто делаетПараметры
list_projects GEO-проекты пользователя: id, название, бренд, домен, пауза. Источник project_id. —
get_project_status Статус проверки (съёма): idle|queued|in_progress|completed, прогресс %, фаза, дата последней. —
run_update
изменяет
Запустить проверку (съём), тратит лимиты. Ошибка, если уже идёт, нет нейросетей/промптов или лимитов. Прогресс — get_project_status. with_recommendations — Рекомендации после проверки. Не задано — по расписанию.
with_frequency — Частотность после проверки. Не задано — по расписанию.
get_project_settings Настройки: нейросети, регион, язык, бренд и альт. названия, домен и зеркала, режим конкурентов, Метрика, расписания, число промптов и групп. —
list_neurals Нейросети для проекта: id, system_name, название, поддержка веб-поиска. —
list_regions Поиск региона по названию (рус/англ). code → параметр region. Россия 225, Москва 213. search
limit — По умолчанию 20, макс. 100.
create_project_draft
изменяет
Шаг 1/3 создания проекта: черновик + асинхронный подбор промптов. Далее поллить get_project_draft (~10 с) до ready → update_project_draft_prompts (опц.) → create_project_from_draft. Черновик живёт сутки. brand*
activities* — Товары/услуги бренда — по ним подбираются промпты.
domain — Например example.ru.
alternative_brands — Другие написания бренда.
neurals* — system_name или id из list_neurals.
language — По умолчанию ru, потом не меняется.
region — Из list_regions, по умолчанию 225.
get_project_draft Шаг 2: статус черновика: processing (поллить), ready (prompts: text, group, source), error. draft_id* — Из create_project_draft.
update_project_draft_prompts
изменяет
Заменить промпты черновика ЦЕЛИКОМ (только в ready): убранные пропадут, новые — без группы, у подобранных группа сохранится. draft_id*
prompts* — Итоговый список.
create_project_from_draft
изменяет
Шаг 3: проект из готового черновика → project_id. Проверку не запускает (run_update). Повтор не создаёт дубль. draft_id*
update_project_settings
изменяет
Меняет только переданное. Списки — ЦЕЛИКОМ (сначала get_project_settings), ""/null очищает. Снять паузу — schedule. detail: weekdays/monthdays — через запятую, every_n_days 1–90; once/twice_per_week — дни выбирает сервис, detail любой валидный (день 0–6, 0=вс). name
brand
alternative_brands — Тоже считаются упоминанием.
brand_info — До 500 символов.
activities
domain — "" — убрать сайт и зеркала.
domain_aliases — Зеркала — считаются сайтом проекта.
sources_include_subdomains
neurals — system_name или id из list_neurals.
neurals_web_search — Из выбранных, с web_search_supported.
region — Из list_regions.
collect_online — Ответы с веб-поиском.
collect_google_ai_mode
count_empty_answers — Пустые ответы в знаменателе видимости.
check_brand_mentions — Бренд на страницах-источниках. Тратит лимиты каждую проверку.
check_brand_mentions_top_domains — Топ-доменов, 1–1000.
competitors_mode — top — из ответов, manual — только свой список.
competitors_manual_list — До 100.
competitors_tracked_first
schedule — Проверки (съёмы).
recommendations_schedule — Рекомендации.
frequency_schedule — Частотность промптов.
url_indexation_schedule — Индексация источников.
pause_project
изменяет
Все расписания → paused, данные целы. Прежнее расписание не запоминается: снять — schedule в update_project_settings. —
delete_project
удаляет
Удалить проект (только владелец). Вернуть может лишь поддержка. Сначала явно подтверди у пользователя. —
clone_project
изменяет
Новый проект из project_id: настройки, нейросети, расписание, опц. промпты. Данные проверок не копируются, лимиты не тратятся. name*
region — Из list_regions, по умолчанию как у источника.
with_prompts — По умолчанию true.
paused
run_frequency_check
изменяет
Частотность всех промптов по Вордстату. ТРАТИТ лимиты сразу: 50 + 1 за промпт. В фоне до часа; результат — в list_prompts. —
list_project_updates История проверок, новые сверху: статус, запуск (manual|system — по расписанию), время. limit — По умолчанию 20, макс. 200.
list_project_members Участники проекта кроме владельца: user_id, email, роль, комментарий. Нужны права редактора. —
add_project_member
изменяет
Доступ по email (нужен аккаунт Pixel Tools). Уже участник — роль обновится. email*
role* — viewer — просмотр, editor — правка и запуск проверок.
comment — До 255 символов.
notifications
update_project_member
изменяет
Роль, комментарий, уведомления участника. user_id — из list_project_members. user_id*
role — viewer — просмотр, editor — правка и запуск проверок.
comment — До 255 символов.
notifications
remove_project_member
удаляет
Забрать доступ. user_id — из list_project_members. Владельца нельзя. user_id*
list_project_events События на графиках видимости (публикации, смена нейросетей/промптов, заметки, системные) — объясняют скачки. is_system и is_auto менять нельзя. type
search
limit — До 200, по умолчанию 50.
create_project_event
изменяет
Ручное событие на графиках («вышла статья», «обновили сайт»). date* — YYYY-MM-DD.
title* — 3–255 символов.
description — До 2000 символов.
link — Ссылка или домен.
time — Затрачено часов, 0–200.
update_project_event
изменяет
Меняет событие (id из list_project_events), только меняемые поля. Системные — нельзя; у автоматических не меняется название. event_id*
date — YYYY-MM-DD.
title — 3–255 символов.
description — До 2000 символов.
link — Ссылка или домен.
time — Затрачено часов, 0–200.
delete_project_event
удаляет
Удаляет событие безвозвратно; системные нельзя. Сначала подтверди у пользователя. event_id*
get_notification_settings Уведомления: тип → канал → bool. Типы: visibility_update, recommendations, report; каналы: bell, email, telegram. telegram.connected — привязан ли (привязывает сам пользователь). —
update_notification_settings
изменяет
Вкл/выкл уведомлений: settings — {тип: {канал: bool}}, напр. {"report": {"email": false}}; неупомянутое не меняется. settings*

Промпты и группы

ИнструментЧто делаетПараметры
list_prompts Промпты с id, группами и частотностью (Вордстат, в месяц, по подобранному запросу). search
limit — По умолчанию 100, макс. 500.
order_by_frequency
add_prompts
изменяет
Дубли не создаются, только привязываются к группам. group_id — из list_groups, group_name — найти или создать. Сюда же — prompts из get_generated_prompts как есть. Лимиты не тратит. prompts* — Строки или {value, group_id, group_name}.
group_ids — Группы для ВСЕХ промптов.
delete_prompts
удаляет
По id (list_prompts) или точному тексту. Мягко: в корзину с историей и группами, вернуть — restore_prompts. Из следующих проверок выпадают. prompt_ids — Из list_prompts.
values — Точные тексты — вместо prompt_ids.
list_groups Группы: id, название, тип (system — интенты сервиса, user — свои), число промптов, избранная. Плюс число промптов без группы. —
create_group
изменяет
Пользовательская группа. Наполнять — assign_prompts_to_groups или add_prompts. name* — До 255 символов.
is_favourite — Не больше 10 избранных на проект.
update_group
изменяет
Переименовать и/или сменить «избранная» (макс. 10 на проект). group_id* — Из list_groups.
name
is_favourite
delete_group
удаляет
Промпты остаются в проекте; delete_prompts=true — удалить и их. Мягко: в корзину, вернуть — restore_groups / restore_prompts с членством. group_ids* — Из list_groups.
delete_prompts
assign_prompts_to_groups
изменяет
mode: add — добавить к прежним группам; move — оставить ТОЛЬКО в указанных; detach — убрать из указанных (без group_ids — из всех). mode*
prompt_ids* — Из list_prompts.
group_ids — Из list_groups; обязательны для add/move.
get_prompt_generation_pricing Для generate_prompts: item_cost в лимитах (итог × число items), допустимые count, интенты, макс. items, доступность (только ru-проекты). —
generate_prompts
изменяет
ТРАТИТ ЛИМИТЫ: item_cost × items (~75 за элемент, см. get_prompt_generation_pricing). Асинхронно: поллить get_generated_prompts, сохранить — add_prompts (сама в проект не пишет). group_type*
count* — Промптов на элемент.
items* — intents: situational, comparative, reputational, predictive, search; иначе названия продуктов/сегментов/сущностей. До 10.
get_generated_prompts status=running — повтори через 10–20 с. Готово — prompts без дублей; сохранить — add_prompts как есть. session_id* — Из generate_prompts.
distribute_prompts_to_groups
изменяет
ИИ раскладывает по группам-интентам (прежние группы сохраняются). ТРАТИТ 50 лимитов. ОБЯЗАТЕЛЬНО поллить get_prompts_distribution — запись в проект только там. prompt_ids — Из list_prompts.
prompts — Тексты; новые будут созданы.
ungrouped — Все промпты без группы.
get_prompts_distribution
изменяет
status=running — повтори через 5–10 с. Первый готовый ответ пишет распределение в проект; повторы безопасны. session_id* — Из distribute_prompts_to_groups.
list_deleted_prompts Корзина: удалённые промпты (с прежними группами) и группы. Вернуть — restore_prompts / restore_groups. limit — Каждого вида, по умолчанию 100.
restore_prompts
изменяет
Вместе с историей и группами. prompt_ids* — Из list_deleted_prompts.
restore_groups
изменяет
Промпты, удалённые с группой, — отдельно через restore_prompts. group_ids* — Из list_deleted_prompts.

Видимость и ответы нейросетей

ИнструментЧто делаетПараметры
get_summary Сводка: видимость бренда и сайта по нейросетям, тональность, доля голоса, топ-промпты по динамике, топ-5 конкурентов. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
get_prompt_visibility Видимость по промптам × нейросетям: упоминание, позиция, тональность, конкуренты в ответе, частотность, динамика. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
mention — Фильтр по упоминанию бренда.
prompt — Подстрока промпта.
limit — По умолчанию 30, макс. 100.
get_answer_texts Тексты ответов и ссылки за последнюю проверку, по паре промпт×нейросеть — бери 1–3 промпта. ID — из list_prompts / get_prompt_visibility. prompt_ids* — Макс. 5.
max_chars — Обрезка ответа, по умолчанию 2000.
get_answers_history По промптам × проверкам × нейросетям: упоминание бренда, позиция, тональность. Постранично. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
neural_ids — Из поля neurals ответа; по умолчанию все.
prompt — Подстрока промпта.
limit — По умолчанию 20, макс. 50.
cursor — next_cursor из прошлого ответа.
get_answers_comparison «Было → стало» по нейросети между двумя проверками: упоминание, позиция, тональность, сайт, конкуренты. По умолчанию две последние и первая нейросеть. Тексты — get_answer_texts. neural_id — Из get_answers_history.
date1 — «Было», YYYY-MM-DD.
date2 — «Стало», YYYY-MM-DD.
presence — Фильтр по наличию бренда/сайта.
prompt — Подстрока промпта.
answer_chars — Длина начала текста ответа, до 1000; 0 — без текстов.
limit — По умолчанию 20, макс. 50.
cursor — next_cursor из прошлого ответа.
get_site_positions_history Позиция ссылки на сайт в источниках ответов по промптам × проверкам × нейросетям (null — нет). dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
neural_ids — Из поля neurals ответа; по умолчанию все.
prompt — Подстрока промпта.
limit — По умолчанию 20, макс. 100.
set_answer_tone
изменяет
Исправить тональность бренда в ответе нейросети на промпт. prompt_id*
neural_id* — Из get_answers_history.
tone*
update_id — По умолчанию последняя завершённая.

Конкуренты

ИнструментЧто делаетПараметры
get_competitors Конкуренты по видимости: видимость и её дельта, доля голоса, тональность. limit — По умолчанию 10, макс. 100.
find_competitors Конкуренты с ID (нужны остальным инструментам конкурентов): видимость, доля голоса, тип, дубли. type=own — свой бренд, его members — альт. названия бренда. search — Подстрока названия, в т.ч. дублей.
type — По умолчанию все, кроме hidden. key — ключевой, direct — прямой, indirect — косвенный, hidden — скрыт из сводки и списка.
dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
limit — По умолчанию 30, макс. 200.
get_competitor Карточка конкурента: тип, видимость, упоминания, доля голоса за период, дубли группы. competitor_id* — Из find_competitors.
dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
set_competitor_type
изменяет
key — ключевой, direct — прямой, indirect — косвенный, hidden — скрыт из сводки и списка. competitor_id* — Из find_competitors.
type*
rename_competitor
изменяет
Старое название остаётся в группе как дубль. competitor_id* — Из find_competitors.
name* — До 255 символов.
group_competitors
изменяет
Склеить дубли одной компании в группу, главный — самый видимый. include_brand=true — сделать их альт. названиями своего бренда. ids* — Из find_competitors; мин. 2, с include_brand — 1.
include_brand
ungroup_competitor
изменяет
Вывести из группы дублей в отдельную строку. ID — из group_members в get_competitor. competitor_id* — Из find_competitors.
make_competitor_canonical
изменяет
Сделать участника главным: группа показывается под его названием. competitor_id* — Из find_competitors.
remove_competitor_alternative_name
изменяет
Убрать альт. название бренда (members строки type=own) — оно снова станет конкурентом. name* — Точно как в списке.
find_irrelevant_competitors
изменяет
ИИ ищет не-конкурентов в списке. ТРАТИТ 75 лимитов. Асинхронно: поллить get_irrelevant_competitors раз в 10–15 с, скрыть — hide_irrelevant_competitors. До 5 запусков/мин. description* — Чем занимается компания — кто настоящий конкурент, 3–500 символов.
get_irrelevant_competitors Пока идёт — status=in_progress, затем [{id, name, reason}]. Хранится 3 ч. session_id* — Из find_irrelevant_competitors.
hide_irrelevant_competitors
изменяет
Ставит тип hidden; только id из результата этой сессии. Вернуть — set_competitor_type. session_id*
ids* — Из get_irrelevant_competitors.

Источники

ИнструментЧто делаетПараметры
get_sources Домены, на которые ссылаются нейросети: упоминания, видимость и дельта, тип, есть ли бренд на страницах. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
limit — По умолчанию 20, макс. 100.
list_source_types Типы источников (slug, название) для set_source_type. —
find_source_urls URL домена-источника (домен — из get_sources) с ID, типом, упоминаниями, видимостью. domain* — Например habr.com.
dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
limit — По умолчанию 30, макс. 200.
set_source_type
изменяет
Тип ставится всему домену URL. «Ваш сайт» вручную не ставится. url_id* — Из find_source_urls.
type* — Slug из list_source_types.
get_source_prompts Промпты, где нейросети сослались на URL в последней проверке периода. url_id* — Из find_source_urls.
dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.

Трафик и KPI

ИнструментЧто делаетПараметры
get_traffic Переходы из нейросетей по Метрике: визиты, посетители, отказы, глубина, время — по нейросетям. Нужен счётчик Метрики. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
get_kpi KPI сайта по Метрике: посещаемость, визиты по нейросетям и каналам, конверсии и доход, брендовый трафик, города, устройства, площадки. Нужен счётчик Метрики. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.

Брендовый спрос

ИнструментЧто делаетПараметры
get_brand_demand Брендовый спрос по Вордстату: запросов в месяц и топ регионов (последние проверки). —
update_kpi_settings
изменяет
Настройки «KPI», только меняемые поля; каждый список ЗАМЕНЯЕТСЯ целиком (до 500 символов суммарно). brand_demand_phrases — Брендовый спрос за год (Вордстат).
brandedness_substrings — Подстроки, по которым запрос из Метрики считается брендовым.
favorite_sources — Домены-источники трафика для отдельного виджета.
region_demand_phrases
region_demand_regions — Из list_demand_regions; [] — все.
run_brand_demand_check
изменяет
Брендовый спрос за год по Вордстату, асинхронно (минуты). Нужна Метрика. 5 лимитов за фразу, только при успехе. Результат — get_brand_demand. phrases — До 500 символов суммарно. Не передано — сохранённые в проекте; переданные сохраняются.
list_demand_regions Регионы Яндекса для run_region_demand_check: код, название. search
limit — До 500, по умолчанию 50.
run_region_demand_check
изменяет
Брендовый спрос по регионам (Вордстат), асинхронно. 5 лимитов за фразу, только при успехе. Результат — get_brand_demand. phrases — До 500 символов суммарно. Не передано — сохранённые в проекте; переданные сохраняются.
regions — Из list_demand_regions; [] — все; не передано — сохранённые.
generate_brand_phrases
изменяет
ИИ-подбор по запросам Метрики (нужна): brand_phrases — фразы спроса, stop_substrings — brandedness_substrings. Поллить get_brand_phrases_result. Не сохраняет (→ update_kpi_settings). 50 лимитов при непустом результате. type*
get_brand_phrases_result
изменяет
Результат generate_brand_phrases: progress < 100 — повторить через 5–10 с; готово — phrases и charged. session_id*
refresh_kpi
изменяет
Сбросить кеш Метрики в «KPI» (до 2 ч). Только если просят свежие данные. —

Контент-план, рекомендации, аудит, отчёты

ИнструментЧто делаетПараметры
get_content_plan Контент-план: материалы, формат, статус, дата, площадка, промпты, видимость, индексация. dates — [YYYY-MM-DD, YYYY-MM-DD], по умолчанию 30 дней.
limit — По умолчанию 20, макс. 50.
get_recommendations Рекомендации для роста видимости: заголовок, пояснение, тип, выполнена ли. status — По умолчанию uncompleted.
limit — По умолчанию 20, макс. 50.
get_audit Аудиты бренда против конкурентов. Без audit_id — список и текст последнего завершённого. audit_id — Из списка аудитов.
max_chars — Обрезка текста, по умолчанию 8000.
generate_recommendations
изменяет
Перегенерировать рекомендации. ТРАТИТ 5 лимитов × число промптов, сразу. В фоне несколько минут, результат — get_recommendations. —
set_recommendation_done
изменяет
Отметить рекомендацию выполненной или снять отметку. recommendation_id* — Из get_recommendations.
done*
postpone_recommendation
изменяет
Отложить рекомендацию до даты (в «Отложенные»). Без publish_at — вернуть в работу. recommendation_id* — Из get_recommendations.
publish_at — YYYY-MM-DD или YYYY-MM-DD HH:MM.
run_audit
изменяет
Аудит бренда против конкурентов. ТРАТИТ 1000 ЛИМИТОВ. Без competitors — 4 самых видимых. В фоне 5–20 мин: поллить get_audit(audit_id) до completed/failed. competitors — До 4, из get_audit_settings → available_competitors.
comparison_params — По умолчанию все.
model — system_name из get_audit_settings → neurals.
search_mode — verified (по умолчанию) — только проверенные источники.
delete_audit
удаляет
Удалить аудит. Необратимо. audit_id* — Из get_audit.
get_audit_settings Настройки автоаудита + справочники (конкуренты, нейросети, критерии) для update_audit_settings и run_audit. —
update_audit_settings
изменяет
Изменить настройки автоаудита, только меняемые поля; значения из get_audit_settings. Каждый автоаудит — 1000 лимитов. enabled
competitor_ids — До 4; [] — 4 самых видимых.
comparison_params
model — system_name.
emails_success — Кому слать готовый аудит.
emails_error — Кому слать ошибку.
attach_pdf
schedule
get_audit_pdf
изменяет
PDF завершённого аудита. Нет файла — запускает сборку, status=in_progress: повторить через 15–30 с. Бесплатно. audit_id* — Из get_audit.
get_audit_share_link Публичная ссылка на завершённый аудит (без авторизации). audit_id* — Из get_audit.
create_content_material
изменяет
Добавить материал в контент-план. Сразу привязать: prompt_ids (list_prompts), group_ids (все промпты групп) или prompts — недостающие тексты СОЗДАДУТСЯ в проекте. name* — Тема, до 500 символов.
url — URL публикации.
format
status
source_url — Документ с текстом.
published_at — YYYY-MM-DD.
comment — До 5000 символов.
prompt_ids
group_ids
prompts
update_content_material
изменяет
Изменить материал, только меняемые поля. Пустая строка в url, source_url, published_at, comment очищает поле. material_id* — Из get_content_plan.
name — Тема, до 500 символов.
url — URL публикации.
format
status
source_url — Документ с текстом.
published_at — YYYY-MM-DD.
comment — До 5000 символов.
delete_content_material
удаляет
Удалить материал с привязками промптов. Необратимо. material_id* — Из get_content_plan.
get_material_prompts Промпты материала: id, текст, видимость бренда. material_id* — Из get_content_plan.
attach_prompts_to_material
изменяет
Привязать промпты: prompt_ids (list_prompts), group_ids (все промпты групп) или prompts — недостающие тексты СОЗДАДУТСЯ в проекте. material_id* — Из get_content_plan.
prompt_ids
group_ids
prompts
detach_prompts_from_material
изменяет
Отвязать промпты (id из get_material_prompts) от материала; сами промпты остаются. material_id* — Из get_content_plan.
prompt_ids*
check_material_indexation
изменяет
Проверить индексацию URL материала в Google/Яндексе; без material_id — всех. ТРАТИТ 4 лимита за URL. В фоне минуты, результат — get_material_indexation. material_id — Из get_content_plan.
get_material_indexation Индексация URL материала в Google/Яндексе, дата проверки. material_id* — Из get_content_plan.
generate_content_plan
изменяет
ИИ-темы для контент-плана по промптам. ТРАТИТ 75 ЛИМИТОВ. Поллить get_content_plan_generation до completed, затем apply_content_plan_generation. Уже идущая вернётся без списания. —
get_content_plan_generation Статус генерации контент-плана; после завершения — темы (index, название, формат, промпты). generation_id* — Из generate_content_plan.
apply_content_plan_generation
изменяет
Добавить темы завершённой генерации в план как материалы с промптами. Без theme_indexes — все. Повтор создаст дубли. generation_id* — Из generate_content_plan.
theme_indexes — index тем из get_content_plan_generation.
generate_material_text
изменяет
ИИ-текст статьи по промптам материала (без промптов — ошибка). ТРАТИТ ЛИМИТЫ (cost в get_material_text_generation). Поллить get_material_text_generation. Параметры по умолчанию — из проекта/материала. material_id* — Из get_content_plan.
title
format
length — Символов, 500–60000.
brand_info — О бренде, до 500 символов.
language
cover
illustrations
faq
get_material_text_generation Статус последней генерации текста; после — заголовок, текст (до max_chars), .docx, картинки. cost — цена в лимитах. material_id* — Из get_content_plan.
max_chars — По умолчанию 8000.
list_reports Отчёты проекта, новые сверху: id, статус (queued/running/done/failed), период, блоки. status
limit — По умолчанию 20, максимум 100.
list_report_blocks Блоки отчёта: slug для blocks в create_report/create_report_schedule, название, описание, вкл. по умолчанию, цена в лимитах (платный только ai_conclusions). —
create_report
изменяет
Генерация отчёта в фоне (минуты): поллить get_report_status раз в 15–30 с до done, затем get_report_download_link. Бесплатно, кроме ai_conclusions — 500 лимитов; при нехватке он молча выключается. period — По умолчанию last_30_days; custom — даты в dates.
dates — [начало, конец] YYYY-MM-DD для custom.
comparison_period — prev_period — предыдущий такой же; null — без сравнения.
comparison_dates — Для comparison_period=custom.
blocks — slug из list_report_blocks; по умолчанию — дефолтные.
group_ids — Фильтр по группам (id из list_prompts); 0 — без группы. По умолчанию все.
get_report_status Статус отчёта: queued/running — повторить через 15–30 с; done — get_report_download_link; failed — создать заново. Плюс ссылка на просмотр. report_id* — Из list_reports или create_report.
get_report_download_link PDF готового (done) отчёта. Не собран — запускает сборку, status=in_progress: повторять через 15–30 с до status=success и file. report_id* — Из list_reports или create_report.
delete_report
удаляет
Удаляет отчёт безвозвратно. Сначала подтверди у пользователя. report_id* — Из list_reports или create_report.
list_report_schedules Регулярные отчёты: id, вкл., расписание, время, период, блоки, получатели. —
create_report_schedule
изменяет
Регулярный отчёт: генерируется по расписанию и уходит на emails. По умолчанию пн 09:00 за 7 дней. ai_conclusions — 500 лимитов при КАЖДОМ запуске. period — По умолчанию last_30_days; custom — даты в dates.
dates — [начало, конец] YYYY-MM-DD для custom.
comparison_period — prev_period — предыдущий такой же; null — без сравнения.
comparison_dates — Для comparison_period=custom.
blocks — slug из list_report_blocks; по умолчанию — дефолтные.
group_ids — Фильтр по группам (id из list_prompts); 0 — без группы. По умолчанию все.
enabled
schedule — weekdays — дни из weekdays, monthdays — числа из monthdays.
weekdays — 0 — вс, 1 — пн … 6 — сб.
monthdays — 1–31.
time — HH:MM.
emails — Кому слать готовый отчёт.
error_emails — Кому слать ошибку.
file_type — pdf — приложить к письму.
update_report_schedule
изменяет
Меняет регулярный отчёт (id из list_report_schedules), только меняемые поля. Выключить — enabled=false. schedule_id* — Из list_report_schedules.
period — По умолчанию last_30_days; custom — даты в dates.
dates — [начало, конец] YYYY-MM-DD для custom.
comparison_period — prev_period — предыдущий такой же; null — без сравнения.
comparison_dates — Для comparison_period=custom.
blocks — slug из list_report_blocks; по умолчанию — дефолтные.
group_ids — Фильтр по группам (id из list_prompts); 0 — без группы. По умолчанию все.
enabled
schedule — weekdays — дни из weekdays, monthdays — числа из monthdays.
weekdays — 0 — вс, 1 — пн … 6 — сб.
monthdays — 1–31.
time — HH:MM.
emails — Кому слать готовый отчёт.
error_emails — Кому слать ошибку.
file_type — pdf — приложить к письму.
delete_report_schedule
удаляет
Удаляет регулярный отчёт безвозвратно (готовые отчёты остаются). Пауза — enabled=false в update_report_schedule. Сначала подтверди у пользователя. schedule_id* — Из list_report_schedules.

* — обязательный параметр.

Кроме того, сервер отдаёт служебные describe_section и call_data_tool — их использует встроенный ИИ-помощник сервиса (ему доступно только чтение). Своему агенту удобнее вызывать инструменты напрямую.

Только в интерфейсе остаются действия, которые нельзя отменить или которые оплачиваются рублями: передача владения проектом, платное размещение материалов на внешних площадках и окончательная очистка корзины.

Протокол вручную

Обычно этим занимается MCP-клиент, но сервер можно проверить и через curl. Сервер stateless: сессии не нужны, каждый запрос самостоятельный.

Рукопожатие

curl -X POST "https://ai.pixeltools.ru/api/mcp" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'

Список инструментов

curl -X POST "https://ai.pixeltools.ru/api/mcp" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Вызов инструмента

curl -X POST "https://ai.pixeltools.ru/api/mcp" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_project_status","arguments":{"project_id":7953}}}'

Ответ

Результат инструмента — JSON, упакованный в текстовый блок:

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"data\":{\"id\":7953,\"name\":\"My Project\", ... ,\"parse\":{\"status\":\"in_progress\",\"progress\":42,\"phase\":\"receive\"}}}"
      }
    ],
    "isError": false
  }
}

Ошибки

СитуацияЧто вернёт сервер
Нет токена или он неверныйHTTP 401 с {"message": "API token required"} или {"message": "Invalid API token"}
Превышен лимит запросовHTTP 429
GET или DELETE на адрес сервераHTTP 405 — SSE-поток и сессии не поддерживаются
Неизвестный метод протоколаJSON-RPC ошибка -32601
Ошибка инструмента (нет доступа к проекту, проверка уже идёт, не хватает лимитов, неверные параметры)Обычный результат с "isError": true и текстом ошибки — агент прочитает его и сам решит, что делать

Безопасность

  • Токен даёт агенту доступ ко всем вашим проектам — храните его как пароль.
  • Если токен утёк, сгенерируйте новый в настройках — старый перестанет работать.
  • Агент может менять проекты, запускать проверки и генерации и тратить лимиты. Изменяющие инструменты помечены, и Claude спрашивает подтверждение перед их вызовом — не включайте автоподтверждение для них без необходимости.
Рейтинг статьи
0 (0 оценок)
Задайте вопрос или оставьте комментарий
Написать в поддержку