vobla-buklina/wordpress-mcp-server
If you are the rightful owner of wordpress-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The WordPress MCP Server is a Model Context Protocol server designed to manage WordPress posts through ChatGPT, enabling seamless content creation and management.
WordPress MCP Server
MCP (Model Context Protocol) сервер для управления WordPress постами через ChatGPT.
🎯 Что это?
Позволяет ChatGPT создавать, обновлять, получать и удалять посты на вашем WordPress сайте.
WordPress Site: https://vershki-koreshki-blog.ru/
🚀 Быстрый старт
1. Подключитесь к серверу
ssh root@45.90.33.68
2. Запустите установку
# Скачайте скрипт установки
curl -O https://raw.githubusercontent.com/YOUR_USERNAME/YOUR_REPO/main/install.sh
# Или клонируйте весь репозиторий
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
# Запустите установку
chmod +x install.sh
sudo ./install.sh
Скрипт автоматически:
- ✅ Установит все зависимости
- ✅ Создаст виртуальное окружение Python
- ✅ Установит Python пакеты
- ✅ Создаст systemd сервис
- ✅ Запустит MCP сервер
- ✅ Установит Cloudflare Tunnel для HTTPS
- ✅ Выдаст HTTPS URL для подключения к ChatGPT
3. Получите HTTPS URL
cat ~/cloudflared.log | grep "https://"
4. Подключите к ChatGPT
- Откройте ChatGPT
- Settings → Connectors → New Connector
- Укажите:
- Name: WordPress MCP
- URL:
https://your-url.trycloudflare.com/sse(из вывода install.sh) - Authentication: No authentication
- Сохраните
5. Используйте!
Попросите ChatGPT:
Напиши статью про комнатные растения на 300 слов и опубликуй на моём WordPress сайте
📐 Архитектура
ChatGPT
↓ HTTPS/SSE
Cloudflare Tunnel (бесплатный)
↓ HTTP
FastAPI MCP Server (port 8000)
↓ HTTPS
WordPress REST API
↓
WordPress Site (vershki-koreshki-blog.ru)
🛠️ Доступные инструменты
-
create_post - Создать новый пост
- title (обязательно)
- content (обязательно, HTML)
- excerpt (опционально)
- status (publish/draft/private)
-
update_post - Обновить существующий пост
- post_id (обязательно)
- title, content, excerpt (опционально)
-
get_posts - Получить список постов
- per_page (1-100, по умолчанию 10)
- page (по умолчанию 1)
-
delete_post - Удалить пост
- post_id (обязательно)
📊 Управление сервером
Проверка статуса
sudo systemctl status wordpress-mcp-server
Просмотр логов
sudo journalctl -u wordpress-mcp-server -f
Перезапуск
sudo systemctl restart wordpress-mcp-server
Остановка
sudo systemctl stop wordpress-mcp-server
🌐 Управление Cloudflare Tunnel
Получить HTTPS URL
cat ~/cloudflared.log | grep "https://"
Перезапустить туннель
pkill cloudflared
nohup cloudflared tunnel --url http://localhost:8000 > ~/cloudflared.log 2>&1 &
sleep 5
cat ~/cloudflared.log | grep "https://"
Статус туннеля
ps aux | grep cloudflared
🔧 Troubleshooting
Сервер не запускается
# Проверьте логи
sudo journalctl -u wordpress-mcp-server -n 50
# Проверьте порт
sudo netstat -tlnp | grep 8000
# Проверьте Python и зависимости
cd /opt/wordpress-mcp-server
source venv/bin/activate
python --version
pip list
ChatGPT не подключается
# Проверьте Cloudflare Tunnel
cat ~/cloudflared.log | tail -20
# Протестируйте URL
curl https://your-url.trycloudflare.com/health
# Проверьте локальный сервер
curl http://localhost:8000/health
401 ошибка при создании поста
Проверьте WordPress credentials в mcp_sse_server.py:
WORDPRESS_URL = "https://vershki-koreshki-blog.ru/"
WORDPRESS_USERNAME = "Buklya"
WORDPRESS_PASSWORD = "CBQDz*A7"
Порт 8000 уже занят
# Найти процесс
sudo netstat -tlnp | grep 8000
# Убить процесс
sudo kill -9 <PID>
# Или смените порт в mcp_sse_server.py
🔐 Безопасность
⚠️ Важно:
- WordPress credentials хранятся в коде - используйте Application Password
- Нет аутентификации на MCP endpoint - добавьте API ключ для production
- Cloudflare бесплатный туннель может быть нестабилен (URL меняется при перезапуске)
Рекомендации:
- Используйте WordPress Application Password вместо основного пароля
- Ограничьте доступ к серверу через firewall
- Для production используйте постоянный Cloudflare Tunnel
- Регулярно обновляйте зависимости:
pip install --upgrade -r requirements.txt
💡 Примеры использования
В ChatGPT
Создание статьи:
Пользователь: Напиши статью про уход за фикусом на 400 слов и опубликуй
ChatGPT: [Создаёт и публикует статью]
Статья "Уход за фикусом: полное руководство" опубликована!
URL: https://vershki-koreshki-blog.ru/uxod-za-fikusom/
Получение последних постов:
Пользователь: Покажи последние 5 постов
ChatGPT: [Показывает список с заголовками и ссылками]
Обновление поста:
Пользователь: Обнови пост 123, добавь в конец "P.S. Обновлено 2025"
ChatGPT: [Обновляет пост]
Через curl
# Создать пост
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_post",
"arguments": {
"title": "Тестовая статья",
"content": "<p>Это тестовая статья про растения</p>",
"status": "draft"
}
}
}'
📦 Требования
- Ubuntu 20.04+ / Debian 10+
- Python 3.10+
- WordPress 5.0+ с REST API
- Root или sudo доступ
- 1 GB RAM минимум
- Интернет соединение
📚 Структура проекта
wordpress-mcp-server/
├── mcp_sse_server.py # Главный сервер
├── requirements.txt # Python зависимости
├── install.sh # Скрипт установки
├── README.md # Эта документация
└── .gitignore # Git ignore файл
🆘 Поддержка
Если возникли проблемы:
- Проверьте логи сервера:
sudo journalctl -u wordpress-mcp-server -f - Проверьте Cloudflare Tunnel:
cat ~/cloudflared.log - Проверьте доступность WordPress:
curl https://vershki-koreshki-blog.ru/wp-json/wp/v2/posts
📄 Лицензия
MIT - используйте свободно!
Готово к работе! 🎉
Следующие шаги:
- Запустите
install.sh - Получите HTTPS URL
- Подключите к ChatGPT
- Попросите ChatGPT создать пост!