Skip to main content
Glama
vizionik25

Ghost CMS Admin & Newsletter MCP Server

by vizionik25

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort to run the server on (default: 8765).
TRANSPORTNoTransport protocol (default: streamable-http). Options: streamable-http, sse, stdio.
MCP_AUTH_TOKENNoOptional bearer token for securing the MCP endpoint.
GHOST_ADMIN_API_KEYYesYour Ghost Admin API key in the format id:secret.
GHOST_ADMIN_API_URLYesThe base URL of your Ghost Admin API (e.g., https://blog.yourdomain.com).

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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ghost_get_site_infoA

Get full site metadata, settings, title, timezone, version, and navigation structure.

ghost_test_connectionA

Verify authentication and connection to the self-hosted Ghost CMS instance.

ghost_list_postsC

List and search blog posts & newsletters from Ghost CMS with filtering, pagination, and sorting.

ghost_get_postA

Get full details and content of a single Ghost post by its ID or Slug.

ghost_create_postC

Create a new blog post or newsletter draft in Ghost CMS.

ghost_update_postB

Update an existing post in Ghost CMS by ID.

ghost_delete_postA

Delete a post permanently from Ghost CMS by ID.

ghost_publish_and_send_newsletterB

Publish a draft post and immediately broadcast it as an email newsletter to subscribers.

ghost_list_pagesA

List static pages in Ghost CMS (e.g. About, Contact, Privacy Policy, Landing pages).

ghost_get_pageA

Get full details and content of a static Ghost page by ID or Slug.

ghost_create_pageB

Create a new static page in Ghost CMS.

ghost_update_pageC

Update an existing static page in Ghost CMS.

ghost_delete_pageA

Delete a static page permanently by ID.

ghost_list_newslettersA

List all email newsletters configured on the Ghost CMS publication.

ghost_get_newsletterA

Get detailed configuration and stats for a specific newsletter by ID.

ghost_create_newsletterC

Create a new email newsletter channel for the Ghost publication.

ghost_update_newsletterB

Update configuration of an existing newsletter by ID.

ghost_list_membersB

List, search, and filter members/subscribers of the Ghost publication.

ghost_get_memberA

Get detailed profile, subscription tiers, and email history for a member by ID.

ghost_create_memberB

Add a new member or subscriber to Ghost CMS.

ghost_update_memberB

Update an existing member's information, labels, or subscription status.

ghost_delete_memberB

Permanently delete a member from Ghost CMS.

ghost_add_member_labelsB

Append one or more labels to an existing member for segmentation.

ghost_list_tagsA

List all tags (public and internal #tags) used across Ghost posts.

ghost_get_tagB

Get full details for a tag by ID or slug.

ghost_create_tagC

Create a new tag (public or internal starting with #).

ghost_update_tagB

Update an existing tag in Ghost CMS.

ghost_delete_tagA

Delete a tag permanently from Ghost CMS.

ghost_list_tiersA

List all membership and subscription tiers (Free, Paid, Monthly/Yearly pricing, Benefits).

ghost_list_offersA

List all active discount offers and promotional codes in Ghost CMS.

ghost_upload_imageB

Upload an image to Ghost CMS from a local file path, a web URL, or base64 string. Returns the public Ghost image URL for feature images or inline content.

ghost_list_webhooksA

List all configured webhooks in Ghost CMS.

ghost_create_webhookA

Create a new webhook in Ghost CMS for event notifications (e.g. 'post.published', 'member.added').

ghost_delete_webhookB

Delete a webhook by ID from Ghost CMS.

Prompts

Interactive templates invoked by user choice

NameDescription
draft-blog-postPrompt template for generating a structured, engaging, SEO-optimized blog post ready for Ghost CMS.
draft-newsletterPrompt template for writing an engaging newsletter edition to broadcast to Ghost subscribers.
ghost-content-auditPrompt template to analyze recent posts and member growth to recommend an editorial calendar.

Resources

Contextual data attached and managed by the client

NameDescription
ghost-site-infoSite configuration, title, description, and settings
ghost-newslettersList of all active and archived newsletters with subscriber counts
ghost-tiersAvailable subscription and membership tiers
ghost-recent-postsThe 10 most recent published posts from the publication
ghost-members-summaryRecent member signups and status overview

TDQS

A3.6/5.0

Scored across 34 tools

Disambiguation5/5

Each tool targets a distinct resource and action (e.g., list_posts vs get_post, create_member vs update_member). The combination of noun (post, page, tag, member, newsletter, webhook) and verb (list, get, create, update, delete) makes each tool's purpose immediately clear, with no overlapping or ambiguous tools.

Naming Consistency5/5

All tools follow a uniform 'ghost_<verb>_<noun>' pattern in snake_case. Verbs are consistently action-oriented (list, get, create, update, delete) and nouns correspond to specific entities, with only a few compound verbs like 'publish_and_send' that still adhere to the overall pattern.

Tool Count4/5

With 34 tools, the server covers a broad domain (posts, pages, tags, members, newsletters, webhooks, offers, tiers, images, site info). While higher than the typical 3-15 range, it is justified by the number of entities and their CRUD needs, so it remains reasonable and each tool serves a distinct purpose.

Completeness4/5

The tool surface covers full lifecycle operations for most core entities (posts, pages, tags, members, webhooks) and provides listing for auxiliary entities like offers and tiers. Minor gaps exist (e.g., no delete for newsletters, no update for webhooks), but these are edge cases and do not block primary workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues