Улучшенный сервер Klaviyo MCP
Комплексный сервер Model Context Protocol (MCP) для взаимодействия с API Klaviyo. Эта улучшенная версия обеспечивает расширенные возможности аналитики, оптимизацию производительности и надежную обработку ошибок, сохраняя при этом полную совместимость с исходным сервером MCP.
🌟 Основные характеристики
Расширенная аналитика и отчетность : доступ к показателям эффективности кампании, агрегированным данным и подробным сведениям.
Комплексное покрытие API : поддержка всех конечных точек API Klaviyo с последней версией (15.06.2024)
Оптимизация производительности : интеллектуальное кэширование, обработка ограничений скорости и эффективная обработка данных.
Надежная обработка ошибок : механизмы отката, подробное ведение журнала и плавная деградация
Простая интеграция : бесшовная интеграция с Клодом и другими LLM через протокол контекста модели
Related MCP server: Twilio MCP Server
📊 Возможности аналитики и отчетности
В этой улучшенной версии добавлены мощные аналитические возможности, которых не было в оригинале:
Показатели эффективности кампании : показатели открытий, кликов, отказов и т. д.
Пользовательская агрегация метрик : агрегация метрик по периодам времени, измерениям и измерениям.
Атрибуция доходов : отслеживайте доходы, полученные от кампаний и потоков.
Аналитика подписчиков : анализ роста числа подписчиков, их вовлеченности и поведения.
🔧 Технические улучшения
1. Централизованная конфигурация ✅
Создана центральная система конфигурации (
src/config.js) для всех параметров API.Сделал дату пересмотра API, действительную статистику и другие параметры легко настраиваемыми
Предотвращены несоответствия между различными файлами при изменении параметров API.
2. Улучшенная система ведения журнала ✅
Реализована надежная система ведения журнала с различными уровнями (отладка, информация, предупреждение, ошибка)
Добавлено специализированное ведение журнала для запросов и ответов API.
Маскировка конфиденциальных данных в журналах в целях безопасности
Настраиваемые места назначения и уровень детализации журнала
3. Интеллектуальное ограничение скорости ✅
Добавлена логика повтора для ошибок ограничения скорости
Реализована экспоненциальная задержка с джиттером для повторных попыток
Добавлена четкая обратная связь при достижении ограничений по скорости
Приоритетные критические запросы во время ограничения скорости
4. Кэширование производительности ✅
Реализовано кэширование в памяти для часто используемых данных
Добавлена возможность аннулирования кэша на основе TTL (времени жизни)
Оптимизированный кэш для различных типов данных (показатели, кампании и т. д.)
Статистика кэширования для мониторинга и оптимизации
5. Обработка ошибок и откаты ✅
Комплексная обработка ошибок для всех взаимодействий API
Резервные механизмы для ухудшения работы при сбое основных запросов
Подробные сообщения об ошибках и информация по устранению неполадок
Предотвращение и обработка ошибок анализа JSON
🔄 Версия API
Эта улучшенная версия использует Klaviyo API Revision 2024-06-15 , которая включает в себя последние функции и улучшения. Сервер разработан для обеспечения прямой совместимости с будущими версиями API через централизованную систему конфигурации.
📋 Атрибуция
Этот проект является улучшенной версией оригинального Klaviyo MCP Server, созданного Мэттом Коутсвортом . Оригинальная работа легла в основу этой улучшенной версии.
🚀 Начало работы
Предпосылки
Node.js v18 или выше
Аккаунт Klaviyo с доступом к API
Закрытый ключ API с соответствующими областями действия (кампании: чтение, метрики: чтение и т. д.)
Установка
Клонируйте этот репозиторий:
git clone https://github.com/ivan-rivera-projects/Klaviyo-MCP-Server-Enhanced.git cd Klaviyo-MCP-Server-EnhancedУстановить зависимости:
npm installСоздайте файл
.envна основе.env.example:cp .env.example .envОтредактируйте файл
.env, чтобы добавить свой ключ API Klaviyo:KLAVIYO_API_KEY=your_private_api_key_here LOG_LEVEL=info LOG_FILE=/tmp/klaviyo-mcp.log LOG_RESPONSES=false NODE_ENV=development
Запуск сервера
Запустить сервер в режиме разработки с автоматической перезагрузкой:
Для производственного использования:
Тестирование с помощью MCP Inspector
Вы можете протестировать сервер с помощью MCP Inspector:
Откроется веб-интерфейс, где вы сможете протестировать все доступные инструменты и ресурсы.
📚 Документация
Подробную информацию о возможностях аналитики и параметрах API см. здесь:
ANALYTICS.md — Полная документация по функциям и использованию аналитики
docs/KLAVIYO_API_REFERENCE.md - Справочник по параметрам API Klaviyo
🔍 Примеры использования
Получение показателей эффективности кампании
Запрос агрегированных показателей
Получение сводки эффективности кампании
🛠️ Доступные инструменты
Аналитика и отчетность (новое в расширенной версии)
get_campaign_metrics: получение показателей эффективности для определенной кампании (показатели открытий, показатели кликов и т. д.)query_metric_aggregates: Запрос агрегированных метрических данных для создания пользовательских аналитических отчетовget_campaign_performance: получите полную сводку эффективности кампании
Кампании (Расширенные)
get_campaigns: Получить кампании от Klaviyoget_campaign: Получить конкретную кампанию от Klaviyoget_campaign_message: Получить конкретное сообщение кампании с данными шаблонаget_campaign_messages: Получить все сообщения для определенной кампанииget_campaign_recipient_estimation: Получить предполагаемое количество получателей для кампании
Профили
get_profiles: Получить профили из Klaviyoget_profile: Получить определенный профиль из Klaviyocreate_profile: Создать новый профиль в Klaviyoupdate_profile: Обновить существующий профиль в Klaviyodelete_profile: Удалить профиль из Klaviyo
Списки и сегменты
get_lists: Получить списки из Klaviyoget_list: Получить определенный список из Klaviyocreate_list: Создать новый список в Klaviyoadd_profiles_to_list: Добавить профили в список в Klaviyoget_segments: Получить сегменты из Klaviyoget_segment: Получить определенный сегмент из Klaviyo
События и метрики
get_events: Получить события от Klaviyocreate_event: Создать новое событие в Klaviyoget_metrics: Получить метрики от Klaviyoget_metric: Получить определенную метрику из Klaviyo
Потоки
get_flows: Получить потоки от Klaviyoget_flow: Получить определенный поток из Klaviyoupdate_flow_status: Обновить статус потока в Klaviyo
Управление контентом
get_templates: Получить шаблоны из Klaviyoget_template: Получить определенный шаблон из Klaviyocreate_template: Создать новый шаблон в Klaviyoget_images: Получить изображения из Klaviyoget_image: Получить определенное изображение из Klaviyo
Электронная коммерция
get_catalogs: Получить каталоги от Klaviyoget_catalog_items: Получить элементы из каталога в Klaviyoget_catalog_item: Получить определенный элемент из каталога в Klaviyoget_coupons: Получить купоны от Klaviyocreate_coupon_code: Создать новый код купона в Klaviyo
Дополнительные инструменты
get_tags: Получить теги от Klaviyocreate_tag: Создать новый тег в Klaviyoadd_tag_to_resource: Добавить тег к ресурсу в Klaviyoget_webhooks: Получить вебхуки от Klaviyocreate_webhook: создать новый вебхук в Klaviyodelete_webhook: удалить вебхук из Klaviyo.request_profile_deletion: Запрос на удаление профиля для соблюдения конфиденциальности данныхget_forms: Получить формы из Klaviyoget_form: Получить определенную форму из Klaviyoget_product_reviews: Получите обзоры продуктов от Klaviyoget_product_review: Получите обзор конкретного продукта от Klaviyo
🔗 Доступные ресурсы
klaviyo://profile/{id}: Получить информацию о конкретном профилеklaviyo://list/{id}: Получить информацию о конкретном спискеklaviyo://segment/{id}: Получить информацию о конкретном сегментеklaviyo://campaign/{id}: Получить информацию о конкретной кампанииklaviyo://flow/{id}: Получить информацию о конкретном потокеklaviyo://template/{id}: Получить информацию о конкретном шаблонеklaviyo://metric/{id}: Получить информацию о конкретной метрикеklaviyo://catalog/{id}: Получить информацию о конкретном каталоге
⚠️ Известные проблемы и ограничения
API Klaviyo может накладывать ограничения на скорость отправки отчетов на конечные точки
Некоторые показатели могут быть доступны в API с задержкой.
Доступность исторических данных может быть ограничена в зависимости от вашего плана Klaviyo.
При использовании с Claude Desktop вы можете иногда видеть предупреждения анализа JSON, которые не влияют на функциональность.
📝 Лицензия
Этот проект является производным от оригинального Klaviyo MCP Server. Пожалуйста, свяжитесь с оригинальным автором для получения информации о лицензировании.
👥 Участники
Оригинальная работа Мэтта Коутсворта
Расширенная версия Ивана Риверы