Create a draft post

Create a post as a draft. Nobody sees it until it is published or scheduled.

MCP tool ghost_write → create_draft_post

write

Returns the saved draft with its id, slug, tags and authors. The author defaults to the staff user you signed in as. HTML is converted to the editor format and some markup can come out different, so read the draft back with get_post. A draft reaches nobody and you remove it from Ghost Admin, so this tool does not ask for confirmation.

Parameters

Parameters: create_draft_post
NameTypeDescription
title string required string Post title.
content string required string Post body. HTML or Markdown.
tags string[] string[] Tag names. A name Ghost cannot match becomes a new tag.
access string string Who can read it: Public, Members only, Paid-members only or Specific tiers. Default Public.
excerpt string string Custom excerpt shown under the title.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ghost_write",
    "arguments": {
      "operation": "create_draft_post",
      "arguments": {
        "title": "Issue 42: pricing notes",
        "content": "<p>Three pricing changes we tried this month.</p>",
        "tags": [
          "Weekly"
        ],
        "access": "Public"
      }
    }
  }
}

Example response

JSON

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "post": {
      "id": "6710a1c2f3e4d500a1b2c3d4",
      "title": "Issue 42: pricing notes",
      "slug": "issue-42-pricing-notes",
      "status": "draft",
      "access": "Public",
      "tags": [
        "Weekly"
      ],
      "authors": [
        "Sam Rivera"
      ],
      "published_at": null
    }
  },
  "isError": false
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.