Tool reference

get_article

Get Article. Get one WriteStack article by ID, including markdown body, publicationId, contentVersion, and Substack draft/schedule status.

GroupAccessMCP name
ArticlesRead-onlyget_article

Description

The description the MCP server sends to the model, word for word. Its rules apply to every call.

Get one WriteStack article by ID, including markdown body, publicationId, contentVersion, and Substack draft/schedule status. The markdown may include headings, bold/italic/strike/code, lists, blockquotes, :::pullquote, :::callout, and :::paywall. ALWAYS call this immediately before update_article and pass the returned contentVersion as baseVersion — the user may have edited the article in WriteStack since you last saw it.

Arguments

ArgumentTypeRequiredDescription
articleIdstringYesWriteStack article ID

Example call

The smallest valid request: required arguments only, with placeholder values.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_article",
    "arguments": {
      "articleId": "…"
    }
  }
}

Result

The result has structuredContent that matches this schema. The same data is also in content as JSON text.

FieldTypeRequiredDescription
bodyMarkdownstring | nullYes
contentVersionnumberNo
idstringYes
imagesobject[]No
images[].s3UrlstringYes
images[].substackUrlstring | nullYes
plannedForDatestring | nullYes
publicationIdnumberYes
publishAtstring | nullNo
statusstringYes
substackDraftUrlstring | nullNo
substackScheduledAtstring | nullNo
substackSyncStatusstringNo
subtitlestring | nullYes
titlestringYes
topicstringYes

Annotations

HintValue
readOnlyHinttrue
destructiveHintfalse
openWorldHintfalse

The full input and output JSON Schemas for every tool are in /mcp-tools.json.

On this page