Create post

Publish a post, add it to the queue, schedule it or save a draft.

MCP tool tumblr_write → create_post

write Confirm

Creates a post on your blog under your name. Set state to published (default), queue, draft or private. With state queue and no publish_on, the post joins the end of the queue and follows the blog Queue settings. With publish_on it publishes at that time. Private posts cannot be queued. A full queue or the daily limit returns an error. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: create_post
NameTypeDescription
blog string required string Blog name, e.g. 'studio-notes' for studio-notes.tumblr.com. Names come from list_blogs.
content string required string Post text. Links and images go in as URLs.
tags string[] string[] Tags without the # sign.
state enum enum published, queue, draft or private. Default: published.
publish_on datetime datetime ISO 8601 time to publish. Only used when state is queue.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tumblr_write",
    "arguments": {
      "operation": "create_post",
      "arguments": {
        "blog": "studio-notes",
        "content": "New print: harbor at dawn, 40 x 60 cm, ink on paper. Available this Friday.",
        "tags": [
          "studio notes",
          "ink",
          "print"
        ],
        "state": "queue",
        "publish_on": "2026-10-19T09:00:00+02:00"
      }
    }
  }
}

Example response

JSON

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "post_id": "771204518830",
    "blog": "studio-notes",
    "state": "queue",
    "publish_on": "2026-10-19T09:00:00+02:00",
    "tags": [
      "studio notes",
      "ink",
      "print"
    ]
  },
  "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.