LeashIndex Get the report

Index / storage

Substack MCP Server

io-github-marcomoauro-substack-mcp declares 27 capabilities across 27 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

78/100 exposureHigh exposure

Manifest recorded 2026-10-27 from tools/list answered by the npm package substack-mcp@1.3.2 (published to npm as substack-mcp, listed in the official MCP registry as io.github.marcomoauro/substack-mcp 1.3.2), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · irreversible-uncapped · 6 of 27 tools

6 tools are classified as irreversible and declare no limit.

critical · no-revocation · All 27 tools

27 of 27 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

high · no-expiry · All 27 tools

27 of 27 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 27 tools

27 of 27 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 4 of 27 tools

4 tools can modify data and declare no limit.

low · uncapped-read · 17 of 27 tools

17 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
create_draft_postsend inferred
set_post_bodysend inferred
upload_imagewrite inferred
list_subscribersread inferred
export_subscriberswrite assumed
list_postsread inferred
get_draftread inferred
update_draftwrite inferred
publish_draftsend inferred
delete_draftdelete inferred
get_publicationread inferred
get_user_profileread inferred
list_publication_tagsread inferred
get_post_tagsread inferred
add_tag_to_postsend inferred
get_post_commentsread inferred
comment_on_postsend inferred
list_subscriptionsread inferred
list_reader_postsread inferred
get_reader_postread inferred
get_reader_feedread inferred
get_profile_feedread inferred
get_comment_threadread inferred
restack_itemwrite assumed
get_publication_statsread inferred
get_post_statsread inferred
get_analyticsread inferred
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.