Ghost MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the (optional) Express REST API server | 3000 |
| MCP_PORT | No | Port for the MCP server | 3001 |
| NODE_ENV | No | Environment setting | development |
| LOG_LEVEL | No | Set logging level (debug, info, warn, error) | info |
| GHOST_ADMIN_API_KEY | Yes | Your Ghost Admin API key | |
| GHOST_ADMIN_API_URL | Yes | The URL of your Ghost CMS Admin API |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ghost_get_tagsA | Retrieves a list of tags from Ghost CMS with pagination, filtering, sorting, and relation inclusion. Supports filtering by name, slug, visibility, or custom NQL filter expressions. |
| ghost_create_tagC | Creates a new tag in Ghost CMS. |
| ghost_get_tagB | Retrieves a single tag from Ghost CMS by ID or slug. |
| ghost_update_tagC | Updates an existing tag in Ghost CMS. |
| ghost_delete_tagB | Deletes a tag from Ghost CMS by ID. This operation is permanent and cannot be undone. |
| ghost_upload_imageA | Uploads an image to Ghost CMS. Accepts a remote URL, a local file path (when GHOST_MCP_IMAGE_ROOT is configured), or a base64 payload. Returns the Ghost image URL, alt text, and ref (when Ghost echoes it). |
| ghost_set_feature_imageA | Uploads an image and assigns it as the feature image of a post or page (with optional alt text and caption) in one call. Accepts the same imageUrl/imagePath/imageBase64 input modes as ghost_upload_image. Returns the updated resource. If the update fails after the upload, the error response includes the orphaned image URL. |
| ghost_create_postC | Creates a new post in Ghost CMS. |
| ghost_get_postsB | Retrieves a list of posts from Ghost CMS with pagination, filtering, and sorting options. |
| ghost_get_postB | Retrieves a single post from Ghost CMS by ID or slug. |
| ghost_search_postsB | Search for posts in Ghost CMS by query string with optional status filtering. |
| ghost_update_postA | Updates an existing post in Ghost CMS. Can update title, content, status, tags, images, and SEO fields. Only the provided fields are changed; omitted fields remain unchanged. Note: tags and authors arrays are fully replaced, not merged with existing values. |
| ghost_delete_postB | Deletes a post from Ghost CMS by ID. This operation is permanent and cannot be undone. |
| ghost_get_pagesA | Retrieves a list of pages from Ghost CMS with pagination, filtering, and sorting options. |
| ghost_get_pageB | Retrieves a single page from Ghost CMS by ID or slug. |
| ghost_create_pageB | Creates a new page in Ghost CMS. Note: Pages do NOT typically use tags (unlike posts). |
| ghost_update_pageB | Updates an existing page in Ghost CMS. Can update title, content, status, images, and SEO fields. Only the provided fields are changed; omitted fields remain unchanged. |
| ghost_delete_pageA | Deletes a page from Ghost CMS by ID. This operation is permanent and cannot be undone. |
| ghost_search_pagesB | Search for pages in Ghost CMS by query string with optional status filtering. |
| ghost_create_memberB | Creates a new member (subscriber) in Ghost CMS. |
| ghost_update_memberB | Updates an existing member in Ghost CMS. All fields except id are optional. |
| ghost_delete_memberA | Deletes a member from Ghost CMS by ID. This operation is permanent and cannot be undone. |
| ghost_get_membersB | Retrieves a list of members (subscribers) from Ghost CMS with optional filtering, pagination, and includes. |
| ghost_get_memberA | Retrieves a single member from Ghost CMS by ID or email. Provide either id OR email. |
| ghost_search_membersB | Searches for members by name or email in Ghost CMS. |
| ghost_get_newslettersB | Retrieves a list of newsletters from Ghost CMS with optional filtering. |
| ghost_get_newsletterB | Retrieves a single newsletter from Ghost CMS by ID. |
| ghost_create_newsletterC | Creates a new newsletter in Ghost CMS with customizable sender settings and display options. |
| ghost_update_newsletterB | Updates an existing newsletter in Ghost CMS. Can update name, description, sender settings, and display options. |
| ghost_delete_newsletterB | Deletes a newsletter from Ghost CMS by ID. This operation is permanent and cannot be undone. |
| ghost_get_tiersA | Retrieves a list of tiers (membership levels) from Ghost CMS with optional filtering by type (free/paid). |
| ghost_get_tierB | Retrieves a single tier (membership level) from Ghost CMS by ID. |
| ghost_create_tierC | Creates a new tier (membership level) in Ghost CMS with pricing and benefits. |
| ghost_update_tierC | Updates an existing tier (membership level) in Ghost CMS. Can update pricing, benefits, and other tier properties. |
| ghost_delete_tierB | Deletes a tier (membership level) from Ghost CMS by ID. This operation is permanent and cannot be undone. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Each tool targets a distinct resource-action pair (member, newsletter, page, post, tag, tier, image) with clear boundaries. Even search and get operations are differentiated by query type, avoiding ambiguity.
All tools follow the pattern ghost_<action>_<resource> with consistent verb usage (create, delete, get, update, search, upload, set). Singular nouns for single-item retrieval and plural for lists, making the set predictable.
35 tools is on the higher side but justified by the comprehensive CRUD coverage for 6 resource types plus image handling. Each tool serves a clear purpose without redundancy, though the count is slightly above typical optimal range.
The tool surface covers create, read (single/list), update, delete, and search for main resources, along with image upload and feature image assignment. No obvious gaps exist for Ghost CMS content management workflows.