Public leaderboard

Public assessment

conorbronsdon/substack-mcp (@conorbronsdon/substack-mcp)

conorbronsdon-substack-mcp · v0.6.1 · scanned

What changed in the harness

Selection accuracy 98→96, token cost down 0%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

26.6 / 30

26.6 out of 30
03Economics

19.5 / 20

19.5 out of 20
04Discoverability

13.6 / 20

13.6 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

4 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
create_draft
no_return_description
Create a new draft post and store it in your drafts. Accepts markdown body which is converted to Substack's format. Does NOT publish — creates a draft only. Returns the new draft's id, title, and metadata.
update_draft
no_return_description
Update an existing, unpublished draft post. Only works on drafts that have not been published. Accepts markdown body. Returns the updated draft's id, title, and metadata.
create_note
no_return_description
Create a Substack Note (short-form content). Accepts markdown text. PUBLISHES IMMEDIATELY to your public Notes feed — Notes have no draft state on Substack, and this server has no delete tools, so there is no undo from here. Returns the created note's id and URL.
create_note_with_link
no_return_description
Create a Substack Note with a link attachment, displayed as a rich card below the note text. Accepts markdown body and a URL to attach. PUBLISHES IMMEDIATELY to your public Notes feed — same caveats as create_note: no draft state, no undo from this server. Returns the created note's id and URL.

Selection evidence

Confusable tool pairs.

8 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
create_note create_note_with_link high A user asking to 'post a note with a link' or 'share this URL as a note' may land on create_note (which only takes a body) instead of the link-attachment variant, both described as publishing notes to the same feed.
get_post get_draft medium Both fetch full content of a single piece by ID; an agent handed a bare ID without being told whether it is published or still a draft can pick the wrong one, especially since users often say 'get post X' for drafts.
get_post get_post_analytics medium A task like 'get me the info/data on post 123' is ambiguous between full content (get_post) and performance stats (get_post_analytics), and both take a post_id.
get_post get_post_comments low Mildly ambiguous for 'show me how post 123 did with readers', but descriptions are clear enough that 'get comments' or 'get content' will generally steer correctly.
get_post_comments get_post_analytics medium Both are post_id-based engagement lookups; a request like 'how did this post perform / what's the feedback on it' could plausibly go to either, since analytics also returns a comments count.
list_published_posts list_scheduled_posts medium 'List my posts' or 'show what's coming up' is genuinely ambiguous between already-published and scheduled/queued content, and neither name signals the distinction clearly to a casual task.
list_published_posts list_drafts medium 'Show me my posts' or 'what content do I have' could pick published posts while the user actually wants drafts (and vice-versa); both are paginated listing tools with identical inputs.
create_draft create_note low A request to 'write a short post/note about X' is ambiguous between a long-form draft and an immediate short-form Note, though the descriptions do distinguish format and publishing behavior.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard