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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jgardner04/Ghost-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server