Skip to content
VS Code

ghost publisher for VS Code

io.github.boragkc/ghost-publisher

Local-first MCP server for safe Ghost authoring, diagnostics, scheduling, and publishing.

client:VS Code transport:stdio runtime:npm

Install ghost publisher in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "ghost-url",
      "description": "GHOST_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-admin-api-key",
      "description": "GHOST_ADMIN_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-api-version",
      "description": "GHOST_API_VERSION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-permission-profile",
      "description": "GHOST_PERMISSION_PROFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-read-only",
      "description": "GHOST_READ_ONLY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-upload-roots",
      "description": "GHOST_UPLOAD_ROOTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-deploy-hook-url",
      "description": "GHOST_DEPLOY_HOOK_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-public-post-url-template",
      "description": "GHOST_PUBLIC_POST_URL_TEMPLATE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "ghost-public-page-url-template",
      "description": "GHOST_PUBLIC_PAGE_URL_TEMPLATE",
      "password": true
    }
  ],
  "servers": {
    "ghost-publisher": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "ghost-publisher-mcp"
      ],
      "env": {
        "GHOST_URL": "${input:ghost-url}",
        "GHOST_ADMIN_API_KEY": "${input:ghost-admin-api-key}",
        "GHOST_API_VERSION": "${input:ghost-api-version}",
        "GHOST_PERMISSION_PROFILE": "${input:ghost-permission-profile}",
        "GHOST_READ_ONLY": "${input:ghost-read-only}",
        "GHOST_UPLOAD_ROOTS": "${input:ghost-upload-roots}",
        "GHOST_DEPLOY_HOOK_URL": "${input:ghost-deploy-hook-url}",
        "GHOST_PUBLIC_POST_URL_TEMPLATE": "${input:ghost-public-post-url-template}",
        "GHOST_PUBLIC_PAGE_URL_TEMPLATE": "${input:ghost-public-page-url-template}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

ghost publisher in other clients