Integrations
Supports configuration through environment variables for storing Ghost API credentials and server settings.
Optionally integrates with 1Password CLI for securely storing and accessing Ghost API credentials.
Implements a REST API server alongside the MCP server functionality.
Servidor Ghost MCP
Este proyecto ( ghost-mcp-server
) implementa un servidor de protocolo de contexto de modelo (MCP) que permite a un cliente MCP (como Cursor o Claude Desktop) interactuar con una instancia de Ghost CMS a través de herramientas definidas.
Requisitos
- Node.js 14.0.0 o superior
- URL y clave de la API de administración de Ghost
Detalles del servidor Ghost MCP
Este servidor expone las funciones de administración de Ghost CMS como herramientas MCP, lo que permite que un cliente de IA como Cursor o Claude Desktop administre un blog de Ghost.
Un cliente MCP puede descubrir estos recursos y herramientas consultando al servidor MCP en ejecución (que normalmente escucha en el puerto 3001 por defecto) en su punto final raíz (p. ej., http://localhost:3001/
). El servidor responde con sus capacidades según la especificación del Protocolo de Contexto de Modelo.
Recursos definidos
ghost/tag
: Representa una etiqueta en Ghost CMS. Contieneid
,name
,slug
ydescription
.ghost/post
: Representa una publicación en Ghost CMS. Contieneid
,title
,slug
,html
,status
,feature_image
,published_at
,tags
(matriz deghost/tag
), campos de metadatos, etc.
(Consulte src/mcp_server.js
para ver los esquemas de recursos completos).
Herramientas definidas
A continuación se muestra una guía para utilizar las herramientas MCP disponibles:
ghost_create_tag
- Propósito : Crea una nueva etiqueta.
- Entradas :
name
(cadena, obligatoria): el nombre de la nueva etiqueta.description
(cadena, opcional): una descripción para la etiqueta.slug
(cadena, opcional): un slug compatible con URL (generado automáticamente si se omite).
- Salida : El recurso
ghost/tag
creado.
ghost_get_tags
- Propósito : Recupera etiquetas existentes. Se puede usar para encontrar el ID de una etiqueta o comprobar si una etiqueta existía antes de su creación.
- Entradas :
name
(cadena, opcional): filtra etiquetas por nombre exacto.
- Salida : una matriz de recursos
ghost/tag
que coinciden con el filtro (o todas las etiquetas si no se proporciona ningún nombre).
ghost_upload_image
- Propósito : carga una imagen en Ghost para usarla, generalmente como imagen destacada de una publicación.
- Entradas :
imageUrl
(cadena URL, obligatoria): una URL de acceso público de la imagen que se cargará.alt
(cadena, opcional): texto alternativo para la imagen (se genera un valor predeterminado si se omite).
- Salida : un objeto que contiene la
url
final (la URL de Ghost para la imagen cargada) y el textoalt
determinado. - Nota de uso : llame a esta herramienta primero para obtener una URL de imagen fantasma antes de crear una publicación que necesite una imagen destacada.
ghost_create_post
- Propósito : Crea una nueva publicación.
- Entradas :
title
(cadena, obligatoria): el título de la publicación.html
(cadena, obligatoria): El contenido principal de la publicación en formato HTML.status
(cadena, opcional, predeterminado: 'borrador'): establece el estado en 'borrador', 'publicado' o 'programado'.tags
(matriz de cadenas, opcional): Lista de nombres de etiquetas para asociar. Las etiquetas se buscarán o crearán automáticamente.published_at
(cadena ISO date, opcional): Fecha y hora de publicación o programación. Obligatorio si el estado es "programado".custom_excerpt
(cadena, opcional): un breve resumen.feature_image
(cadena URL, opcional): la URL de la imagen destacada (use laurl
de salida deghost_upload_image
).feature_image_alt
(cadena, opcional): texto alternativo para la imagen destacada.feature_image_caption
(cadena, opcional): título para la imagen destacada.meta_title
(cadena, opcional): título SEO personalizado.meta_description
(cadena, opcional): descripción SEO personalizada.
- Salida : El recurso
ghost/post
creado.
Instalación y funcionamiento
- Clonar el repositorio :Copy
- Instalar dependencias :Copy
- Configurar variables de entorno : cree un archivo
.env
en la raíz del proyecto y agregue sus credenciales de API de administración de Ghost:Copy- Encuentre la URL y la clave de API de Ghost Admin en su configuración de Ghost Admin en Integraciones -> Integraciones personalizadas.
- Ejecutar el servidor :Este comando iniciará tanto el servidor Express (si las rutas aún están montadas) como el servidor MCP.Copy
- El servidor MCP normalmente estará disponible en
http://localhost:3001
(o elMCP_PORT
que usted especificó). - Un cliente MCP puede conectarse a esta dirección para descubrir y utilizar las herramientas.
- El servidor MCP normalmente estará disponible en
- Modo de desarrollo (usando nodemon) : para desarrollo con reinicio automático:Copy
Solución de problemas
- Error 401 no autorizado de Ghost: Verifique que
GHOST_ADMIN_API_URL
yGHOST_ADMIN_API_KEY
en el archivo.env
sean correctos y que la integración personalizada en Ghost esté habilitada. - Problemas de conexión del servidor MCP: Asegúrese de que el servidor MCP esté en funcionamiento (revise los registros de la consola). Verifique que el puerto (
MCP_PORT
, predeterminado 3001) no esté bloqueado por un firewall. Compruebe que el cliente se esté conectando a la dirección y el puerto correctos. - Errores de ejecución de la herramienta: Consulte los registros de la consola del servidor para ver los mensajes de error detallados de la implementación de la herramienta (p. ej.,
ghost_create_post
,ghost_upload_image
). Entre los problemas comunes se incluyen entradas no válidas (verifique los esquemas de la herramienta ensrc/mcp_server.js
y el archivo README), problemas al descargar desdeimageUrl
, fallos en el procesamiento de imágenes o errores de subida de la API de Ghost. - Problemas de instalación de dependencias: Asegúrese de tener instalada una versión compatible de Node.js (consulte la sección Requisitos). Intente eliminar
node_modules
ypackage-lock.json
y vuelva a ejecutarnpm install
.
This server cannot be installed
Una implementación del servidor de protocolo de contexto de modelo que permite a los clientes de IA como Cursor o Claude Desktop administrar blogs de Ghost CMS al exponer capacidades como crear publicaciones, agregar etiquetas y cargar imágenes.