Tool reference
All MCP tools
Every tool the WriteStack MCP server exposes (29 in total), grouped by area, with what each does and whether it changes data.
The server exposes 29 tools. These pages are generated from the server's own tools/list response, so names, arguments and descriptions match what your client sees. The full list with JSON Schemas is at /mcp-tools.json.
Before calling any tool, read Agent rules.
Notes
| Tool | Access | What it does |
|---|---|---|
create_many_notes | Writes data | Create multiple notes at once. |
create_note | Writes data | Create a new note draft or ready note. |
get_note | Read-only | Get a single note by ID with its full content, including auto-restack configuration (autoRestackAfterHours), Buffer cross-post channels (bufferChannelIds), and any per-channel Buffer post overrides (bufferChannelPosts: custom text and attachments for a channel). |
get_writing_style | Read-only | Return the user's saved note style, topics, and onboarding context from WriteStack (user metadata and linked publication analysis). |
list_notes | Read-only | List your notes, optionally filtered by status or tag. |
list_tags | Read-only | List all your note categories/tags. |
update_note | Irreversible | Update an existing note's content, status, tags, auto-restack delay (autoRestackAfterHours), Buffer cross-post channels (bufferChannelIds), per-channel Buffer posts (bufferChannelPosts), or link preview (includePreviews). |
Schedule
| Tool | Access | What it does |
|---|---|---|
get_next_available_slots | Read-only | Get the next N available posting slots based on your schedule template and already-scheduled notes. |
get_queue | Read-only | Get the scheduled notes queue (notes with assigned schedule times). |
get_schedule | Read-only | Get your recurring schedule template (weekly time slots). |
get_schedule_capacity | Read-only | Check how many more notes the user is allowed to schedule on their current plan. |
schedule_notes | Irreversible | Schedule notes to the user's next available posting slots based on their recurring schedule template. |
schedule_notes_with_custom_dates | Irreversible | Schedule notes at user-provided custom dates/times (one date per note). |
Articles
| Tool | Access | What it does |
|---|---|---|
create_article | Writes data | Create a WriteStack article draft. |
create_article_image_upload | Writes data | Get one-time upload URLs on writestack.io for an article image that has no public URL, such as a local file, an attachment you can read, or a private Google Drive file. |
get_article | Read-only | Get one WriteStack article by ID, including markdown body, publicationId, contentVersion, and Substack draft/schedule status. |
get_article_substack_status | Read-only | Get the Substack sync status for an article: draft URL, scheduled time, and last error if any. |
list_article_newsletters | Read-only | List the newsletters the user has enabled for Articles (the ones shown in WriteStack Articles; hidden newsletters are omitted). |
list_articles | Read-only | List WriteStack articles from newsletters the user has enabled in Articles, optionally filtered by status or publicationId. |
push_article_to_substack | Irreversible | Push or update a WriteStack article as a Substack draft through the user's Chrome extension. |
schedule_article_on_substack | Writes data | Schedule a WriteStack article on Substack. |
unschedule_article_on_substack | Irreversible | Remove a WriteStack article from the Substack schedule. |
update_article | Irreversible | Update an article's title, subtitle, markdown body, imageUrl (remote images fetched to S3 and appended), or Substack settings (audience, comments, SEO, slug, social title, publishAt). |
Statistics and activity
| Tool | Access | What it does |
|---|---|---|
get_notes_statistics | Read-only | Analyze the user's published Substack notes analytics: returns a paginated batch of notes with engagement metrics (impressions, clicks, reactions, comments, restacks, profile visits, shares, free/paid subscribers) and an audience split (subscribers, followers, strangers) when Substack stored one. |
get_posts_statistics | Read-only | Read this writer's Substack post statistics for every newsletter selected on Posts Statistics, in one call. |
list_activities | Read-only | List activity on the user's Substack (same rules as the WriteStack activity feed): non-dismissed items, excluding the user's own author, optional filter (all / comments / mentions). |
Cross-posting
| Tool | Access | What it does |
|---|---|---|
list_buffer_channels | Read-only | List the user's connected Buffer channels (social accounts like LinkedIn, X/Twitter, Threads, etc.) available for cross-posting. |
Coach
| Tool | Access | What it does |
|---|---|---|
ask_coach | Writes data | Talk to the WriteStack Coach (Quill), the user's Substack growth coach. |
Other
| Tool | Access | What it does |
|---|---|---|
get_feature_suggestion_link | Read-only | Return the link to the WriteStack features board, where the user can post a product or feature idea for others to vote on. |