Ghost MCP Server

by MFYDev
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides secure and comprehensive access to Ghost CMS blogs, enabling management of posts, users, members, tiers, offers, and newsletters through LLM interfaces

Servidor Ghost MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con Ghost CMS mediante interfaces LLM como Claude. Este servidor proporciona acceso seguro y completo a tu blog de Ghost, aprovechando la autenticación JWT y un completo conjunto de herramientas MCP para gestionar publicaciones, usuarios, miembros, niveles, ofertas y boletines informativos.

Características

  • Autenticación JWT segura para solicitudes de API de Ghost Admin
  • Acceso integral a entidades que incluye publicaciones, usuarios, miembros, niveles, ofertas y boletines informativos.
  • Funcionalidad de búsqueda avanzada con opciones de coincidencia exacta y aproximada
  • Salida detallada y legible para humanos para entidades fantasma
  • Manejo robusto de errores mediante excepciones GhostError personalizadas
  • Soporte de registro integrado a través del contexto MCP para una mejor resolución de problemas

Instalación

Instalación mediante herrería

Para instalar Ghost MCP Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @MFYDev/ghost-mcp --client claude

Instalación manual

# Clone repository git clone git@github.com/mfydev/ghost-mcp.git cd ghost-mcp # Create virtual environment and install uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e .

Requisitos

  • Python ≥ 3.12
  • Ejecución de una instancia de Ghost con acceso a la API de administrador (se recomienda v5.x+)
  • Node.js (para pruebas con MCP Inspector)

Uso

Variables de entorno

GHOST_API_URL=https://yourblog.com # Your Ghost Admin API URL GHOST_STAFF_API_KEY=your_staff_api_key # Your Ghost Staff API key

Uso con clientes MCP

Para usar esto con clientes MCP, por ejemplo, Claude Desktop, agregue lo siguiente a su claude_desktop_config.json :

{ "mcpServers": { "ghost": { "command": "/Users/username/.local/bin/uv", "args": [ "--directory", "/path/to/ghost-mcp", "run", "src/main.py" ], "env": { "GHOST_API_URL": "your_ghost_api_url", "GHOST_STAFF_API_KEY": "your_staff_api_key" } } } }

Pruebas con MCP Inspector

GHOST_API_URL=your_ghost_api_url GHOST_STAFF_API_KEY=your_staff_api_key npx @modelcontextprotocol/inspector uv --directory /path/to/ghost-mcp run src/main.py

Herramientas disponibles

Ghost MCP ahora ofrece una única herramienta unificada que brinda acceso a todas las funciones de Ghost CMS:

Herramienta principal

  • ghost : Herramienta central para acceder a todas las funciones de Ghost CMS

Uso de la herramienta Fantasma

La herramienta fantasma acepta dos parámetros principales:

  1. action : La operación fantasma específica a realizar
  2. params : Un diccionario de parámetros para la acción especificada

Ejemplo de uso:

# List posts ghost(action="list_posts", params={"format": "text", "page": 1, "limit": 15}) # Search posts by title ghost(action="search_posts_by_title", params={"query": "Welcome", "exact": False}) # Create a post ghost(action="create_post", params={ "post_data": { "title": "New Post via MCP", "status": "draft", "lexical": "{\"root\":{\"children\":[{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Hello World\",\"type\":\"text\",\"version\":1}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1}],\"direction\":\"ltr\",\"format\":\"\",\"indent\":0,\"type\":\"root\",\"version\":1}}" } })

Acciones disponibles

La herramienta fantasma admite las mismas acciones que antes, pero ahora a través de una interfaz unificada:

Acciones de publicaciones

  • list_posts : Lista de publicaciones de blog con paginación
  • search_posts_by_title : Buscar publicaciones por título
  • read_post : Recuperar el contenido completo de una publicación específica
  • create_post : Crea una nueva publicación
  • update_post : Actualizar una publicación específica
  • delete_post : Eliminar una publicación específica
  • batchly_update_posts : Actualizar varias publicaciones en una sola solicitud

Etiquetas Acciones

  • browse_tags : Listar todas las etiquetas
  • read_tag : Recuperar información específica de la etiqueta
  • create_tag : Crea una nueva etiqueta
  • update_tag : Actualizar una etiqueta existente
  • delete_tag : Eliminar una etiqueta específica

Acciones de los usuarios

  • list_roles : Lista todos los roles disponibles
  • create_invite : Crea una nueva invitación de usuario
  • list_users : Listar todos los usuarios
  • read_user : Obtener detalles de un usuario específico
  • delete_user : Eliminar un usuario específico

Acciones de los miembros

  • list_members : Lista de miembros
  • read_member : Recuperar información específica del miembro
  • create_member : Crea un nuevo miembro
  • update_member : Actualizar un miembro existente

Acciones de niveles

  • list_tiers : Lista todos los niveles de membresía
  • read_tier : recupera información de nivel específico
  • create_tier : Crea un nuevo nivel
  • update_tier : Actualizar un nivel existente

Ofertas de acciones

  • list_offers : Lista de ofertas promocionales
  • read_offer : Obtener información específica de la oferta
  • create_offer : Crea una nueva oferta
  • update_offer : Actualizar una oferta existente

Acciones de boletines informativos

  • list_newsletters : Lista todos los boletines
  • read_newsletter : Recuperar información específica del boletín
  • create_newsletter : Crea un nuevo boletín informativo
  • update_newsletter : Actualizar un boletín existente

Acciones de webhooks

  • create_webhook : Crea un nuevo webhook
  • update_webhook : Actualizar un webhook existente
  • delete_webhook : eliminar un webhook específico

Recursos disponibles

Todos los recursos siguen el patrón URI: [type]://[id]

  • user://{user_id} : Perfiles y roles de usuario
  • member://{member_id} : Detalles del miembro y suscripciones
  • tier://{tier_id} : Configuraciones de niveles
  • offer://{offer_id} : Detalles de la oferta
  • newsletter://{newsletter_id} : Configuración del boletín informativo
  • post://{post_id} : Contenido y metadatos de la publicación
  • blog://info : Información general del blog

Manejo de errores

El servidor Ghost MCP utiliza una excepción GhostError personalizada para gestionar errores de comunicación de la API y problemas de procesamiento. Esto garantiza mensajes de error claros y descriptivos que facilitan la resolución de problemas.

Contribuyendo

  1. Repositorio de bifurcaciones
  2. Crear rama de características
  3. Confirmar cambios
  4. Crear una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Permite la interacción con Ghost CMS a través de interfaces LLM, proporcionando acceso seguro a través de la autenticación JWT para administrar publicaciones, usuarios y boletines con resultados detallados y manejo de errores.

  1. Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Requirements
      1. Usage
        1. Environment Variables
        2. Usage with MCP Clients
        3. Testing with MCP Inspector
      2. Available Tools
        1. Main Tool
        2. Using the Ghost Tool
        3. Available Actions
      3. Available Resources
        1. Error Handling
          1. Contributing
            1. License

              Appeared in Searches

              ID: vor63xn7ky