Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ghost MCP Servercreate a draft post about AI content creation with tags 'technology' and 'writing'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ghost MCP Server
A Model Context Protocol (MCP) server for Ghost CMS. Manage your Ghost blog content directly from Claude, Cursor, or any MCP-compatible client.
Features
π Create & Edit Posts - Draft and publish blog posts
π Search Posts - Find posts by status, tags, or query
π·οΈ Tag Management - List and organize your tags
π Analytics - Basic analytics integration support
ποΈ Delete Posts - Remove unwanted content
π Resource Access - Browse posts as MCP resources
Related MCP server: Ghost MCP Server
Installation
NPM (recommended)
npm install -g ghost-mcpFrom Source
git clone https://github.com/mcpanvil/ghost-mcp.git
cd ghost-mcp
npm install
npm run build
npm linkConfiguration
Get your Ghost API keys:
Log into your Ghost Admin
Go to Settings > Integrations
Create a new Custom Integration
Copy the Admin API Key and Content API Key
Set up environment variables:
# Create a .env file or set these in your environment
GHOST_URL=https://your-site.ghost.io
GHOST_ADMIN_API_KEY=your-admin-api-key
GHOST_CONTENT_API_KEY=your-content-api-keyUsage
With Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": ["ghost-mcp"],
"env": {
"GHOST_URL": "https://your-site.ghost.io",
"GHOST_ADMIN_API_KEY": "your-admin-key",
"GHOST_CONTENT_API_KEY": "your-content-key"
}
}
}
}With Claude Code
# Add to Claude Code with your Ghost credentials
claude mcp add ghost \
-e GHOST_URL=https://your-site.ghost.io \
-e GHOST_ADMIN_API_KEY=your-admin-key \
-e GHOST_CONTENT_API_KEY=your-content-key \
-- npx ghost-mcpGet your API keys from Ghost Admin β Settings β Integrations.
With Cursor
Add to Cursor's MCP settings:
{
"ghost": {
"command": "npx",
"args": ["@mcpanvil/ghost-mcp"],
"env": {
"GHOST_URL": "https://your-site.ghost.io",
"GHOST_ADMIN_API_KEY": "your-admin-key",
"GHOST_CONTENT_API_KEY": "your-content-key"
}
}
}Available Tools
create_post
Create a new blog post.
{
title: string; // Required
content: string; // Required (HTML or Markdown)
status?: 'draft' | 'published'; // Default: 'draft' - set to 'published' to make live
tags?: string[];
excerpt?: string;
featured?: boolean;
}β οΈ Important Notes:
Posts are created as drafts by default. To publish immediately, set
status: 'published'Ghost v5 uses Lexical format internally, but this MCP handles HTML/Markdown conversion automatically
When viewing draft posts in Ghost admin, they may appear empty due to format conversion - this is normal
update_post
Update an existing post.
{
id: string; // Required (post ID)
title?: string;
content?: string;
status?: 'draft' | 'published';
tags?: string[];
excerpt?: string;
featured?: boolean;
}search_posts
Search and list posts.
{
query?: string;
status?: 'draft' | 'published' | 'all';
limit?: number; // 1-100, default 10
tags?: string[];
}get_post
Get a specific post by ID or slug.
{
id: string; // Post ID or slug
}delete_post
Delete a post.
{
id: string; // Post ID
}list_tags
List all available tags.
{
limit?: number; // 1-100, default 20
}get_analytics
Get analytics information (requires additional setup).
{
days?: number; // 1-365, default 30
}Troubleshooting
Updates Not Working
If post updates don't seem to be applying:
Check browser cache - Ghost aggressively caches content
Verify the post status - drafts may not show updates immediately
Ensure you're using ghost-mcp v0.1.6 or later (earlier versions had an update bug)
Empty Content in Ghost Admin
When viewing posts in Ghost admin, content may appear empty. This is because:
Ghost v5 uses Lexical format internally
The MCP creates posts in HTML format
The admin panel may not display HTML content in the editor
Your published posts will display correctly on your site
Common Issues
"Validation error, cannot save post": Usually means required fields are missing
"Cannot read post": The post ID may be incorrect or the post was deleted
Draft posts not visible: Check your Ghost admin's post filter settings
Example Workflows
Writing a New Blog Post
Human: Create a published blog post about building MCP servers