Ghost MCP Server

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

  • Allows configuration via a .env file for storing Ghost URL and API key environmental variables

  • Integrates with the Ghost Admin API to enable programmatic access to Ghost CMS features including post management, page management, member management, and more

Servidor Ghost MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que se integra con la API de administración de Ghost. Este servidor permite el acceso programático a las funciones de Ghost CMS, como la gestión de publicaciones, páginas y miembros, entre otras.

Características

  • Gestión de publicaciones (crear, leer, actualizar, eliminar, buscar)
  • Gestión de páginas (crear, leer, actualizar, eliminar)
  • Gestión de etiquetas
  • Gestión de autores
  • Gestión de miembros (crear, leer, actualizar, eliminar, buscar)
  • Soporte para subir imágenes

Prerrequisitos

  • Node.js (se recomienda v18 o superior)
  • Instancia de Ghost CMS
  • Clave API de Ghost Admin

Instalación

Instale el paquete usando npm:

npm install @mtane0412/ghost-mcp-server

Configuración

  1. Crea una nueva integración personalizada en tu panel de administración de Ghost en Configuración > Integraciones.
  2. Establezca las siguientes variables de entorno:
# macOS/Linux export GHOST_URL="https://your-ghost-blog.com" export GHOST_ADMIN_API_KEY="your_admin_api_key" # Windows (PowerShell) $env:GHOST_URL="https://your-ghost-blog.com" $env:GHOST_ADMIN_API_KEY="your_admin_api_key"

Alternativamente, puede crear un archivo .env :

GHOST_URL=https://your-ghost-blog.com GHOST_ADMIN_API_KEY=your_admin_api_key

Uso

Después de la instalación, inicie el servidor con:

npx @mtane0412/ghost-mcp-server

Herramientas disponibles

obtener_publicaciones

Recupera una lista de publicaciones de blog.

Aporte:

{ "limit": "number", // Optional: Number of posts to retrieve (1-100, default: 10) "page": "number" // Optional: Page number (default: 1) }

obtener_publicación

Recupera una publicación específica por ID.

Aporte:

{ "id": "string" // Required: Post ID }

publicaciones de búsqueda

Busca publicaciones.

Aporte:

{ "query": "string", // Required: Search query "limit": "number" // Optional: Number of posts to retrieve (1-100, default: 10) }

crear_publicación

Crea una nueva publicación.

Aporte:

{ "title": "string", // Required: Post title "html": "string", // Optional: HTML content "lexical": "string", // Optional: Lexical content "status": "string", // Optional: Post status (published/draft/scheduled) "visibility": "string" // Optional: Visibility level (public/members/paid/tiers) }

actualización_publicación

Actualiza una publicación existente.

Aporte:

{ "id": "string", // Required: Post ID "title": "string", // Optional: Post title "html": "string", // Optional: HTML content "lexical": "string", // Optional: Lexical content "status": "string" // Optional: Post status }

eliminar_publicación

Elimina una publicación.

Aporte:

{ "id": "string" // Required: Post ID }

obtener_páginas

Recupera una lista de páginas.

Aporte:

{ "limit": "number", // Optional: Number of pages to retrieve (1-100, default: 10) "page": "number", // Optional: Page number (default: 1) "order": "string", // Optional: Sort order "formats": ["string"], // Optional: Content formats (html/mobiledoc/lexical) "include": ["string"] // Optional: Related data to include (authors/tags) }

obtener_miembros

Recupera una lista de miembros.

Aporte:

{ "limit": "number", // Optional: Number of members to retrieve (1-100, default: 10) "page": "number", // Optional: Page number (default: 1) "order": "string", // Optional: Sort order "include": ["string"] // Optional: Related data to include (labels/newsletters) }

miembros de búsqueda

Busca miembros.

Aporte:

{ "query": "string", // Required: Search query "limit": "number", // Optional: Number of members to retrieve (1-100, default: 10) "include": ["string"] // Optional: Related data to include (labels/newsletters) }

subir_imagen

Sube una imagen.

Aporte:

{ "file": "string", // Required: Base64 encoded image data "purpose": "string" // Optional: Image purpose (image/profile_image/icon) }

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser complicada. Recomendamos usar el Inspector MCP , disponible como script de paquete:

npm run inspect

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Licencia

Licencia MIT

-
security - not tested
F
license - not found
-
quality - not tested

Se integra con la API de administración de Ghost para permitir la gestión programática de las funciones de Ghost CMS, incluidas publicaciones, páginas, etiquetas, autores, miembros y cargas de imágenes, proporcionando capacidades eficientes de gestión de contenido.

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Usage
            1. Available Tools
              1. get_posts
              2. get_post
              3. search_posts
              4. create_post
              5. update_post
              6. delete_post
              7. get_pages
              8. get_members
              9. search_members
              10. upload_image
              11. Debugging
            2. License
              ID: nxrobq9f46