Ghost MCP
# Ghost MCP
An MCP (Model Context Protocol) server for interacting with Ghost CMS blogs through AI assistants.
[](https://workspace.github.io/ghost-mcp/)
[](https://www.npmjs.com/package/@ryukimin/ghost-mcp)
> **Full documentation**: [https://workspace.github.io/ghost-mcp/](https://workspace.github.io/ghost-mcp/)
## Quick Start
### Local (stdio)
Add to your Claude Desktop `claude_desktop_config.json`:
```json
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": ["-y", "@ryukimin/ghost-mcp"],
"env": {
"GHOST_URL": "https://your-blog.ghost.io",
"GHOST_CONTENT_API_KEY": "your-content-api-key",
"GHOST_ADMIN_API_KEY": "your-admin-id:your-admin-secret"
}
}
}
}
```
Config file location:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
### Remote (Docker)
```bash
docker compose up -d
```
See [Remote Setup](https://workspace.github.io/ghost-mcp/docs/remote-setup) for the full guide.
## Features
- **Content API** (read-only): Browse and read posts, pages, tags, and authors (8 tools)
- **Admin API** (full CRUD): Create, update, and delete posts, pages, tags, members, newsletters, tiers, offers, webhooks, and more (46 tools)
- **Dual transport**: stdio for local, Streamable HTTP for remote deployment
- **OAuth 2.1**: Secure per-user authentication for remote mode
## Getting API Keys
1. In Ghost Admin, go to **Settings > Integrations**
2. Create a new Custom Integration
3. Copy the **Content API Key** for read-only access
4. Copy the **Admin API Key** for full access (`id:secret` format)
## Development
```bash
npm install # Install dependencies
npm run build # Build TypeScript
npm start # Run stdio server
npm run start:sse # Run HTTP/SSE server
npm test # Run tests
npm run lint # Lint code
```
## Documentation
- [Getting Started](https://workspace.github.io/ghost-mcp/docs/getting-started)
- [Remote Setup](https://workspace.github.io/ghost-mcp/docs/remote-setup)
- [Tools Reference](https://workspace.github.io/ghost-mcp/docs/tools/content-api)
- [Usage Examples](https://workspace.github.io/ghost-mcp/docs/examples/content-api-examples)
- [NQL Filter Reference](https://workspace.github.io/ghost-mcp/docs/nql-reference)
## License
ISC
TDQS
Scored across 8 tools
Each tool targets a unique combination of resource (author, page, post, tag) and operation (browse or read), with no overlapping functionality. Descriptions clearly differentiate between list and single retrieval.
All tools follow a consistent `content_{browse|read}_{resource}` pattern, using snake_case and a clear verb-noun structure. The naming is predictable and uniform across the entire surface.
8 tools is ideal for a focused read-only public content API covering four resources with list and single retrieval. Each tool serves a distinct purpose without being excessive or insufficient.
The tool set fully covers the domain of public content access: all four primary resources (authors, pages, posts, tags) have both browse and read operations. There are no obvious gaps for the intended use cases.