Substack MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUBSTACK_SID | Yes | Your Substack session ID cookie value (substack.sid) | |
| SUBSTACK_PUBLICATION | Yes | Your Substack publication URL (e.g., your-publication.substack.com) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| substack_create_draftC | Create a new Substack draft post |
| substack_update_draftC | Update an existing draft's content |
| substack_append_to_draftB | Append content to an existing draft (for live blogging) |
| substack_add_code_blockC | Add a code block to a draft |
| substack_add_imageC | Add an image to a draft |
| substack_publishC | Publish a draft to your Substack |
| substack_post_noteC | Post a short note (like a tweet) |
| substack_get_draftsB | List all drafts |
| substack_get_postsC | List published posts |
| substack_live_blog_startC | Start a live blogging session |
| substack_live_blog_endA | End the current live blogging session |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Substack Drafts | List of all draft posts |
| Substack Posts | List of published posts |
| Substack Profile | Your Substack profile |
| Live Blog Session | Current live blogging session state |
TDQS
Scored across 11 tools
Every tool has a clearly distinct purpose targeting specific Substack operations. There is no overlap between tools like substack_create_draft (creation), substack_update_draft (updating), substack_publish (publishing), and the various content addition tools. The live blogging tools are also clearly separated from regular draft management.
All tools follow a perfect substack_verb_noun naming pattern consistently throughout. The structure is uniform with clear action-object relationships (e.g., substack_create_draft, substack_get_drafts, substack_add_image). There are no deviations in naming conventions.
With 11 tools, this is well-scoped for Substack content management. The count covers draft lifecycle (create, update, publish), content enhancement (add code/image), listing operations (drafts/posts), and specialized features (live blogging, notes). Each tool earns its place without redundancy.
The tool set provides complete CRUD/lifecycle coverage for Substack content management. It includes creation (create_draft), reading (get_drafts, get_posts), updating (update_draft), deletion (implied through publishing/updating), plus specialized operations like live blogging and note posting. There are no obvious gaps for the domain.