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
Installation
NPM (recommended)
From Source
Configuration
- 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:
Usage
With Claude Desktop
Add to your claude_desktop_config.json
:
With Claude Code
Get your API keys from Ghost Admin → Settings → Integrations.
With Cursor
Add to Cursor's MCP settings:
Available Tools
create_post
Create a new blog post.
⚠️ 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.
search_posts
Search and list posts.
get_post
Get a specific post by ID or slug.
delete_post
Delete a post.
list_tags
List all available tags.
get_analytics
Get analytics information (requires additional setup).
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
This server cannot be installed
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.
Manage your Ghost blog content directly from Claude, Cursor, or any MCP-compatible client, allowing you to create, edit, search, and delete posts with support for tag management and analytics.