mcpField
G
Ghost MCP Server

Ghost MCP Server

Local
github.com/mtane0412Business & Marketing3Updated 90w ago

About Ghost MCP Server

Ghost MCP Server connects the Ghost Admin API to MCP for users managing Ghost CMS content and members. Its tools cover posts and pages, tags and authors, member records, and image uploads.

Key features

  1. 01Create, read, update, and delete posts
  2. 02Search posts and manage pages
  3. 03Manage tags and authors
  4. 04Create, search, and maintain members
  5. 05Upload images

Use cases

  1. 01Find or update blog posts
  2. 02Create and maintain site pages
  3. 03Manage member records
  4. 04Upload images to Ghost

MCP support

The server uses the Ghost Admin API to expose tools for managing Ghost CMS content, pages, members, and images to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": [
"-y",
"@mtane0412/ghost-mcp-server"
]
}
}
}
Run commandnpx -y @mtane0412/ghost-mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mtane0412/ghost-mcp-server

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Ghost MCP Server

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.

Features

  • Post Management (create, read, update, delete, search)
  • Page Management (create, read, update, delete)
  • Tag Management
  • Author Management
  • Member Management (create, read, update, delete, search)
  • Image Upload Support

Prerequisites

  • Node.js (v18 or higher recommended)
  • Ghost CMS instance
  • Ghost Admin API key

Installation

Install the package using npm:

npm install @mtane0412/ghost-mcp-server

Configuration

  1. Create a new custom integration in your Ghost Admin dashboard under Settings > Integrations.

  2. Set the following 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, you can create a .env file:

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

Usage

After installation, start the server with:

npx @mtane0412/ghost-mcp-server

Available Tools

get_posts

Retrieves a list of blog posts.

Input:

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

Retrieves a specific post by ID.

Input:

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

Searches for posts.

Input:

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

Creates a new post.

Input:

{
  "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)
}
update_post

Updates an existing post.

Input:

{
  "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
}
delete_post

Deletes a post.

Input:

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

Retrieves a list of pages.

Input:

{
  "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)
}
get_members

Retrieves a list of members.

Input:

{
  "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)
}
search_members

Searches for members.

Input:

{
  "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)
}
upload_image

Uploads an image.

Input:

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

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspect

The Inspector will provide a URL to access debugging tools in your browser.

License

MIT License

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.