substack-article-mcp 0.6.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -64
- package/dist/auth.d.ts +25 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +78 -75
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +0 -17
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +68 -71
- package/dist/client.js.map +1 -1
- package/dist/index.js +94 -22
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +45 -32
- package/dist/server.js.map +1 -1
- package/dist/setup.d.ts +13 -9
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +27 -29
- package/dist/setup.js.map +1 -1
- package/package.json +2 -2
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
import { load } from "cheerio";
|
|
2
|
-
import { getCookieHeaders, loadAuth } from "./auth.js";
|
|
3
|
-
|
|
4
|
-
* Resolve which subdomain to use. Priority:
|
|
5
|
-
* 1. Explicit subdomain passed per-request (e.g. "platformer" to read someone else's newsletter)
|
|
6
|
-
* 2. SUBSTACK_SUBDOMAIN env var
|
|
7
|
-
* 3. Subdomain stored during login (your own newsletter)
|
|
8
|
-
*/
|
|
2
|
+
import { getCookieHeaders, getAuthGuidance, isAuthenticated, loadAuth } from "./auth.js";
|
|
3
|
+
const USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36";
|
|
9
4
|
function resolveBaseUrl(subdomain) {
|
|
10
5
|
const resolved = subdomain ||
|
|
11
6
|
process.env["SUBSTACK_SUBDOMAIN"] ||
|
|
12
7
|
loadAuth()?.subdomain;
|
|
13
8
|
if (!resolved) {
|
|
14
|
-
throw new Error("No subdomain specified.
|
|
9
|
+
throw new Error("No subdomain specified. You MUST pass a 'subdomain' parameter (e.g. subdomain: 'platformer' for platformer.substack.com). Extract the subdomain from the Substack URL the user provided.");
|
|
15
10
|
}
|
|
16
11
|
return `https://${resolved}.substack.com`;
|
|
17
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Make an authenticated (or unauthenticated) GET request to a Substack API endpoint.
|
|
15
|
+
* Works without cookies for public content; includes cookies when available.
|
|
16
|
+
*/
|
|
18
17
|
async function apiGet(endpoint, subdomain) {
|
|
19
18
|
const url = `${resolveBaseUrl(subdomain)}${endpoint}`;
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
const cookies = getCookieHeaders();
|
|
20
|
+
const headers = {
|
|
21
|
+
Accept: "application/json",
|
|
22
|
+
"User-Agent": USER_AGENT,
|
|
23
|
+
};
|
|
24
|
+
if (cookies) {
|
|
25
|
+
headers["Cookie"] = cookies["Cookie"];
|
|
26
|
+
}
|
|
27
|
+
const res = await fetch(url, { headers });
|
|
27
28
|
if (res.status === 401 || res.status === 403) {
|
|
28
|
-
|
|
29
|
+
if (!isAuthenticated()) {
|
|
30
|
+
throw new Error(`This content requires authentication. ${getAuthGuidance()}`);
|
|
31
|
+
}
|
|
32
|
+
throw new Error(`Authentication failed (cookie may have expired). ${getAuthGuidance()}`);
|
|
29
33
|
}
|
|
30
34
|
if (!res.ok) {
|
|
31
35
|
const text = await res.text();
|
|
@@ -33,16 +37,17 @@ async function apiGet(endpoint, subdomain) {
|
|
|
33
37
|
}
|
|
34
38
|
return res.json();
|
|
35
39
|
}
|
|
36
|
-
/** Fetch article HTML page with auth and extract post body (fallback when API returns truncated paid content). */
|
|
37
40
|
async function fetchArticleBodyFromPage(slug, subdomain) {
|
|
38
41
|
const baseUrl = resolveBaseUrl(subdomain);
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
const cookies = getCookieHeaders();
|
|
43
|
+
const headers = {
|
|
44
|
+
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
|
45
|
+
"User-Agent": USER_AGENT,
|
|
46
|
+
};
|
|
47
|
+
if (cookies) {
|
|
48
|
+
headers["Cookie"] = cookies["Cookie"];
|
|
49
|
+
}
|
|
50
|
+
const res = await fetch(`${baseUrl}/p/${slug}`, { headers });
|
|
46
51
|
if (!res.ok)
|
|
47
52
|
return "";
|
|
48
53
|
const html = await res.text();
|
|
@@ -96,24 +101,21 @@ export async function listArticles(options) {
|
|
|
96
101
|
const data = (await apiGet(`/api/v1/archive?${params}`, subdomain));
|
|
97
102
|
return data.map(normalizePost);
|
|
98
103
|
}
|
|
99
|
-
/**
|
|
100
|
-
* Detect whether the input looks like a numeric post ID (e.g. "184929446")
|
|
101
|
-
* rather than a text slug (e.g. "my-article-title").
|
|
102
|
-
*/
|
|
103
104
|
function isNumericId(slugOrId) {
|
|
104
105
|
return /^\d+$/.test(slugOrId);
|
|
105
106
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Fetch a post by its numeric ID using the global by-id endpoint.
|
|
108
|
-
* Returns the post data and the publication subdomain (useful when no subdomain was provided).
|
|
109
|
-
*/
|
|
110
107
|
async function fetchPostById(id) {
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
108
|
+
const cookies = getCookieHeaders();
|
|
109
|
+
const headers = {
|
|
110
|
+
Accept: "application/json",
|
|
111
|
+
"User-Agent": USER_AGENT,
|
|
112
|
+
};
|
|
113
|
+
if (cookies) {
|
|
114
|
+
headers["Cookie"] = cookies["Cookie"];
|
|
115
|
+
}
|
|
116
|
+
const res = await fetch(`https://substack.com/api/v1/posts/by-id/${id}`, { headers });
|
|
115
117
|
if (res.status === 401 || res.status === 403) {
|
|
116
|
-
throw new Error(
|
|
118
|
+
throw new Error(`Authentication failed. ${getAuthGuidance()}`);
|
|
117
119
|
}
|
|
118
120
|
if (!res.ok) {
|
|
119
121
|
const text = await res.text();
|
|
@@ -145,9 +147,16 @@ export async function getArticle(slugOrId, subdomain) {
|
|
|
145
147
|
(truncatedBodyText != null && truncatedBodyText.length > 0) ||
|
|
146
148
|
(wordCount != null && wordCount > 200 && bodyHtml.length < wordCount * 5);
|
|
147
149
|
if (isPaid && likelyTruncated) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
if (isAuthenticated()) {
|
|
151
|
+
const fromPage = await fetchArticleBodyFromPage(slug, resolvedSubdomain);
|
|
152
|
+
if (fromPage.length > bodyHtml.length)
|
|
153
|
+
bodyHtml = fromPage;
|
|
154
|
+
}
|
|
155
|
+
if (!bodyHtml || bodyHtml.length < 200) {
|
|
156
|
+
bodyHtml = (bodyHtml || "") +
|
|
157
|
+
"\n\n<!-- This is a paid article. The content above may be truncated. " +
|
|
158
|
+
"Log in with a Substack account that has an active subscription to access the full article. -->";
|
|
159
|
+
}
|
|
151
160
|
}
|
|
152
161
|
return {
|
|
153
162
|
...normalizePost(raw),
|
|
@@ -170,10 +179,6 @@ function normalizeComment(raw) {
|
|
|
170
179
|
children: Array.isArray(childrenRaw) ? childrenRaw.map(normalizeComment) : [],
|
|
171
180
|
};
|
|
172
181
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Fetch full comment tree for an article.
|
|
175
|
-
* The slug is resolved to a post ID first via the article detail endpoint.
|
|
176
|
-
*/
|
|
177
182
|
export async function getComments(slugOrId, subdomain) {
|
|
178
183
|
let postId;
|
|
179
184
|
let resolvedSubdomain = subdomain;
|
|
@@ -201,15 +206,15 @@ export async function getComments(slugOrId, subdomain) {
|
|
|
201
206
|
comments: commentsRaw.map(normalizeComment),
|
|
202
207
|
};
|
|
203
208
|
}
|
|
204
|
-
/**
|
|
205
|
-
* List all newsletters the authenticated user subscribes to.
|
|
206
|
-
* Uses /api/v1/subscriptions which returns subscriptions + publications as sibling arrays.
|
|
207
|
-
*/
|
|
208
209
|
export async function listSubscriptions() {
|
|
209
|
-
|
|
210
|
+
if (!isAuthenticated()) {
|
|
211
|
+
throw new Error(`Listing subscriptions requires authentication. ${getAuthGuidance()}`);
|
|
212
|
+
}
|
|
213
|
+
const cookies = getCookieHeaders();
|
|
214
|
+
const headers = { ...cookies, Accept: "application/json" };
|
|
210
215
|
const res = await fetch("https://substack.com/api/v1/subscriptions?limit=500", { headers });
|
|
211
216
|
if (res.status === 401 || res.status === 403) {
|
|
212
|
-
throw new Error(
|
|
217
|
+
throw new Error(`Authentication failed (cookie may have expired). ${getAuthGuidance()}`);
|
|
213
218
|
}
|
|
214
219
|
if (!res.ok)
|
|
215
220
|
throw new Error(`Substack API error ${res.status}`);
|
|
@@ -242,14 +247,12 @@ export async function listSubscriptions() {
|
|
|
242
247
|
})
|
|
243
248
|
.filter((s) => s !== null && s.subdomain !== "");
|
|
244
249
|
}
|
|
245
|
-
/**
|
|
246
|
-
* Fetch the authenticated user's inbox — chronological list of posts from ALL subscribed newsletters.
|
|
247
|
-
* Unlike getReaderFeed (algorithmic), this returns everything in publish-time order with pagination.
|
|
248
|
-
*
|
|
249
|
-
* @param pages Number of pages to fetch (each page = up to 20 items). Default 1.
|
|
250
|
-
*/
|
|
251
250
|
export async function getInbox(pages = 1) {
|
|
252
|
-
|
|
251
|
+
if (!isAuthenticated()) {
|
|
252
|
+
throw new Error(`Accessing your inbox requires authentication. ${getAuthGuidance()}`);
|
|
253
|
+
}
|
|
254
|
+
const cookies = getCookieHeaders();
|
|
255
|
+
const headers = { ...cookies, Accept: "application/json" };
|
|
253
256
|
const allItems = [];
|
|
254
257
|
let cursor = null;
|
|
255
258
|
for (let page = 0; page < pages; page++) {
|
|
@@ -262,23 +265,20 @@ export async function getInbox(pages = 1) {
|
|
|
262
265
|
params.set("cursor", cursor);
|
|
263
266
|
const res = await fetch(`https://substack.com/api/v1/inbox/top?${params}`, { headers });
|
|
264
267
|
if (res.status === 401 || res.status === 403) {
|
|
265
|
-
throw new Error(
|
|
268
|
+
throw new Error(`Authentication failed (cookie may have expired). ${getAuthGuidance()}`);
|
|
266
269
|
}
|
|
267
270
|
if (!res.ok)
|
|
268
271
|
throw new Error(`Substack API error ${res.status}`);
|
|
269
272
|
const json = (await res.json());
|
|
270
273
|
const postItems = (json["post_items"] || json["posts"] || []);
|
|
271
|
-
// Build publication lookup from inline publication objects
|
|
272
274
|
const pubMap = new Map();
|
|
273
275
|
const pubs = (json["publications"] || []);
|
|
274
276
|
for (const pub of pubs) {
|
|
275
277
|
pubMap.set(pub["id"], pub);
|
|
276
278
|
}
|
|
277
279
|
for (const item of postItems) {
|
|
278
|
-
// inbox/top wraps posts in a container — the actual post may be nested under "post"
|
|
279
280
|
const post = (item["post"] || item);
|
|
280
281
|
const pubId = post["publication_id"];
|
|
281
|
-
// Try inline publication first, then the top-level publications array
|
|
282
282
|
let pub = post["publishedBylines"]
|
|
283
283
|
? undefined
|
|
284
284
|
: post["publication"];
|
|
@@ -302,13 +302,11 @@ export async function getInbox(pages = 1) {
|
|
|
302
302
|
wordCount: post["wordcount"],
|
|
303
303
|
});
|
|
304
304
|
}
|
|
305
|
-
// Get next cursor for pagination
|
|
306
305
|
const nextCursor = json["cursor"];
|
|
307
306
|
if (!nextCursor || postItems.length === 0)
|
|
308
|
-
break;
|
|
307
|
+
break;
|
|
309
308
|
cursor = nextCursor;
|
|
310
309
|
}
|
|
311
|
-
// Sort by publish date, newest first
|
|
312
310
|
allItems.sort((a, b) => {
|
|
313
311
|
const dateA = a.publishedAt ? new Date(a.publishedAt).getTime() : 0;
|
|
314
312
|
const dateB = b.publishedAt ? new Date(b.publishedAt).getTime() : 0;
|
|
@@ -316,16 +314,16 @@ export async function getInbox(pages = 1) {
|
|
|
316
314
|
});
|
|
317
315
|
return allItems;
|
|
318
316
|
}
|
|
319
|
-
/**
|
|
320
|
-
* Fetch the authenticated user's personalized reader feed — recent posts from subscribed newsletters.
|
|
321
|
-
*/
|
|
322
317
|
export async function getReaderFeed(limit = 20) {
|
|
323
|
-
|
|
318
|
+
if (!isAuthenticated()) {
|
|
319
|
+
throw new Error(`Accessing your reader feed requires authentication. ${getAuthGuidance()}`);
|
|
320
|
+
}
|
|
324
321
|
const apiLimit = Math.min(limit, 20);
|
|
325
|
-
const
|
|
322
|
+
const cookies = getCookieHeaders();
|
|
323
|
+
const headers = { ...cookies, Accept: "application/json" };
|
|
326
324
|
const res = await fetch(`https://substack.com/api/v1/reader/posts?limit=${apiLimit}`, { headers });
|
|
327
325
|
if (res.status === 401 || res.status === 403) {
|
|
328
|
-
throw new Error(
|
|
326
|
+
throw new Error(`Authentication failed (cookie may have expired). ${getAuthGuidance()}`);
|
|
329
327
|
}
|
|
330
328
|
if (!res.ok)
|
|
331
329
|
throw new Error(`Substack API error ${res.status}`);
|
|
@@ -357,7 +355,6 @@ export async function getReaderFeed(limit = 20) {
|
|
|
357
355
|
wordCount: post["wordcount"],
|
|
358
356
|
};
|
|
359
357
|
});
|
|
360
|
-
// Sort by publish date, newest first
|
|
361
358
|
items.sort((a, b) => {
|
|
362
359
|
const dateA = a.publishedAt ? new Date(a.publishedAt).getTime() : 0;
|
|
363
360
|
const dateB = b.publishedAt ? new Date(b.publishedAt).getTime() : 0;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,76 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
function getVersion() {
|
|
6
|
+
try {
|
|
7
|
+
const dir = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const pkgPath = join(dir, "..", "package.json");
|
|
9
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
10
|
+
return pkg.version;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return "0.7.0";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
2
16
|
const args = process.argv.slice(2);
|
|
3
17
|
const command = args[0];
|
|
4
18
|
async function main() {
|
|
19
|
+
// ─── install ────────────────────────────────────────────────
|
|
20
|
+
if (command === "install") {
|
|
21
|
+
const flag = args[1];
|
|
22
|
+
if (flag === "--cursor") {
|
|
23
|
+
console.log("Step 1/2: Logging in to Substack...\n");
|
|
24
|
+
const { runLogin } = await import("./auth.js");
|
|
25
|
+
await runLogin();
|
|
26
|
+
console.log("\nStep 2/2: Adding MCP to Cursor...\n");
|
|
27
|
+
const { addToConfig } = await import("./setup.js");
|
|
28
|
+
const { path, updated } = addToConfig("cursor");
|
|
29
|
+
if (updated) {
|
|
30
|
+
console.log(` Added to ${path}`);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.log(` Already configured in ${path}`);
|
|
34
|
+
}
|
|
35
|
+
console.log("\n✅ Done! Restart Cursor to start using the Substack MCP.");
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (flag === "--claude-code") {
|
|
39
|
+
console.log("Step 1/2: Logging in to Substack...\n");
|
|
40
|
+
const { runLogin } = await import("./auth.js");
|
|
41
|
+
await runLogin();
|
|
42
|
+
console.log("\nStep 2/2: Adding MCP to Claude Code...\n");
|
|
43
|
+
const { addToClaudeCode } = await import("./setup.js");
|
|
44
|
+
const { success, output } = addToClaudeCode();
|
|
45
|
+
console.log(` ${output}`);
|
|
46
|
+
if (success) {
|
|
47
|
+
console.log("\n✅ Done! The Substack MCP is now available in Claude Code.");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.log('\n⚠️ Could not add automatically. Run this manually:');
|
|
51
|
+
console.log(" claude mcp add -s user substack -- npx -y substack-article-mcp");
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// No flag or unknown flag — show install help
|
|
56
|
+
console.log(`
|
|
57
|
+
substack-article-mcp install — One-step setup
|
|
58
|
+
|
|
59
|
+
Choose your AI client:
|
|
60
|
+
|
|
61
|
+
npx -y substack-article-mcp install --cursor
|
|
62
|
+
Log in + add MCP to Cursor (restart Cursor afterward)
|
|
63
|
+
|
|
64
|
+
npx -y substack-article-mcp install --claude-code
|
|
65
|
+
Log in + add MCP to Claude Code
|
|
66
|
+
|
|
67
|
+
Claude Desktop:
|
|
68
|
+
Install the .mcpb extension from quickviralnotes.com/mcp-setup
|
|
69
|
+
Or download from the GitHub releases page.
|
|
70
|
+
`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// ─── login ──────────────────────────────────────────────────
|
|
5
74
|
if (command === "login") {
|
|
6
75
|
const flag = args[1];
|
|
7
76
|
if (flag === "--check" || flag === "--status") {
|
|
@@ -9,20 +78,21 @@ async function main() {
|
|
|
9
78
|
const status = await checkAuthStatus();
|
|
10
79
|
if (status.authenticated) {
|
|
11
80
|
console.log("✅ Authenticated");
|
|
81
|
+
console.log(` Source: ${status.authSource || "unknown"}`);
|
|
12
82
|
console.log(` Cookie age: ${status.cookieAge}`);
|
|
13
83
|
console.log(` Subdomain: ${status.subdomain || process.env["SUBSTACK_SUBDOMAIN"] || "(not set)"}`);
|
|
14
84
|
}
|
|
15
85
|
else {
|
|
16
86
|
console.log("❌ Not authenticated");
|
|
17
|
-
console.log(' Run "substack-article-mcp login" to connect your account.');
|
|
87
|
+
console.log(' Run "npx -y substack-article-mcp login" to connect your account.');
|
|
18
88
|
}
|
|
19
89
|
return;
|
|
20
90
|
}
|
|
21
91
|
if (flag === "--manual") {
|
|
22
92
|
const cookieArg = args[2];
|
|
23
93
|
if (!cookieArg) {
|
|
24
|
-
console.error("Usage: substack-article-mcp login --manual <
|
|
25
|
-
console.error(
|
|
94
|
+
console.error("Usage: npx -y substack-article-mcp login --manual <cookie>");
|
|
95
|
+
console.error('\nTo get your cookie:\n1. Open Substack in Chrome\n2. DevTools (F12) → Application → Cookies → substack.com\n3. Copy either:\n - The value of "substack.sid"\n - OR the full Cookie header: "substack.sid=...; substack.lli=..."');
|
|
26
96
|
process.exit(1);
|
|
27
97
|
}
|
|
28
98
|
const { runManualLogin } = await import("./auth.js");
|
|
@@ -33,47 +103,49 @@ async function main() {
|
|
|
33
103
|
await runLogin();
|
|
34
104
|
return;
|
|
35
105
|
}
|
|
106
|
+
// ─── help / version ─────────────────────────────────────────
|
|
36
107
|
if (command === "--help" || command === "-h") {
|
|
37
108
|
printHelp();
|
|
38
109
|
return;
|
|
39
110
|
}
|
|
40
111
|
if (command === "--version" || command === "-v") {
|
|
41
|
-
console.log(
|
|
112
|
+
console.log(`substack-article-mcp v${getVersion()}`);
|
|
42
113
|
return;
|
|
43
114
|
}
|
|
44
|
-
// Default: start MCP server
|
|
115
|
+
// ─── Default: start MCP server ──────────────────────────────
|
|
45
116
|
const { startServer } = await import("./server.js");
|
|
46
117
|
await startServer();
|
|
47
118
|
}
|
|
48
119
|
function printHelp() {
|
|
120
|
+
const v = getVersion();
|
|
49
121
|
console.log(`
|
|
50
|
-
substack-article-mcp — Substack MCP Server (
|
|
51
|
-
|
|
52
|
-
SETUP (run once in your terminal)
|
|
53
|
-
npx -y substack-article-mcp login
|
|
122
|
+
substack-article-mcp — Substack MCP Server (v${v})
|
|
54
123
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
124
|
+
INSTALL (one-step setup for your AI client)
|
|
125
|
+
npx -y substack-article-mcp install --cursor Cursor
|
|
126
|
+
npx -y substack-article-mcp install --claude-code Claude Code
|
|
127
|
+
Claude Desktop: install the .mcpb extension
|
|
58
128
|
|
|
59
|
-
|
|
60
|
-
npx -y substack-article-mcp login
|
|
129
|
+
LOGIN (refresh credentials only, no client changes)
|
|
130
|
+
npx -y substack-article-mcp login Chrome login flow
|
|
131
|
+
npx -y substack-article-mcp login --manual <cookie> Paste cookie directly
|
|
132
|
+
npx -y substack-article-mcp login --check Check auth status
|
|
61
133
|
|
|
62
|
-
OTHER
|
|
63
|
-
npx -y substack-article-mcp
|
|
64
|
-
npx -y substack-article-mcp --help
|
|
134
|
+
OTHER
|
|
135
|
+
npx -y substack-article-mcp --version
|
|
136
|
+
npx -y substack-article-mcp --help
|
|
65
137
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Cursor/Claude/Claude Code start the server automatically.
|
|
138
|
+
NOTE: Public articles work without logging in.
|
|
139
|
+
Log in to access paid articles, subscriptions, feed, and inbox.
|
|
69
140
|
|
|
70
|
-
MCP TOOLS (available inside your AI app
|
|
141
|
+
MCP TOOLS (available inside your AI app)
|
|
71
142
|
substack_auth_status list_articles get_article search_articles
|
|
143
|
+
get_comments list_subscriptions get_feed
|
|
144
|
+
get_inbox
|
|
72
145
|
`);
|
|
73
146
|
}
|
|
74
147
|
main().catch((error) => {
|
|
75
148
|
console.error("Fatal error:", error);
|
|
76
149
|
process.exit(1);
|
|
77
150
|
});
|
|
78
|
-
export {};
|
|
79
151
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;YAEvC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CACT,iBAAiB,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,WAAW,EAAE,CACxF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAmhBA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjD"}
|