# All MCP tools (/docs/build/mcp-reference)

{/* GENERATED by scripts/generate-mcp-reference.mjs from the MCP server tools/list. Do not edit. */}

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](/mcp-tools.json).

Before calling any tool, read [Agent rules](/docs/build/agent-rules).

## Notes [#notes]

| Tool | Access | What it does |
| --- | --- | --- |
| [`create_many_notes`](/docs/build/mcp-reference/create_many_notes) | Writes data | Create multiple notes at once. |
| [`create_note`](/docs/build/mcp-reference/create_note) | Writes data | Create a new note draft or ready note. |
| [`get_note`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/list_notes) | Read-only | List your notes, optionally filtered by status or tag. |
| [`list_tags`](/docs/build/mcp-reference/list_tags) | Read-only | List all your note categories/tags. |
| [`update_note`](/docs/build/mcp-reference/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 [#schedule]

| Tool | Access | What it does |
| --- | --- | --- |
| [`get_next_available_slots`](/docs/build/mcp-reference/get_next_available_slots) | Read-only | Get the next N available posting slots based on your schedule template and already-scheduled notes. |
| [`get_queue`](/docs/build/mcp-reference/get_queue) | Read-only | Get the scheduled notes queue (notes with assigned schedule times). |
| [`get_schedule`](/docs/build/mcp-reference/get_schedule) | Read-only | Get your recurring schedule template (weekly time slots). |
| [`get_schedule_capacity`](/docs/build/mcp-reference/get_schedule_capacity) | Read-only | Check how many more notes the user is allowed to schedule on their current plan. |
| [`schedule_notes`](/docs/build/mcp-reference/schedule_notes) | Irreversible | Schedule notes to the user's next available posting slots based on their recurring schedule template. |
| [`schedule_notes_with_custom_dates`](/docs/build/mcp-reference/schedule_notes_with_custom_dates) | Irreversible | Schedule notes at user-provided custom dates/times (one date per note). |

## Articles [#articles]

| Tool | Access | What it does |
| --- | --- | --- |
| [`create_article`](/docs/build/mcp-reference/create_article) | Writes data | Create a WriteStack article draft. |
| [`create_article_image_upload`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/get_article) | Read-only | Get one WriteStack article by ID, including markdown body, publicationId, contentVersion, and Substack draft/schedule status. |
| [`get_article_substack_status`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/schedule_article_on_substack) | Writes data | Schedule a WriteStack article on Substack. |
| [`unschedule_article_on_substack`](/docs/build/mcp-reference/unschedule_article_on_substack) | Irreversible | Remove a WriteStack article from the Substack schedule. |
| [`update_article`](/docs/build/mcp-reference/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 [#statistics-and-activity]

| Tool | Access | What it does |
| --- | --- | --- |
| [`get_notes_statistics`](/docs/build/mcp-reference/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`](/docs/build/mcp-reference/get_posts_statistics) | Read-only | Read this writer's Substack post statistics for every newsletter selected on Posts Statistics, in one call. |
| [`list_activities`](/docs/build/mcp-reference/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 [#cross-posting]

| Tool | Access | What it does |
| --- | --- | --- |
| [`list_buffer_channels`](/docs/build/mcp-reference/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 [#coach]

| Tool | Access | What it does |
| --- | --- | --- |
| [`ask_coach`](/docs/build/mcp-reference/ask_coach) | Writes data | Talk to the WriteStack Coach (Quill), the user's Substack growth coach. |

## Other [#other]

| Tool | Access | What it does |
| --- | --- | --- |
| [`get_feature_suggestion_link`](/docs/build/mcp-reference/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. |
