MCPVault

write_comment_permissions

MCP tool from Substack MCP by marcomoauro

(everyone subscribers onlypaid none, optional): who may comment

How to use it

write_comment_permissions is exposed by the Substack MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the write_comment_permissions tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

FULL SUBSTACK MCP LISTING

Other tools in Substack MCP (39)

active_only

(boolean, optional): exclude paused and expired subscriptions. Defaults to true.

after

(string, optional): the nextafter from a previous response. A timestamp, not an

audience

(everyone onlypaid onlyfree founding, optional)

body

(string): Body of the post. Plain text becomes one paragraph per line — Markdown is not

columns

(array, optional): which columns to include, defaulting to all of them

cover_image

(string, optional): the social preview image. A URL already on substack-post-media.s3.amazonaws.com or substackcdn.com is used as-is; anything else is downloaded and re-hosted on Substack first, under the same guards as uploadimage

create_if_missing

(boolean, optional): create the tag when no name matches. Defaults to true;

cursor

(string, optional): the nextcursor from a previous response

DateTime

ison isafter isonorafter isbefore isonorbefore

default_comment_sort

(bestfirst mostrecentfirst oldestfirst, optional)

description

(string, optional): the social preview description — not the subtitle

draft_id

(number): the id returned by listposts or createdraftpost

draft_subtitle

(string, optional)

draft_title

(string, optional)

filters

(array, optional): conditions combined with AND, each {column, operator, value}

full

(boolean, optional): return all 111 fields (~24 KB) instead of the projection.

include_body

(boolean, optional): defaults to true

include_hidden

(boolean, optional): include tags not shown in the navigation. Defaults to true.

include_tabs

(boolean, optional): also return the available tab ids

limit

(number, optional): 1–100, defaults to 25

max_wait_seconds

(number, optional): 1–600, defaulting to 120

offset

(number, optional): for paging

path

(string): absolute path to an image file on the machine running this server, read straight

post_id

(number, optional): the post the image belongs to; its effect is unconfirmed

search

(string, optional): free text matched against subscriber name and email

search_engine_description

(string, optional)

search_engine_title

(string, optional)

send

(boolean, optional): email the post to subscribers. Defaults to false, unlike the

slug

(string, optional): the post's URL slug

social_title

(string, optional): the title used when the post is shared elsewhere

sort_by

(string, optional): any filterable column

sort_direction

(asc desc, optional): defaults to desc

status

(drafts published scheduled): which list to read

subtitle

(string): Subtitle of the post

tab

(string, optional): tab id — for-you (default) or subscribed. Never the display name:

tag_name

(string): matched case-insensitively against existing tags

title

(string): Title of the post

url

(string): the http(s) URL of an image to download and re-host

user_id

(number, optional): defaults to SUBSTACKUSERID — your own account