Skip to main content
Ai-инженер, разработчик
14 июля, 2025

MCP-сервер интеграции Claude и WordPres

Что такое MCP? Model Context Protocol (MCP) — открытый стандарт, который использует Claude (а вскоре и другие AI-ассистенты) для вызова внешних «инструментов». MCP-сервер сообщает Claude, какие инструменты доступны, и ассистент вызывает их через JSON-RPC.

С помощью AI Engine ваш сайт на WordPress предоставляет 30 + инструментов: от создания постов (wp_create_post) и загрузки медиафайлов (wp_upload_media) до операций с темами. Claude может создавать черновики, загружать изображения, проставлять теги, модифицировать тему — всё в одном чате.

Маленький Node-скрипт mcp.js (поставляется с AI Engine) — это сам мост. Он написан под macOS и не тестировался в Windows. Что он делает:

  • Открывает защищённый SSE-поток к WordPress (/wp-json/mcp/v1/sse);
  • Прокидывает JSON-RPC-вызовы Claude на /wp-json/mcp/v1/messages;
  • Передаёт ответы обратно Claude;
  • Автоматически завершает работу (посылает mwai/kill и выходит), когда Claude закрывается.

Нет сомнений, что со временем Claude получит прямое подключение к AI Engine по SSE. OpenAI уже объявила, что планирует добавить это и в ChatGPT. Пока же весь стек в стадии бета-тестирования, рассчитан на продвинутых пользователей и разработчиков, умеющих работать в CLI и отлаживать. Плюс AI получает полный доступ к вашему WordPress, так что… возможно всё.


1. Требования

  1. WordPress 6.7 и выше
  2. WP REST API (обычно включён по умолчанию)
  3. AI Engine 2.7.6 и выше
  4. Claude Desktop ≥ 0.9.2
  5. Node ≥ 20.19.0

mcp.js берёт на себя всё остальное: регистрирует сайты, редактирует конфиг Claude, запускает релей и корректно завершает его работу.


2. Подключение Claude к вашему сайту

Сначала задайте токен аутентификации в настройках AI Engine на вкладке DevTools.

Скопируйте содержимое папки labs к себе (или хотя бы сам mcp.js) и выполните:

chmod +x ai-engine/labs/mcp.js

ai-engine/labs/mcp.js add https://example.com TOKEN

ai-engine/labs/mcp.js start example.com

Первая команда создаёт запись MCP в конфиге Claude: ~/Library/Application Support/Claude/claude_desktop_config.json.

Запустите Claude Desktop и подождите несколько секунд. Вы должны увидеть, что AI Engine корректно загружен как MCP-сервер.

Не удивляйтесь, если этого не произойдёт — проблем может быть много: защита сервера, SSL, кэширование, причуды SSE, edge-кэш, Cloudflare и т. д. Если токен не подходит, Claude ничего не скажет — смотрите логи. Начните с локальной установки, чтобы минимизировать переменные.


3. Попробуйте эти промпты

  • Простой — «Список моих последних 5 постов».
  • Простой — «Создать черновик с заголовком Моё AI приключение, один абзац, прикрепить случайное изображение из Медиа-библиотеки».
  • Средний — «Проанализируй 10 новых постов и опубликуй логичное продолжение. Используй существующие категории и теги. Сгенерируй изображение, если подходящего нет».

4. Проблемы и отладка

Загляните в ~/Library/Logs/Claude — там могут быть полезные логи (но не всегда).

Каждое SSE-подключение занимает один PHP-воркер. Пара сессий Claude может быстро съесть ресурсы, если не завершится корректно, и сайт перестанет отвечать. Тогда перезапустите веб-сервер или убейте процессы php-fpm — зависит от конфигурации.

Если SSE закрывается нештатно, воспользуйтесь «мягким» выходом (закройте Claude или прервите Ctrl + C). Иначе перезапустите PHP- или веб-сервер.

Частые ловушки

  • NVM и версия Node. Если вы видите ошибки JS, убедитесь, что NVM не подтягивает старую версию Node (nvm list).
  • Кэширование. Подключение к SSE идёт не через браузер, и Cloudflare/хостинг могут заблокировать поток как «не-браузер». Например, на Kinsta придётся отключить Edge-Caching или попросить их исключить SSE-эндпоинт AI Engine.
  • Для теста SSE на сервере попробуйте gist.

Полезные команды mcp.js

ai-engine/labs/mcp.js claude none

mcp.js start example.com

mcp.js relay example.com

mcp.js add mysite.com TOKEN

mcp.js list

mcp.js claude mysite.com

mcp.js post mysite.com '{"method":"tools/list"}' <session_id>

В wp-content/plugins/ai-engine/classes/modules/mcp.php можно включить расширенный лог:

private $logging = true;

Затем смотрите wp-content/debug.log.


Что происходит при закрытии Claude?

mcp.js сам зачищает за собой:

  • определяет закрытие stdin,
  • отправляет уведомление mwai/kill в WordPress,
  • прерывает fetch SSE,
  • завершает работу с кодом 0 — без «зависших» процессов node.

Статьи по теме: