My Substack
my_substackYour own Substack activity, subscribers and stats. Read only: it never likes, replies, posts or sends.
Actions: replies_made, likes_given, notes_and_restacks, dms, day_summary (what you did in a time window, merged by person), dm_thread (one DM conversation with its text); subscribers_list, subscriber_details, subscriber_events (your publication's subscribers, owner only); note_stats (engagement and conversion for your published Notes, paged by cursor), post_stats (per-post conversions, ranked by new subscribers).
Every activity response has coverage: only "pulled" means a zero is a real zero. Subscribers, dms, dm_thread and the stats need the QVN Chrome extension signed in. handle is the other person in a DM; substack_handle is you, for note_stats.
Call action help for parameters.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "my_substack"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Activity window in days ending now, 1-30. Default 1. Ignored when since is set. | |
| No | Subscriber email address. Required for subscriber_details and subscriber_events. | ||
| kinds | No | day_summary only: which kinds to include. Defaults to all four. | |
| limit | No | Results per call, checked per action server side. dm_thread: newest messages, max 200, default 50. subscribers_list: per page, max 200, default 50. subscriber_events: max 200, default 100. note_stats: max 20, default 20. post_stats: max 50, default 20. | |
| since | No | Activity window start, ISO date or datetime with offset. Overrides days. | |
| until | No | Activity window end, ISO date or datetime with offset. Defaults to now. | |
| action | Yes | The operation to perform. Current actions: replies_made, likes_given, notes_and_restacks, dms, day_summary, dm_thread, subscribers_list, subscriber_details, subscriber_events, note_stats, post_stats. Pass "help" for the live list with parameters; actions added after you connected appear there and work without reconnecting. | |
| cursor | No | note_stats only: pass next_cursor from a previous response to fetch the next older page. Omit to start from the newest note. | |
| filter | No | subscribers_list only: "paid" or "free". Omit for all subscribers. | |
| handle | No | dm_thread only: the OTHER person's Substack handle, with or without @. | |
| offset | No | subscribers_list: pagination offset. Default 0. | |
| options | No | Extra parameters for an action whose params are not listed in this schema (see action "help"). Parameters that ARE listed in this schema must be passed at top level; here they are ignored. | |
| thread_id | No | dm_thread only: thread_id from a dms row. | |
| paid_since | No | subscribers_list + filter:"paid" only: ISO date (e.g. "2026-06-01") to return only subscribers who paid after it. | |
| substack_handle | No | note_stats only: YOUR Substack handle, for first-time user ID resolution (e.g. "jennyouyang"). |