MCP WordPress CrunchTools
MCP WordPress CrunchTools
Безопасный MCP-сервер (Model Context Protocol) для управления контентом WordPress. Предназначен для разработчиков, публикующих материалы о своей работе.
Обзор
Этот MCP-сервер разработан с учётом следующих принципов:
Безопасен по умолчанию — комплексная проверка входных данных, защита учётных данных и предотвращение SSRF
Без сторонних сервисов — работает локально через stdio, ваши учётные данные никогда не покидают вашу машину
Кроссплатформенный — работает на Linux, macOS и Windows
Автоматически обновляется — GitHub Actions отслеживают CVE и обновляют зависимости
Контейнеризирован — доступен на
quay.io/crunchtools/mcp-wordpress
Related MCP server: TypeScript WordPress MCP Server
Соглашение об именовании
Компонент | Имя |
Репозиторий GitHub | |
Контейнер |
|
Пакет Python (PyPI) |
|
Команда CLI |
|
Импорт модуля |
|
Возможности
30 инструментов для записей, страниц, медиафайлов и комментариев
Ориентированность на безопасность: защита учётных данных, проверка входных данных, предотвращение SSRF
Рабочий процесс разработчика: отложенная публикация, ревизии, поиск
Простая интеграция: работает с Claude Code и другими MCP-клиентами
Установка
С помощью uvx (рекомендуется)
uvx mcp-wordpress-crunchtoolsС помощью pip
pip install mcp-wordpress-crunchtools
mcp-wordpress-crunchtoolsС помощью контейнера
# Create a shared upload directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads
podman run -v ~/.local/share/mcp-uploads-downloads:/tmp/mcp-uploads:z \
-e WORDPRESS_URL=https://example.com \
-e WORDPRESS_USERNAME=admin \
-e WORDPRESS_APP_PASSWORD='xxxx xxxx xxxx xxxx' \
quay.io/crunchtools/mcp-wordpressПримечание по SELinux: используйте
:z(строчная, общая) вместо:Z(заглавная, приватная). MCP-серверы работают как долгоживущие процессы stdio. При использовании:Zфайлы, скопированные в каталог после запуска контейнера, не будут иметь приватную метку MCS контейнера и будут невидимы внутри контейнера. Флаг:zустанавливает общий контекстcontainer_file_t, который доступен для чтения/записи всем контейнерам и хосту.Совет: используйте один и тот же общий каталог (
~/.local/share/mcp-uploads-downloads/) для нескольких MCP-контейнерных серверов (например, mcp-wordpress и mcp-gemini), чтобы сгенерированные файлы были сразу доступны для загрузки без копирования.
Из исходного кода
git clone https://github.com/crunchtools/mcp-wordpress.git
cd mcp-wordpress
uv sync --all-extras
uv run mcp-wordpress-crunchtoolsКонфигурация
Задайте следующие переменные окружения:
Переменная | Описание | Пример |
| URL сайта WordPress |
|
| Имя пользователя WordPress |
|
| Пароль приложения |
|
| Каталог загрузки внутри контейнера (необязательно) |
|
Создание пароля приложения
Войдите в админ-панель WordPress
Перейдите в Пользователи → Профиль
Прокрутите до Пароли приложений
Введите имя (например, «MCP Server») и нажмите Добавить новый
Скопируйте сгенерированный пароль (отображается один раз)
Использование с Claude Code
С помощью uvx (рекомендуется)
claude mcp add mcp-wordpress-crunchtools \
--env WORDPRESS_URL=https://example.com \
--env WORDPRESS_USERNAME=admin \
--env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
-- uvx mcp-wordpress-crunchtoolsС помощью pip
pip install mcp-wordpress-crunchtools
claude mcp add mcp-wordpress-crunchtools \
--env WORDPRESS_URL=https://example.com \
--env WORDPRESS_USERNAME=admin \
--env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
-- mcp-wordpress-crunchtoolsС помощью контейнера
# Create a shared upload directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads
claude mcp add mcp-wordpress-crunchtools \
--env WORDPRESS_URL=https://example.com \
--env WORDPRESS_USERNAME=admin \
--env WORDPRESS_APP_PASSWORD="xxxx xxxx xxxx xxxx" \
-- podman run -i --rm \
-v ~/.local/share/mcp-uploads-downloads:/tmp/mcp-uploads:z \
-e WORDPRESS_URL \
-e WORDPRESS_USERNAME \
-e WORDPRESS_APP_PASSWORD \
quay.io/crunchtools/mcp-wordpressДоступные инструменты
Инструменты для сайта
Инструмент | Описание |
| Получить название сайта, описание, URL, часовой пояс |
| Проверить работоспособность учётных данных API |
Инструменты для записей
Инструмент | Описание |
| Список записей с фильтрацией (статус, категория, поиск) |
| Получить запись по ID с полным содержимым |
| Поиск записей по ключевому слову |
| Создать новую запись (поддерживает отложенную публикацию) |
| Обновить существующую запись |
| Удалить/переместить запись в корзину |
| Список ревизий для записи |
| Получить содержимое конкретной ревизии |
| Список доступных категорий |
| Список доступных меток |
Инструменты для страниц
Инструмент | Описание |
| Список страниц с фильтрацией |
| Получить страницу по ID |
| Создать новую страницу |
| Обновить существующую страницу |
| Удалить/переместить страницу в корзину |
| Список ревизий страницы |
Инструменты для медиафайлов
Инструмент | Описание |
| Список медиафайлов |
| Получить сведения о медиафайле |
| Загрузить файл из локального пути |
| Обновить метаданные медиафайла |
| Удалить медиафайл |
| Получить публичный URL для медиафайла |
Инструменты для комментариев
Инструмент | Описание |
| Список комментариев с фильтрацией |
| Получить один комментарий |
| Добавить комментарий к записи |
| Обновить содержимое/статус комментария |
| Удалить комментарий |
| Одобрить, удержать, пометить спамом или переместить в корзину |
Примеры
Создание черновика записи
Create a new WordPress post titled "My Technical Article" with the content below. Keep it as a draft.Отложенная публикация записи
Update post ID 123 to publish on December 25, 2024 at 10:00 AM.Загрузка изображения
Upload this image to WordPress and set the alt text to "Architecture diagram".Поиск и модерация комментариев
List all comments in "hold" status and approve the legitimate ones.Безопасность
Защита учётных данных: все учётные данные хранятся как
SecretStr, никогда не логируютсяПредотвращение SSRF: путь REST API жёстко задан, его нельзя переопределить
Проверка входных данных: все входные данные проверяются через модели Pydantic
Ограничение скорости: корректно обрабатывает ограничения скорости WordPress
Принудительное использование TLS: все запросы используют HTTPS с проверкой сертификатов
Ограничение размера: размер ответа ограничен 10 МБ для предотвращения проблем с памятью
Тайм-аут: все запросы завершаются по тайм-ауту через 30 секунд
Разработка
# Install dev dependencies
uv sync --all-extras
# Run tests
uv run pytest
# Run linting
uv run ruff check src tests
# Run type checking
uv run mypy src
# Format code
uv run ruff format src testsЛицензия
AGPL-3.0-or-later
Авторы
Создано crunchtools.com
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceA lightweight MCP server that connects to WordPress via REST API, enabling content management (posts, pages, categories, etc.) and site configuration through natural language commands.Apache 2.0
- Alicense-qualityDmaintenanceMCP server for WordPress content management that provides a secure interface for AI assistants to interact with WordPress sites, enabling content creation, editing, and media management without destructive operations.MIT
- Alicense-qualityBmaintenanceAn MCP server that enables safe reconnaissance, mutation, and verification of WordPress sites through guarded, typed verbs with dry-run previews and change-packet audit records.MIT
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server that bridges AI assistants to WordPress, enabling natural-language management of posts, pages, media, comments, users, plugins, and settings across multiple sites simultaneously.
Related MCP Connectors
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-wordpress'
If you have feedback or need assistance with the MCP directory API, please join our Discord server