list_articles
List Articles. List WriteStack articles from newsletters the user has enabled in Articles, optionally filtered by status or publicationId.
| Group | Access | MCP name |
|---|---|---|
| Articles | Read-only | list_articles |
Description
The description the MCP server sends to the model, word for word. Its rules apply to every call.
List WriteStack articles from newsletters the user has enabled in Articles, optionally filtered by status or publicationId. Call list_article_newsletters first if you need valid publication IDs. Returns title, topic, status, target date (plannedForDate, null for undated drafts), publicationId, and Substack sync fields.
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
limit | number | No | Default 20. |
publicationId | number | No | Enabled newsletter publicationId. BEFORE creating or pushing an article, call list_article_newsletters and ASK the user which newsletter to use. Never guess or pick a default. Only IDs returned by that tool are accepted — newsletters the user hid from Articles are rejected. |
skip | number | No | Default 0. |
status | string | No | One of: "planned", "generating", "draft", "reviewed", "failed". |
Example call
The smallest valid request: required arguments only, with placeholder values.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_articles",
"arguments": {}
}
}Result
The result has structuredContent that matches this schema. The same data is also in content as JSON text.
| Field | Type | Required | Description |
|---|---|---|---|
articles | object[] | Yes | |
articles[].id | string | Yes | |
articles[].plannedForDate | string | null | Yes | |
articles[].publicationId | number | Yes | |
articles[].publishAt | string | null | No | |
articles[].status | string | Yes | |
articles[].substackDraftUrl | string | null | No | |
articles[].substackSyncStatus | string | No | |
articles[].subtitle | string | null | Yes | |
articles[].title | string | Yes | |
articles[].topic | string | Yes | |
count | number | Yes | |
hasMore | boolean | Yes | |
skip | number | Yes |
Annotations
| Hint | Value |
|---|---|
readOnlyHint | true |
destructiveHint | false |
openWorldHint | false |
The full input and output JSON Schemas for every tool are in /mcp-tools.json.
list_article_newsletters
List Article Newsletters. List the newsletters the user has enabled for Articles (the ones shown in WriteStack Articles; hidden newsletters are omitted).
get_article
Get Article. Get one WriteStack article by ID, including markdown body, publicationId, contentVersion, and Substack draft/schedule status.