Ghost

A Model Context Protocol (MCP) server that integrates with the Ghost Admin API. This server enables programmatic access to Ghost CMS features including post management, page management, member management, and more.
  • typescript

2

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "mtane0412-ghost-mcp-server": {
      "command": "npx",
      "args": [
        "@mtane0412/ghost-mcp-server"
      ],
      "env": {
        "GHOST_URL": "https://your-ghost-blog.com",
        "GHOST_ADMIN_API_KEY": "your_admin_api_key"
      }
    }
  }
}

You can run a Ghost MCP Server to programmatically manage posts, pages, members, and more through a dedicated MCP client. This server bridges Ghost CMS features with the MCP protocol, enabling automated workflows and integrations without manual UI interactions.

How to use

You interact with the Ghost MCP Server by starting the local MCP process and then connecting an MCP client that can invoke the available endpoints. You can manage posts, pages, tags, authors, and members, including creating, reading, updating, deleting, and performing searches. Use the server to upload images and to perform common CMS operations in automated pipelines, scripts, or other services.

How to install

Prerequisites you need before installing are Node.js (v18 or higher is recommended), a Ghost CMS instance, and a Ghost Admin API key.

# Install the MCP server package
npm install @mtane0412/ghost-mcp-server
# Start the MCP server directly (uses stdio for communication)
npx @mtane0412/ghost-mcp-server

Configuration

Set up a Ghost custom integration in Ghost Admin under Settings > Integrations, then provide the connection details to the MCP server via environment variables.

# 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"
# Alternatively, use a .env file
GHOST_URL=https://your-ghost-blog.com
GHOST_ADMIN_API_KEY=your_admin_api_key

Debugging

To debug MCP interactions, use the built-in inspector tool that exposes a web-based debugging interface. This helps you trace requests and responses between the MCP client and the server.

npm run inspect

Notes

The server communicates over stdio, so ensure your MCP client is prepared to send and receive JSON messages through the standard input and output streams. Keep your Ghost URL and API key secure and rotate keys as needed.

MCP connection example

Use the following configuration to run the server as an MCP stdio process. This is the recommended approach for local development and testing.

MCP server config (stdio)

{
  "mcpServers": [
    {
      "type": "stdio",
      "name": "ghost_mcp",
      "command": "npx",
      "args": ["@mtane0412/ghost-mcp-server"],
      "env": [
        {"name": "GHOST_URL", "value": "https://your-ghost-blog.com"},
        {"name": "GHOST_ADMIN_API_KEY", "value": "your_admin_api_key"}
      ]
    }
  ]
}

Tools and capabilities

The Ghost MCP Server exposes endpoints for common CMS operations including retrieving lists and individual items, creating, updating, deleting, and searching for posts, as well as similar operations for pages and members. Images can be uploaded, and related data like authors and tags can be included in responses.

Available tools

get_posts

Retrieves a list of blog posts with optional pagination.

get_post

Retrieves a specific post by its ID.

search_posts

Searches posts by a query string with optional limit.

create_post

Creates a new post with title and content and optional fields like status and visibility.

update_post

Updates an existing post by ID with provided fields.

delete_post

Deletes a post by ID.

get_pages

Retrieves a list of pages with optional formats and related data.

get_members

Retrieves a list of members with optional related data.

search_members

Searches members by a query string with optional related data.

upload_image

Uploads an image with an optional purpose.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational