Skip to main content
Glama
BlogFactoryHQ

Ghost Publisher MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GHOST_URLYesGhost instance URL; HTTPS required outside localhost and embedded credentials rejected.
GHOST_READ_ONLYNoBackward-compatible alias: true selects read-only, false preserves publisher. Cannot be combined with GHOST_PERMISSION_PROFILE.
GHOST_API_VERSIONNoGhost Admin API compatibility version.v5.0
GHOST_UPLOAD_ROOTSNoAllowed absolute directories, separated by the OS path delimiter (':' on macOS/Linux, ';' on Windows).
GHOST_ADMIN_API_KEYYesAdmin key from a Ghost custom integration.
GHOST_DEPLOY_HOOK_URLNoHTTPS endpoint receiving one non-redirecting POST after a fully successful publish/unpublish batch.
GHOST_PERMISSION_PROFILENoread-only, draft-editor, scheduler, or publisher; technically limits the registered tools.publisher
GHOST_PUBLIC_PAGE_URL_TEMPLATENoPublic page URL with exactly one {slug} in its path, used by check_live_pages for headless sites.
GHOST_PUBLIC_POST_URL_TEMPLATENoPublic post URL with exactly one {slug} in its path, used by check_live_posts.

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_connectionA

Verify Ghost authentication and report which optional features are configured without exposing secrets.

list_postsA

List concise Ghost post records. Use this before updating or publishing to obtain exact IDs and updated_at values.

get_postA

Get one post by its exact Ghost ID or slug, including HTML, Lexical content, and complete SEO and social metadata.

list_tagsB

List Ghost tags with post counts.

list_authorsB

List bounded public author identities and post counts without exposing staff email or roles.

list_pagesC

List bounded Ghost page records and obtain exact IDs plus updated_at values.

get_pageA

Get one page by exact Ghost ID or slug, including HTML, Lexical content, and complete SEO and social metadata.

preview_changesA

Read up to 25 exact posts or Pages and return full before snapshots, field and Lexical impact, required approval scopes, and a site-bound stateless preview hash. This tool never writes.

audit_contentA

Inspect up to 25 exact posts or Pages for parseability, Lexical/card inventory, missing alt text and metadata, lengths, links, and a Sources/Kaynaklar heading. It does not crawl, score quality, or judge sources.

check_site_healthB

Check server-selected Ghost and delivery surfaces, exact published targets, canonicals, share prerequisites, and Ghost-returned feature images without crawling or writing.

plan_scheduleA

Convert an ordered draft list and IANA local start time into exact UTC timestamps with an HMAC-bound plan. This tool never writes, emails, deploys, or claims headless visibility.

create_draftsA

Create 1–10 posts as drafts from either Markdown or bounded native Ghost blocks, including formatted prose, lists, quotes, code, uploaded-image cards, and bookmarks. Image-card src values must come from upload_image in this server session. This tool cannot publish. Ordered tags preserve the primary tag.

create_page_draftsA

Create 1–10 pages from either Markdown or bounded native Ghost blocks and always force draft status. Image-card src values must come from upload_image in this server session. Tags, authors, templates, code injection, and scheduling are unavailable.

apply_change_setA

Re-read and preflight the exact previewed batch, require an exact site-bound preview hash plus exact approval scopes, save a Ghost revision for every edit, verify readback, and stop after the first remote failure.

upload_imageA

Upload a local image inside GHOST_UPLOAD_ROOTS, including images generated by the AI client. Remote URLs, SVG, symlink escapes, and files over 20 MB are refused.

publish_postsA

Publish Ghost posts as an exact, version-checked batch after user_confirmed=true. A configured deploy hook runs exactly once after complete success. Newsletter email is never sent.

unpublish_postsA

Unpublish Ghost posts as an exact, version-checked batch after user_confirmed=true. A configured deploy hook runs exactly once after complete success. Newsletter email is never sent.

publish_pagesA

Publish Ghost pages as an exact, version-checked batch after user_confirmed=true. A configured deploy hook runs exactly once after complete success.

unpublish_pagesA

Unpublish Ghost pages as an exact, version-checked batch after user_confirmed=true. A configured deploy hook runs exactly once after complete success.

schedule_postsA

Schedule exact current drafts for future web publication. Requires user_confirmed=true and never sends newsletters or triggers deployment.

unschedule_postsA

Return exact current scheduled posts to draft. Requires user_confirmed=true and never triggers deployment.

trigger_deployA

POST exactly once to the configured deployment hook after user_confirmed=true. The hook URL cannot be supplied by the caller and failures are never retried automatically.

check_live_postsB

Check configured public URLs once and verify HTTP status, expected title text, and any supplied rendered SEO metadata.

check_live_pagesB

Read exact current published pages, select each public URL from Ghost or GHOST_PUBLIC_PAGE_URL_TEMPLATE, and verify HTTP status, title, canonical URL, and configured SEO metadata once.

Prompts

Interactive templates invoked by user choice

NameDescription
ghost_safe_publishReview and publish one exact batch of Ghost posts or Pages with approval and live verification.
ghost_seo_optimizePrepare and apply one evidence-backed, metadata-only Ghost SEO update with exact approval.
ghost_publication_doctorRun bounded draft-readiness and public-site diagnostics with existing approval-gated remediation only.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 24 tools

Disambiguation4/5

Tools are mostly well-bounded by resource and action (posts vs. pages, draft vs. publish vs. schedule). The main risk is the cluster of checking tools (check_connection, check_site_health, check_live_posts, check_live_pages, audit_content), but their descriptions distinguish scope and side effects well enough.

Naming Consistency5/5

All tool names use snake_case with a consistent verb_noun or verb form (list_posts, get_page, publish_pages, schedule_posts, check_live_pages). There are no mixed conventions or confusing abbreviations.

Tool Count3/5

With 24 tools, the set is on the heavy side for a Ghost publishing server. Many post/page pairs (publish_posts/publish_pages, unpublish_posts/unpublish_pages, list_posts/list_pages) could be parameterized, though the domain is complex enough that most tools earn a place.

Completeness4/5

The surface covers the core publishing lifecycle: list/get, create drafts, edit via change sets, publish/unpublish, schedule/unschedule posts, upload images, deploy, and live verification. Minor gaps remain, such as no delete operation and no write access for tags or authors, but these are workable around for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues