ghost-admin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GHOST_API_URL | Yes | Your Ghost site URL, no trailing slash needed | |
| GHOST_API_VERSION | No | API version header, default v5.0 (works with Ghost 5.x and 6.x) | v5.0 |
| GHOST_ADMIN_API_KEY | Yes | Admin API key (id:secret) from a custom integration |
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 |
|---|---|
| posts_browseA | List posts (summaries only). Supports Ghost NQL filters and pagination. |
| posts_readB | Read a single post by id or slug, including its full HTML body. |
| posts_createC | Create a post. Defaults to draft unless status is set. |
| posts_updateB | Update a post. Only the provided fields change; the body is replaced only when html is given. Handles Ghost's updated_at collision check automatically. |
| posts_deleteB | Permanently delete a post by id. This cannot be undone. |
| pages_browseB | List pages (summaries only). Supports Ghost NQL filters and pagination. |
| pages_readA | Read a single page by id or slug, including its full HTML body. |
| pages_createC | Create a page. Defaults to draft unless status is set. |
| pages_updateB | Update a page. Only the provided fields change; the body is replaced only when html is given. Handles Ghost's updated_at collision check automatically. |
| pages_deleteB | Permanently delete a page by id. This cannot be undone. |
| tags_browseB | List tags with post counts. |
| tags_createC | Create a tag. |
| tags_updateC | Update a tag by id. |
| tags_deleteA | Delete a tag by id. Posts keep their other tags. |
| images_uploadA | Upload an image to Ghost from a remote URL or a local file path. Returns the Ghost-hosted URL to use as feature_image or in post HTML. |
| site_infoA | Read basic site information (title, url, version). |
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 16 tools
Every tool targets a distinct resource+action pair (posts/pages/tags × browse/read/create/update/delete, plus images_upload and site_info). There is no plausible confusion about which tool to call for a given intent.
The dominant pattern is resource_verb (tags_update, posts_browse, pages_read), applied consistently across all posts/pages/tags tools. The lone deviation is site_info, which is noun_noun rather than verb-based, a minor inconsistency.
16 tools slightly exceeds the ideal 3-15 band, but each earns its place: full CRUD for posts and pages, CRUD for tags, plus image upload and site info. Nothing looks redundant or filler.
Posts, pages, and tags each have full create/read/browse/update/delete coverage, which is strong. Minor gaps exist: no single-tag read, no image listing/deletion, and no author/user or settings operations.