Local-first MCP server for safe Ghost authoring, diagnostics, scheduling, and publishing.
Connect Runs on your machine
claude mcp add ghost-publisher -e GHOST_URL=<GHOST_URL> -e GHOST_ADMIN_API_KEY=<GHOST_ADMIN_API_KEY> -e GHOST_API_VERSION=<GHOST_API_VERSION> -e GHOST_PERMISSION_PROFILE=<GHOST_PERMISSION_PROFILE> -e GHOST_READ_ONLY=<GHOST_READ_ONLY> -e GHOST_UPLOAD_ROOTS=<GHOST_UPLOAD_ROOTS> -e GHOST_DEPLOY_HOOK_URL=<GHOST_DEPLOY_HOOK_URL> -e GHOST_PUBLIC_POST_URL_TEMPLATE=<GHOST_PUBLIC_POST_URL_TEMPLATE> -e GHOST_PUBLIC_PAGE_URL_TEMPLATE=<GHOST_PUBLIC_PAGE_URL_TEMPLATE> -- npx -y [email protected]
{
"mcpServers": {
"ghost-publisher": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"GHOST_URL": "<GHOST_URL>",
"GHOST_ADMIN_API_KEY": "<GHOST_ADMIN_API_KEY>",
"GHOST_API_VERSION": "<GHOST_API_VERSION>",
"GHOST_PERMISSION_PROFILE": "<GHOST_PERMISSION_PROFILE>",
"GHOST_READ_ONLY": "<GHOST_READ_ONLY>",
"GHOST_UPLOAD_ROOTS": "<GHOST_UPLOAD_ROOTS>",
"GHOST_DEPLOY_HOOK_URL": "<GHOST_DEPLOY_HOOK_URL>",
"GHOST_PUBLIC_POST_URL_TEMPLATE": "<GHOST_PUBLIC_POST_URL_TEMPLATE>",
"GHOST_PUBLIC_PAGE_URL_TEMPLATE": "<GHOST_PUBLIC_PAGE_URL_TEMPLATE>"
}
}
}
}
{
"mcpServers": {
"ghost-publisher": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"GHOST_URL": "<GHOST_URL>",
"GHOST_ADMIN_API_KEY": "<GHOST_ADMIN_API_KEY>",
"GHOST_API_VERSION": "<GHOST_API_VERSION>",
"GHOST_PERMISSION_PROFILE": "<GHOST_PERMISSION_PROFILE>",
"GHOST_READ_ONLY": "<GHOST_READ_ONLY>",
"GHOST_UPLOAD_ROOTS": "<GHOST_UPLOAD_ROOTS>",
"GHOST_DEPLOY_HOOK_URL": "<GHOST_DEPLOY_HOOK_URL>",
"GHOST_PUBLIC_POST_URL_TEMPLATE": "<GHOST_PUBLIC_POST_URL_TEMPLATE>",
"GHOST_PUBLIC_PAGE_URL_TEMPLATE": "<GHOST_PUBLIC_PAGE_URL_TEMPLATE>"
}
}
}
}
{
"servers": {
"ghost-publisher": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"GHOST_URL": "<GHOST_URL>",
"GHOST_ADMIN_API_KEY": "<GHOST_ADMIN_API_KEY>",
"GHOST_API_VERSION": "<GHOST_API_VERSION>",
"GHOST_PERMISSION_PROFILE": "<GHOST_PERMISSION_PROFILE>",
"GHOST_READ_ONLY": "<GHOST_READ_ONLY>",
"GHOST_UPLOAD_ROOTS": "<GHOST_UPLOAD_ROOTS>",
"GHOST_DEPLOY_HOOK_URL": "<GHOST_DEPLOY_HOOK_URL>",
"GHOST_PUBLIC_POST_URL_TEMPLATE": "<GHOST_PUBLIC_POST_URL_TEMPLATE>",
"GHOST_PUBLIC_PAGE_URL_TEMPLATE": "<GHOST_PUBLIC_PAGE_URL_TEMPLATE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
GHOST_URLRequired | URL of the Ghost site. |
GHOST_ADMIN_API_KEYRequired, secret | Admin API key from a Ghost custom integration. |
GHOST_API_VERSIONOptional | Ghost Admin API compatibility version; defaults to v5.0. |
GHOST_PERMISSION_PROFILEOptional | Permission profile: read-only, draft-editor, scheduler, or publisher. Defaults to publisher. |
GHOST_READ_ONLYOptional | Legacy alias for the read-only profile. Do not combine with GHOST_PERMISSION_PROFILE. |
GHOST_UPLOAD_ROOTSOptional | Allowed absolute directories for local image uploads. |
GHOST_DEPLOY_HOOK_URLOptional, secret | Optional deployment hook called once after a completely successful publish or unpublish batch. |
GHOST_PUBLIC_POST_URL_TEMPLATEOptional | Optional public post URL containing {slug} for live checks. |
GHOST_PUBLIC_PAGE_URL_TEMPLATEOptional | Optional public page URL containing {slug} for headless live checks. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 25 Aug 2026 |
| Last updated | 25 Aug 2026 |
| Registry name | io.github.BlogFactoryHQ/ghost-publisher |
More security servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
