woocommerce-mcp-server
The WooCommerce MCP Server is a tool designed to integrate WooCommerce stores with AI assistants and task management systems such as Task Master. It offers data synchronization, content management, and performance enhancement features with support for webhooks and Redis integration.
WooCommerce MCP Server
MCP (Model Context Protocol) сервер для интеграции магазина WooCommerce с AI-ассистентами и системами управления задачами, такими как Task Master.
Возможности
- 🚀 Полная интеграция с WooCommerce REST API v3
- 🔄 Двусторонняя синхронизация данных между WooCommerce и Task Master
- 🧠 Совместимость с MCP 1.0 для AI-ассистентов
- 📊 Управление товарами, заказами, клиентами и аналитикой
- 📝 Поддержка WordPress-контента (статьи, SEO)
- 🔔 Обработка вебхуков для реактивной синхронизации
- 🛠️ Расширенные утилиты для кэширования, повторных попыток и валидации
Содержание
- Требования
- Установка
- Быстрый старт
- Настройка
- Интеграция с Task Master
- Использование вебхуков
- Docker
- Разработка
- Документация
- Тестирование
- Решение проблем
- Лицензия
Требования
- Node.js 16.x или выше
- WooCommerce 3.5+ с REST API v3
- Опционально: Redis для кэширования и очередей задач
Установка
С использованием npm
# Клонирование репозитория
git clone https://github.com/Vostos007/woocommerce-mcp-server.git
# Установка зависимостей
cd woocommerce-mcp-server
npm install
# Настройка переменных окружения
cp .env.example .env
# Отредактируйте файл .env вашими данными
# Сборка проекта
npm run build
# Запуск сервера
npm start
С использованием Docker
# Клонирование репозитория
git clone https://github.com/Vostos007/woocommerce-mcp-server.git
cd woocommerce-mcp-server
# Настройка переменных окружения
cp .env.example .env
# Отредактируйте файл .env вашими данными
# Запуск с помощью Docker Compose
docker-compose up -d
Быстрый старт
-
Получение ключей WooCommerce API:
- Перейдите в админ-панель WooCommerce → Настройки → Дополнительно → REST API
- Добавьте новый ключ с правами чтения/записи
- Скопируйте Consumer Key и Consumer Secret
-
Настройка переменных окружения:
- Отредактируйте файл
.env
и добавьте ключи API
- Отредактируйте файл
-
Запуск сервера:
npm start
-
Проверка работоспособности:
# Тестирование соединения с WooCommerce node scripts/test-connection.js # Тестирование API товаров node scripts/test-products.js # Тестирование API заказов node scripts/test-orders.js
Настройка
Конфигурация WooCommerce
Для корректной работы с API WooCommerce, убедитесь, что:
- У вас установлена версия WooCommerce 3.5 или выше
- REST API включен в настройках WooCommerce
- Созданы ключи API с достаточными правами
Настройка Redis (опционально)
Для улучшения производительности и надежности, вы можете включить интеграцию с Redis:
- Установите Redis на ваш сервер или используйте облачный сервис
- Настройте параметры подключения в файле
.env
:USE_REDIS=true REDIS_URL=redis://localhost:6379
Настройка уровня логирования
Вы можете настроить уровень логирования в файле .env
:
# Доступные уровни: debug, info, warn, error
LOG_LEVEL=info
Интеграция с Task Master
Для подключения к системе управления задачами Task Master:
-
Настройка параметров Task Master в
.env
:TASK_MASTER_URL=http://your-task-master-url.com TASK_MASTER_API_KEY=your-api-key
-
Настройка автоматической синхронизации:
- Создайте проект в Task Master для WooCommerce
- Скопируйте ID проекта и добавьте в настройки вебхуков
- Настройте вебхуки для отслеживания изменений
Подробная инструкция по интеграции с Task Master находится в .
Использование вебхуков
WooCommerce MCP Server поддерживает вебхуки для реактивного обновления данных.
Настройка вебхуков WooCommerce
-
Добавьте настройки вебхуков в файл
.env
:WEBHOOK_SECRET=your-webhook-secret
-
Создайте вебхуки с помощью скрипта:
node scripts/setup-webhooks.js
-
Или используйте утилиту для управления вебхуками:
import { WebhookManager } from './src/utils/webhooks'; const webhookManager = new WebhookManager(wooConfig, 'your-secret'); await webhookManager.setupTaskMasterWebhooks('https://your-server.com/webhooks');
Docker
Локальная разработка с Docker
# Запуск в режиме разработки
docker-compose up
Производственное развертывание
# Сборка производственного образа
docker build -t woocommerce-mcp-server:latest .
# Запуск контейнера
docker run -p 3000:3000 --env-file .env woocommerce-mcp-server:latest
Переменные окружения в Docker
Вы можете передать переменные окружения непосредственно в docker run
:
docker run -p 3000:3000 \
-e WOOCOMMERCE_URL=https://your-store.com \
-e WOOCOMMERCE_KEY=your-key \
-e WOOCOMMERCE_SECRET=your-secret \
woocommerce-mcp-server:latest
Разработка
Структура проекта
/woocommerce-mcp-server
/docs # Документация
/scripts # Вспомогательные скрипты
/src
/tools # Инструменты для работы с API
products.ts # Функции для работы с товарами
orders.ts # Функции для работы с заказами
customers.ts # Функции для работы с клиентами
analytics.ts # Функции для аналитики
posts.ts # Функции для работы со статьями
seo.ts # Функции для работы с SEO
/utils # Утилиты
woocommerce.ts # Клиент для WooCommerce API
wordpress.ts # Клиент для WordPress API
seo-plugin.ts # Утилиты для работы с SEO
validation.ts # Утилиты для валидации данных
cache.ts # Утилиты для кэширования
retry.ts # Утилиты для повторных попыток
webhooks.ts # Утилиты для вебхуков
task-master.ts # Адаптер для интеграции с Task Master
/types # Типы TypeScript
woocommerce.d.ts # Типы данных WooCommerce
wordpress.d.ts # Типы данных WordPress
index.ts # Точка входа
.env.example # Пример переменных окружения
Dockerfile # Описание Docker-образа
docker-compose.yml # Конфигурация Docker Compose
Запуск в режиме разработки
# Запуск с поддержкой автоматической перезагрузки
npm run dev
Стиль кода и линтинг
Проект использует ESLint и Prettier для обеспечения единого стиля кода:
# Проверка стиля кода
npm run lint
# Автоматическое форматирование кода
npm run format
Документация
Дополнительная документация доступна в директории /docs
:
Тестирование
# Запуск всех тестов
npm test
# Запуск тестов с отчетом о покрытии
npm run test:coverage
Решение проблем
Проблемы с подключением к WooCommerce API
- Убедитесь, что URL магазина указан правильно и доступен
- Проверьте ключ и секрет API
- Убедитесь, что у ключа API достаточно прав
- Проверьте, что API WooCommerce включен и работает
Ошибки интеграции с Task Master
- Проверьте доступность Task Master по указанному URL
- Убедитесь, что API-ключ Task Master указан правильно
- Проверьте настройки проекта и права доступа
Логи и отладка
Для более подробной диагностики проблем, включите отладочное логирование:
LOG_LEVEL=debug
Дополнительная помощь
Если у вас возникли проблемы, создайте issue в репозитории проекта или обратитесь к документации.
Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле .