Ghost CMS MCP Server
Ghost MCP Server
Это форк MFYDev/ghost-mcp, который теперь поддерживается и улучшается @hithereiamaliff.
Этот сервер протокола контекста моделей (MCP) предоставляет мощный и гибкий способ управления вашим экземпляром Ghost CMS с использованием интерфейсов больших языковых моделей (LLM). Он предлагает полный и безопасный доступ к административным функциям вашего блога, позволяя автоматизировать и оптимизировать рабочие процессы управления контентом.
Возможности
Надежная интеграция с API: Использует прямые аутентифицированные вызовы
axiosдля всех операций Admin API, обеспечивая стабильное и надежное соединение, не зависящее от внешних библиотек.Комплексный доступ к сущностям: Управление публикациями, пользователями, участниками, уровнями подписки, предложениями и новостными рассылками.
Улучшенная обработка ошибок: Предоставляет подробные коды состояния и тела ответов.
Современный транспорт: Исключительно использует потоковый HTTP-транспорт, вся устаревшая логика STDIO удалена.
Диагностические инструменты: Включает инструменты для устранения неполадок подключения к API и конфигурации.
Поддержка нескольких арендаторов: Использует
mcp-key-service, поэтому публичные/общие развертывания никогда не раскрывают необработанные учетные данные Ghost в URL-адресах MCP.Аналитика Firebase: Облачное хранилище аналитики с использованием Firebase Realtime Database и локальным резервным копированием файлов.
Готовность к развертыванию на VPS: Поддержка Docker, Nginx и автоматического развертывания через GitHub Actions.
Related MCP server: Ghost MCP
Установка и использование
Этот MCP-сервер доступен через два метода развертывания:
Метод 1: Пакет NPM (рекомендуется для клиентов MCP)
Установите напрямую из npm:
npm install -g mcp-ghostcmsИли используйте с npx (установка не требуется):
npx mcp-ghostcmsИспользование с Claude Desktop
Для использования с клиентами MCP, такими как Claude Desktop, добавьте следующее в ваш claude_desktop_config.json:
{
"mcpServers": {
"mcp-ghostcms": {
"command": "npx",
"args": ["-y", "mcp-ghostcms"],
"env": {
"GHOST_API_URL": "https://yourghostbloginstance.com",
"GHOST_ADMIN_API_KEY": "your_admin_api_key",
"GHOST_API_VERSION": "v6.0"
}
}
}
}Метод 2: Облачная платформа Smithery
Разверните и запустите на облачной платформе Smithery:
Или для локальной разработки со Smithery:
git clone <this-repo>
cd ghost-mcp
npm install
npm run devЭто запустит сервер на порту 8080 и откроет Smithery Playground в вашем браузере.
Метод 3: Самостоятельно размещенный VPS с сервисом ключей MCP
Для публичных/общих развертываний этот MCP-сервер может быть размещен на собственном VPS и разрешает учетные данные Ghost через mcp-key-service. Пользователи один раз регистрируют URL своего сайта Ghost и ключ администратора, получают ключ usr_XXXXXXXX, и в URL-адресе MCP отображается только этот пользовательский ключ.
Формат URL-адреса MCP
https://your-domain.com/ghostcms/mcp/usr_YOUR_USER_KEYАльтернативная форма с параметрами запроса:
https://your-domain.com/ghostcms/mcp?api_key=usr_YOUR_USER_KEYПример использования с Claude Desktop
Добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"ghost-myblog": {
"type": "streamable-http",
"url": "https://mcp.yourdomain.com/ghostcms/mcp/usr_YOUR_USER_KEY"
}
}
}Живая демонстрация
Публичный экземпляр доступен по адресу:
https://mcp.techmavie.digital/ghostcms/mcp/usr_YOUR_USER_KEYПримечание: Сначала зарегистрируйте свои учетные данные Ghost на
mcpkeys.techmavie.digital, чтобы получить ключusr_.
Конфигурация
Этот MCP-сервер требует следующей конфигурации:
GHOST_API_URL: URL вашего сайта Ghost (только домен, без пути), например,
https://yourghostbloginstance.comGHOST_ADMIN_API_KEY: Ваш ключ Ghost Admin API в формате
id:secret(из Ghost Admin → Settings → Integrations).GHOST_API_VERSION: Версия Ghost API (
v5.0для Ghost 5.x,v6.0для Ghost 6.x).GHOST_CONTENT_API_KEY (необязательно): Ваш ключ Ghost Content API для операций только для чтения.
Для размещенного HTTP-режима настройте KEY_SERVICE_URL и KEY_SERVICE_TOKEN на сервере и установите MCP_API_KEY, если вы хотите защитить конечные точки аналитики заголовком X-API-Key.
Доступные ресурсы
Следующие ресурсы Ghost CMS доступны через этот MCP-сервер:
Публикации (Posts): Статьи и контент, опубликованные на вашем сайте Ghost.
Участники (Members): Зарегистрированные пользователи и подписчики вашего сайта.
Новостные рассылки (Newsletters): Рассылки по электронной почте, управляемые и отправляемые через Ghost.
Предложения (Offers): Рекламные предложения и скидки для участников.
Приглашения (Invites): Приглашения для новых пользователей или сотрудников присоединиться к вашему сайту Ghost.
Роли (Roles): Роли пользователей и разрешения в административной панели Ghost.
Теги (Tags): Организационные теги для публикаций и контента.
Уровни подписки (Tiers): Уровни подписки и планы для участников.
Пользователи (Users): Пользователи-администраторы и учетные записи сотрудников.
Вебхуки (Webhooks): Автоматизированные уведомления о событиях для внешних сервисов.
Доступные инструменты
Этот MCP-сервер предоставляет широкий спектр инструментов для управления вашей Ghost CMS. Эти инструменты предоставляются через протокол контекста моделей и позволяют выполнять полный спектр операций CRUD (создание, чтение, обновление, удаление) с ресурсами вашего блога. Ниже приведен обзор доступного набора инструментов:
Публикации
Просмотр публикаций: Список публикаций с дополнительными фильтрами, пагинацией и сортировкой.
Чтение публикации: Получение публикации по ID или слагу.
Добавление публикации: Создание новой публикации с заголовком, контентом и статусом.
Редактирование публикации: Обновление существующей публикации по ID.
Удаление публикации: Удаление публикации по ID.
Участники
Просмотр участников: Список участников с фильтрами и пагинацией.
Чтение участника: Получение участника по ID или электронной почте.
Добавление участника: Создание нового участника.
Редактирование участника: Обновление данных участника.
Удаление участника: Удаление участника.
Новостные рассылки
Просмотр рассылок: Список новостных рассылок.
Чтение рассылки: Получение рассылки по ID.
Добавление рассылки: Создание новой рассылки.
Редактирование рассылки: Обновление данных рассылки.
Удаление рассылки: Удаление рассылки.
Предложения
Просмотр предложений: Список предложений.
Чтение предложения: Получение предложения по ID.
Добавление предложения: Создание нового предложения.
Редактирование предложения: Обновление данных предложения.
Удаление предложения: Удаление предложения.
Приглашения
Просмотр приглашений: Список приглашений.
Добавление приглашения: Создание нового приглашения.
Удаление приглашения: Удаление приглашения.
Роли
Просмотр ролей: Список ролей.
Чтение роли: Получение роли по ID.
Теги
Просмотр тегов: Список тегов.
Чтение тега: Получение тега по ID или слагу.
Добавление тега: Создание нового тега.
Редактирование тега: Обновление данных тега.
Удаление тега: Удаление тега.
Уровни подписки
Просмотр уровней: Список уровней подписки.
Чтение уровня: Получение уровня по ID.
Добавление уровня: Создание нового уровня.
Редактирование уровня: Обновление данных уровня.
Удаление уровня: Удаление уровня.
Пользователи
Просмотр пользователей: Список пользователей.
Чтение пользователя: Получение пользователя по ID или слагу.
Редактирование пользователя: Обновление данных пользователя.
Удаление пользователя: Удаление пользователя.
Вебхуки
Просмотр вебхуков: Список вебхуков.
Добавление вебхука: Создание нового вебхука.
Удаление вебхука: Удаление вебхука.
Каждый инструмент доступен через протокол MCP и может быть вызван из совместимых клиентов. Подробные схемы параметров и использование см. в исходном коде в
src/tools/.
Обработка ошибок и диагностика
Этот форк включает улучшенную обработку ошибок, которая предоставляет подробную информацию о сбоях API:
Коды состояния HTTP фиксируются и сообщаются
Полные тела ответов включены в сообщения об ошибках
Конфигурация среды выполнения регистрируется при запуске
Доступны диагностические инструменты для устранения проблем с подключением:
admin_site_ping: Проверяет, доступна ли конечная точка Ghost Admin APIconfig_echo: Показывает текущую конфигурацию Ghost API (с замаскированным ключом)
Эти улучшения значительно упрощают диагностику распространенных проблем, таких как:
Неверный формат URL API
Отсутствующие или неправильно сформированные ключи Admin API
Несоответствие версий API
Проблемы с конфигурацией сети/прокси
Разработка
Настройка
Клонируйте репозиторий
Установите зависимости:
npm installСоздайте файл
.envс вашей конфигурацией Ghost:GHOST_API_URL=https://yourghostbloginstance.com GHOST_ADMIN_API_KEY=your_admin_api_key GHOST_API_VERSION=v6.0Соберите проект:
npm run buildЗапустите сервер разработки:
npm run dev
Устранение неполадок
Если вы столкнулись с ошибками аутентификации или "Resource not found":
Убедитесь, что ваш ключ Ghost Admin API имеет правильный формат
id:secret.Убедитесь, что ваш
GHOST_API_URLявляется правильным доменом для вашего экземпляра Ghost.Используйте инструмент
admin_site_ping, чтобы убедиться, что конечная точка Admin API доступна.Проверьте журналы сервера на предмет используемой конфигурации.
Требования к потоковому HTTP MCP
Этот сервер реализует потоковый HTTP-транспорт MCP с надлежащим управлением сеансами и обработкой заголовка Accept. Сервер автоматически внедряет text/event-stream в заголовки Accept и создает изолированные экземпляры транспорта для каждого запроса, чтобы предотвратить конфликты сеансов.
Тестирование конечной точки с правильной инициализацией MCP:
# Test MCP initialization (proper way to test)
curl -s -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \
"https://mcp.techmavie.digital/ghostcms/mcp/usr_YOUR_USER_KEY"
# Expected response (SSE format):
# event: message
# data: {"result":{"protocolVersion":"2024-11-05","capabilities":{...},"serverInfo":{...}},"jsonrpc":"2.0","id":1}Примечание: Простые запросы GET/POST без инициализации MCP вернут ошибки протокола, такие как "Bad Request: Server not initialized" — это ожидаемое поведение. Конечная точка требует правильного рукопожатия протокола MCP.
Для клиентов MCP (Claude Desktop, Claude iOS, Claude Code):
Клиенты MCP автоматически обрабатывают протокол инициализации и управление сеансами
Убедитесь, что ваш URL-адрес MCP правильно отформатирован в конфигурации вашего клиента
Для Claude iOS используйте функцию Connectors с полным URL-адресом MCP, используя ваш ключ
usr_Для Claude Code добавьте сервер в настройки MCP с типом
streamable-http
Управление сеансами:
Сервер создает новый экземпляр транспорта для каждого HTTP-запроса (шаблон без сохранения состояния)
Каждое клиентское соединение автоматически получает уникальный идентификатор сеанса
Несколько клиентов могут подключаться одновременно без конфликтов сеансов
Сеансы автоматически очищаются после отправки ответов
Распространенные ошибки и решения:
Ошибка | Причина | Решение |
| Старая версия сервера | Обновите до последней версии - исправлено |
| Тестирование без протокола MCP | Используйте правильную инициализацию MCP (см. пример выше) |
| Старая версия сервера с конфликтами сеансов | Обновите до последней версии - исправлено |
| Старая версия сервера, повторно использующая транспорты | Обновите до последней версии - исправлено |
Развертывание на VPS
Этот MCP-сервер включает полную поддержку развертывания на собственном VPS с использованием Docker, Nginx и автоматического развертывания через GitHub Actions.
Архитектура
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Claude/MCP │────▶│ Nginx Proxy │────▶│ Docker │
│ Client │ │ /ghostcms/ │ │ Container │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Ghost CMS │
│ Admin API │
└─────────────────┘Файлы развертывания
Репозиторий включает:
Dockerfile- Конфигурация контейнера с Node.js 20-alpinedocker-compose.yml- Оркестрация Docker с томами для аналитики и учетных данных Firebasedeploy/nginx-mcp.conf- Конфигурация обратного прокси-сервера Nginx.github/workflows/deploy-vps.yml- Рабочий процесс автоматического развертывания GitHub Actions
Быстрое развертывание
# On your VPS
cd /opt/mcp-servers
git clone https://github.com/hithereiamaliff/mcp-ghostcms.git ghostcms
cd ghostcms
# Build and start
docker compose up -d --build
# Check logs
docker compose logs -fКонечные точки
Конечная точка | Описание |
| Проверка работоспособности |
| Конечная точка MCP (размещенный сервис ключей) |
| JSON-данные аналитики |
| Визуальная панель аналитики |
| Статистика использования инструментов |
Аналитика Firebase
Этот MCP-сервер использует Firebase Realtime Database для облачного хранения аналитики с локальным резервным копированием файлов в качестве резервного варианта.
Возможности
Двойное хранилище: Firebase (основное) + локальный файл (резервная копия)
Постоянство: Данные сохраняются после пересборки контейнеров и развертываний
В реальном времени: Обновления каждые 60 секунд
Панель управления: Визуальная аналитика по адресу
/analytics/dashboard
Отслеживаемые данные
Общее количество запросов и вызовов инструментов
Запросы по методам (GET, POST и т.д.)
Запросы по конечным точкам
Статистика использования инструментов
IP-адреса клиентов и агенты пользователей
Почасовые тренды запросов
Активность недавних вызовов инструментов
На
This server cannot be deployed
Maintenance
Related MCP Connectors
Publish and manage articles, series, comments, reactions, newsletters and blog analytics.
Create, manage, publish, and analyze Inblog content through AI agents.
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
Manage Telegram drafts, media, schedules and publications from AI clients.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with Ghost CMS through the Ghost Admin API via LLM interfaces. It provides comprehensive tools for managing posts, members, newsletters, and other site entities through secure JWT authentication.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage Ghost CMS content including posts, members, users, tags, tiers, offers, newsletters, invites, roles, and webhooks via the Ghost Admin API.-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Ghost CMS sites through both Content (read-only) and Admin (read/write) APIs, allowing natural language management of posts, pages, tags, and settings.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables to manage Ghost CMS instance using LLM interfaces. Supports comprehensive CRUD operations on posts, members, newsletters, offers, tags, tiers, users, and webhooks.11 npmMIT