Комплексный сервер WordPress MCP
Комплексный сервер Model Context Protocol (MCP), который позволяет помощникам ИИ взаимодействовать с сайтами WordPress через WordPress REST API. Этот сервер предоставляет инструменты для программного управления всеми аспектами WordPress, включая записи, пользователей, комментарии, категории, теги и пользовательские конечные точки.
Функции
Управление почтой
Создание, извлечение, обновление и удаление записей WordPress.
Фильтровать сообщения по различным параметрам
Поддержка пагинации для списков сообщений
Управление пользователями
Получить информацию о пользователе по идентификатору или логину
Обновить данные пользователя
Удалить пользователей
Комментарии Управление
Создание, извлечение, обновление и удаление комментариев
Фильтровать комментарии по сообщению
Поддержка пагинации для списков комментариев
Управление таксономией
Управление категориями и тегами
Создание, извлечение, обновление и удаление таксономий
Найти категории и теги по слагу
Информация о сайте
Получить общую информацию о сайте WordPress
Индивидуальные запросы
Поддержка пользовательских конечных точек REST API
Пользовательские методы HTTP (GET, POST, PUT, DELETE)
Пользовательские данные и параметры
Related MCP server: WordPress MCP Server
Предпосылки
Node.js v18 или выше
Сайт WordPress с включенным REST API
Пароль приложения WordPress для аутентификации
Установка
Клонируйте этот репозиторий:
git clone [repository-url]
cd wordpress-mcp-serverУстановите зависимости:
npm installСборка сервера:
npm run buildКонфигурация WordPress
Перед использованием сервера вам необходимо настроить свой сайт WordPress:
Убедитесь, что на вашем сайте WordPress включен REST API (включен по умолчанию в WordPress 4.7+)
Создайте пароль приложения:
Войдите в свою панель администратора WordPress.
Перейти к разделу Пользователи → Профиль
Прокрутите вниз до пункта «Пароли приложений».
Введите имя приложения (например, «MCP Server»).
Нажмите «Добавить новый пароль приложения».
Скопируйте сгенерированный пароль (вы больше его не увидите)
Конфигурация МКП
Добавьте сервер в файл настроек MCP (обычно он находится по адресу ~/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ):
{
"mcpServers": {
"wordpress": {
"command": "node",
"args": ["path/to/wordpress-mcp-server/build/index.js"]
}
}
}Доступные инструменты
Управление почтой
1. создать_пост
Создает новую запись WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresstitle(обязательно): заголовок сообщенияcontent(обязательно): Опубликовать контентstatus(необязательно): статус сообщения («черновик», «опубликовать» или «личное», по умолчанию «черновик»)
Пример:
{
"tool": "create_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"title": "My First Post",
"content": "Hello, world!",
"status": "draft"
}2. получить_сообщения
Извлекает записи WordPress с разбивкой на страницы.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressperPage(необязательно): Количество сообщений на странице (по умолчанию: 10)page(необязательно): Номер страницы (по умолчанию: 1)customParams(необязательно): Дополнительные параметры запроса
Пример:
{
"tool": "get_posts",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"perPage": 5,
"page": 1
}3. обновление_поста
Обновляет существующую запись WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresspostId(обязательно): идентификатор поста для обновленияtitle(необязательно): Новый заголовок постаcontent(необязательно): новый контент постаstatus(необязательно): статус новой публикации («черновик», «опубликовать» или «личное»)
Пример:
{
"tool": "update_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"postId": 123,
"title": "Updated Title",
"content": "Updated content",
"status": "publish"
}4. удалить_пост
Удаляет запись WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresspostId(обязательно): идентификатор поста, который нужно удалить
Пример:
{
"tool": "delete_post",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"postId": 123
}Управление пользователями
1. получить_пользователей
Извлекает пользователей WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressperPage(необязательно): количество пользователей на страницу (по умолчанию: 10)page(необязательно): Номер страницы (по умолчанию: 1)
2. получить_пользователя
Извлекает определенного пользователя WordPress по идентификатору.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressuserId(обязательно): идентификатор пользователя для извлечения
3. получить_пользователя_по_логину
Извлекает пользователя WordPress по имени входа.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressuserLogin(обязательно): Имя пользователя для входа в систему
Управление комментариями
1. получить_комментарии
Извлекает комментарии WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressperPage(необязательно): Количество комментариев на страницу (по умолчанию: 10)page(необязательно): Номер страницы (по умолчанию: 1)postIdForComment(необязательно): Фильтрация комментариев по идентификатору сообщения
2. создать_комментарий
Создает новый комментарий к записи.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresspostIdForComment(обязательно): идентификатор поста, который нужно прокомментироватьcommentContent(обязательно): Содержание комментарияcustomData(необязательно): Дополнительные данные комментариев
Управление категориями и тегами
1. получить_категории
Извлекает категории WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPressperPage(необязательно): Количество категорий на страницу (по умолчанию: 10)page(необязательно): Номер страницы (по умолчанию: 1)
2. создать_категорию
Создает новую категорию WordPress.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresscategoryName(обязательно): Название категории, которую нужно создать.customData(необязательно): Дополнительные данные категории (описание, родитель и т. д.)
Индивидуальные запросы
1. пользовательский_запрос
Выполняет индивидуальный запрос к любой конечной точке WordPress REST API.
Параметры:
siteUrl(обязательно): URL вашего сайта WordPressusername(обязательно): имя пользователя WordPresspassword(обязательно): пароль приложения WordPresscustomEndpoint(обязательно): путь к конечной точке APIcustomMethod(необязательно): метод HTTP ('GET', 'POST', 'PUT', 'DELETE', по умолчанию: 'GET')customData(необязательно): данные для запросов POST/PUTcustomParams(необязательно): параметры URL для GET-запросов
Пример:
{
"tool": "custom_request",
"siteUrl": "https://example.com",
"username": "admin",
"password": "xxxx xxxx xxxx xxxx",
"customEndpoint": "wp/v2/media",
"customMethod": "GET",
"customParams": {
"per_page": 5
}
}Формат ответа
Все инструменты возвращают ответы в следующем формате:
Успешный ответ
{
"success": true,
"data": {
// WordPress API response data
},
"meta": {
// Optional metadata (pagination info, etc.)
}
}Ошибка ответа
{
"success": false,
"error": "Error message here"
}Соображения безопасности
Всегда используйте HTTPS URL для вашего сайта WordPress
Используйте пароли приложений вместо основного пароля WordPress.
Храните пароли своих приложений в безопасности и никому их не передавайте.
Рассмотрите возможность использования ролей и возможностей WordPress для ограничения доступа.
Регулярно меняйте пароли приложений
Разработка
Внести свой вклад в развитие:
Форк репозитория
Создать ветку функций
Внесите изменения
Проведение тестов (при наличии)
Отправить запрос на извлечение
Для режима разработки с автоматической перекомпиляцией:
npm run devЛицензия
Данный проект лицензирован по лицензии ISC.
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.