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 | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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