Ghost MCP Server
Ghost MCP Server
<a href="https://glama.ai/mcp/servers/vor63xn7ky"><img width="380" height="200" src="https://glama.ai/mcp/servers/vor63xn7ky/badge" alt="Ghost Server MCP server" /></a>
A Model Context Protocol (MCP) server for interacting with Ghost CMS through LLM interfaces like Claude. This server provides secure and comprehensive access to your Ghost blog, leveraging JWT authentication and a rich set of MCP tools for managing posts, users, members, tiers, offers, and newsletters.
Features
- Secure JWT Authentication for Ghost Admin API requests
- Comprehensive entity access including posts, users, members, tiers, offers, and newsletters
- Advanced search functionality with both fuzzy and exact matching options
- Detailed, human-readable output for Ghost entities
- Robust error handling using custom
GhostError
exceptions - Integrated logging support via MCP context for enhanced troubleshooting
Installation
Installing via Smithery
To install Ghost MCP Server for Claude Desktop automatically via Smithery:
Manual Installation
Requirements
- Python ≥ 3.12
- Running Ghost instance with Admin API access (v5.x+ recommended)
- Node.js (for testing with MCP Inspector)
Usage
Environment Variables
Usage with MCP Clients
To use this with MCP clients, for instance, Claude Desktop, add the following to your claude_desktop_config.json
:
Testing with MCP Inspector
Available Tools
Posts Management
list_posts
: List blog posts with pagination (supports both text and JSON formats)search_posts_by_title
: Search for posts by title using exact or fuzzy matchingread_post
: Retrieve full content of a specific post in HTML or plaintext formatscreate_post
: Create a new post with specified content and metadataupdate_post
: Update a specific post with new content and metadatadelete_post
: Delete a specific postbatchly_update_posts
: Update multiple posts in a single request
Tags Management
browse_tags
: List all tags associated with the blogread_tag
: Retrieve detailed information about a specific tagcreate_tag
: Create a new tag with specified detailsupdate_tag
: Update an existing tag with new informationdelete_tag
: Delete a specific tag
Users Management
list_roles
: List all available rolescreate_invite
: Create a new user invitation email and role_idlist_users
: List all users with detailed role informationread_user
: Get comprehensive details of a specific userdelete_user
: Delete a specific user
Members Management
list_members
: List members with subscription and newsletter detailsread_member
: Retrieve detailed information for a specific member, including subscriptionscreate_member
: Create a new member with specified detailsupdate_member
: Update an existing member's information
Tiers Management
list_tiers
: List all available membership tiersread_tier
: Retrieve detailed information about a specific tier, including benefits and pricingcreate_tier
: Create a new membership tier with specified detailsupdate_tier
: Update an existing tier with new information
Offers Management
list_offers
: List promotional offers with relevant detailsread_offer
: Get detailed information on a specific offercreate_offer
: Create a new promotional offer with specified detailsupdate_offer
: Update an existing offer with new information
Newsletters Management
list_newsletters
: List all newsletters associated with the blogread_newsletter
: Retrieve detailed settings and information for a specific newslettercreate_newsletter
: Create a new newsletter with specified detailsupdate_newsletter
: Update an existing newsletter with new information
Webhooks Management
create_webhook
: Create a new webhook with specified detailsupdate_webhook
: Update an existing webhook with new informationdelete_webhook
: Delete a specific webhook
Available Resources
All resources follow the URI pattern: [type]://[id]
user://{user_id}
: User profiles and rolesmember://{member_id}
: Member details and subscriptionstier://{tier_id}
: Tier configurationsoffer://{offer_id}
: Offer detailsnewsletter://{newsletter_id}
: Newsletter settingspost://{post_id}
: Post content and metadatablog://info
: General blog information
Error Handling
Ghost MCP Server employs a custom GhostError
exception to handle API communication errors and processing issues. This ensures clear and descriptive error messages to assist with troubleshooting.
Contributing
- Fork repository
- Create feature branch
- Commit changes
- Create pull request
License
MIT
You must be authenticated.
Enables interaction with Ghost CMS via LLM interfaces, providing secure access through JWT authentication for managing posts, users, and newsletters with detailed output and error handling.