wordpress-mcp-server

vobla-buklina/wordpress-mcp-server

3.2

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.

Tools
4
Resources
0
Prompts
0

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

  1. Откройте ChatGPT
  2. Settings → Connectors → New Connector
  3. Укажите:
    • Name: WordPress MCP
    • URL: https://your-url.trycloudflare.com/sse (из вывода install.sh)
    • Authentication: No authentication
  4. Сохраните

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)

🛠️ Доступные инструменты

  1. create_post - Создать новый пост

    • title (обязательно)
    • content (обязательно, HTML)
    • excerpt (опционально)
    • status (publish/draft/private)
  2. update_post - Обновить существующий пост

    • post_id (обязательно)
    • title, content, excerpt (опционально)
  3. get_posts - Получить список постов

    • per_page (1-100, по умолчанию 10)
    • page (по умолчанию 1)
  4. 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 меняется при перезапуске)

Рекомендации:

  1. Используйте WordPress Application Password вместо основного пароля
  2. Ограничьте доступ к серверу через firewall
  3. Для production используйте постоянный Cloudflare Tunnel
  4. Регулярно обновляйте зависимости: 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 файл

🆘 Поддержка

Если возникли проблемы:

  1. Проверьте логи сервера: sudo journalctl -u wordpress-mcp-server -f
  2. Проверьте Cloudflare Tunnel: cat ~/cloudflared.log
  3. Проверьте доступность WordPress: curl https://vershki-koreshki-blog.ru/wp-json/wp/v2/posts

📄 Лицензия

MIT - используйте свободно!


Готово к работе! 🎉

Следующие шаги:

  1. Запустите install.sh
  2. Получите HTTPS URL
  3. Подключите к ChatGPT
  4. Попросите ChatGPT создать пост!