Runs as a serverless application on Cloudflare Workers platform, providing the MCP server infrastructure and OAuth handling
Provides comprehensive Ghost CMS management capabilities including creating, reading, updating, and deleting blog posts, with AI-powered content enhancement, automated title and excerpt generation, and advanced search functionality
Uses GitHub OAuth for secure authentication and single-user access control to the MCP server
Uses Google's Imagen AI for professional quality image generation (10-15 seconds) as an alternative to Replicate Flux
Leverages Google Gemini AI for intelligent content generation, transforming rough ideas into complete blog posts with automated enhancement features
Integrates Replicate's Flux model for ultra-fast AI image generation (3-7 seconds) to create feature images for blog posts
🚀 Ghost Blog Management MCP Server
Transform your Ghost CMS workflow with AI-powered content management directly from Claude Desktop.
This MCP server brings the full power of Ghost Blog Smart API to Claude, enabling you to create AI-enhanced blog posts, generate stunning feature images, and manage multiple Ghost blogs - all through natural conversation.
✨ Why This MCP Server?
🎯 Multi-Blog Management
Manage unlimited Ghost blogs from a single MCP server. Switch between blogs dynamically by providing credentials, perfect for agencies and content creators managing multiple properties.
🤖 AI-First Content Creation
Smart Create: Transform rough notes into polished blog posts with Google Gemini
Dual Image Generation: Choose between ultra-fast Flux (3-7s) or professional Imagen (10-15s)
Auto Enhancement: Generate titles, excerpts, and tags automatically
Multi-language Support: Create content in any language
📝 Support for Posts AND Pages
Create both blog posts and static pages (About, Contact, etc.) with the new post_type parameter support.
🔐 Enterprise-Grade Security
GitHub OAuth authentication with flexible access control
Private mode: Restrict to specific GitHub users
Public mode: Allow all authenticated GitHub users
Three-level credential priority system
HMAC-signed session management
No hardcoded secrets
Related MCP server: Ghost MCP Server
🏗️ Architecture
🛠️ Complete Tool Suite (13 Tools)
Tool | Description | AI Features |
| Check API status and health | - |
| Get API capabilities and version | - |
| Create posts/pages with optional AI images | 🎨 Flux/Imagen |
| Transform ideas into complete posts | 🤖 Gemini + 🎨 |
| List posts with filters | - |
| Search posts by text, tags, dates | - |
| Get complete post information | - |
| Update post content/metadata | - |
| Generate new AI feature image | 🎨 Flux/Imagen |
| Delete posts permanently | - |
| Analytics and statistics | - |
| Efficient batch operations | - |
| Find posts by date patterns | - |
🚀 Quick Start
Prerequisites
Ghost Blog with Admin API access
Ghost Blog Smart API deployed (Instructions)
Cloudflare account (free tier works)
GitHub account for OAuth
Step 1: Deploy Ghost Blog Smart API
Step 2: Clone and Configure
Step 3: Setup GitHub OAuth
Create a GitHub OAuth App:
Application name: Ghost Blog Management
Homepage URL:
http://localhost:8792Callback URL:
http://localhost:8792/callback
Step 4: Configure Environment
Edit .dev.vars:
Step 5: Configure Authorization
Choose your access control mode in .dev.vars:
Option 1: Private Mode (Recommended for production)
Option 2: Public Mode
Update the Ghost Blog API URL in src/tools/ghost-blog-tools.ts if needed:
Step 6: Start Development Server
Step 7: Configure Claude Desktop
Add to Claude Desktop settings:
💡 Advanced Features
🎯 Three-Level Credential System
Perfect for managing multiple blogs:
Level 1: Dynamic Selection (Highest Priority)
Level 2: Worker Configuration
Level 3: Backend Defaults
Uses Ghost Blog Smart API's configured blog - no additional setup needed.
📄 Posts vs Pages Support
🎨 AI Image Generation Options
🌟 Usage Examples in Claude
Create AI-Enhanced Content
Manage Multiple Blogs
Batch Operations
Update with AI Images
🚀 Production Deployment
Deploy to Cloudflare Workers
Update Claude Desktop for Production
📊 Performance Metrics
Operation | Typical Time | Max Time |
Create post (no image) | 2-5s | 10s |
Create post (with Flux) | 8-15s | 30s |
Create post (with Imagen) | 15-25s | 45s |
Smart create (AI content) | 10-20s | 60s |
Update post | 1-2s | 5s |
Search/List | <1s | 3s |
Batch operations | 2-5s | 15s |
Note: All operations have a 5-minute timeout to ensure reliability
🔒 Security Features
GitHub OAuth 2.0: Industry-standard authentication
Flexible Access Control:
Private Mode: Restrict to specific GitHub users
Public Mode: Allow all authenticated GitHub users
Signed Cookies: HMAC-SHA256 session security
Environment Variables: No hardcoded secrets
API Key Protection: Separate keys for each service
Test Mode: Safe experimentation with
is_test: true
🔍 Troubleshooting
Common Issues
Issue | Solution |
"Ghost Blog Smart API not reachable" | Verify Docker container is running:
|
"Unauthorized access" | Check
environment variable - add your GitHub username or leave empty for public |
"API key mismatch" | Ensure
matches Ghost Blog Smart |
"Tools not appearing in Claude" | Restart Claude Desktop after configuration |
"Timeout errors" | API has 5-minute default timeout, check network |
Debug Commands
🤝 Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing)Open a Pull Request
📚 Documentation
📄 License
MIT License - see LICENSE file for details
🙏 Acknowledgments
Anthropic for Model Context Protocol
Ghost for the amazing CMS platform
Cloudflare for Workers infrastructure
Google for Gemini AI and Imagen
Replicate for Flux image generation
📞 Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Email: me@leowang.net
Built with ❤️ by
Transform your content creation workflow with AI-powered Ghost CMS management