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/server.js
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join, dirname } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
1
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
6
|
import { z } from "zod";
|
|
4
|
-
import { checkAuthStatus } from "./auth.js";
|
|
7
|
+
import { checkAuthStatus, getAuthGuidance, isAuthenticated } from "./auth.js";
|
|
5
8
|
import { listArticles, getArticle, searchArticles, getComments, listSubscriptions, getReaderFeed, getInbox, } from "./client.js";
|
|
6
9
|
import { htmlToMarkdown } from "./html-to-md.js";
|
|
10
|
+
function getPackageVersion() {
|
|
11
|
+
try {
|
|
12
|
+
const dir = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const pkgPath = join(dir, "..", "package.json");
|
|
14
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
15
|
+
return pkg.version;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return "0.7.0";
|
|
19
|
+
}
|
|
20
|
+
}
|
|
7
21
|
function formatArticleList(articles) {
|
|
8
22
|
if (articles.length === 0)
|
|
9
23
|
return "No articles found.";
|
|
@@ -25,32 +39,31 @@ function formatArticleList(articles) {
|
|
|
25
39
|
}
|
|
26
40
|
const server = new McpServer({
|
|
27
41
|
name: "substack-article-mcp",
|
|
28
|
-
version:
|
|
42
|
+
version: getPackageVersion(),
|
|
29
43
|
});
|
|
30
44
|
// ─── Tool: substack_auth_status ──────────────────────────────────
|
|
31
|
-
server.tool("substack_auth_status", "Check if the Substack authentication is valid
|
|
45
|
+
server.tool("substack_auth_status", "Check if the Substack authentication is valid, show cookie age, and get guidance for refreshing credentials", {}, async () => {
|
|
32
46
|
const status = await checkAuthStatus();
|
|
33
47
|
if (!status.authenticated) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
const hasAuth = isAuthenticated();
|
|
49
|
+
let text = "Not authenticated.\n\n";
|
|
50
|
+
if (hasAuth) {
|
|
51
|
+
text += "A cookie is present but appears to be expired or invalid.\n\n";
|
|
52
|
+
}
|
|
53
|
+
text += "IMPORTANT: Most tools still work without authentication!\n";
|
|
54
|
+
text += "list_articles, get_article, search_articles, and get_comments all work for PUBLIC content — just pass a 'subdomain' parameter (e.g. subdomain: 'platformer').\n\n";
|
|
55
|
+
text += "Authentication is only needed for: list_subscriptions, get_feed, get_inbox, and accessing paid/premium articles.\n\n";
|
|
56
|
+
text += `To authenticate: ${getAuthGuidance()}`;
|
|
57
|
+
return { content: [{ type: "text", text }] };
|
|
42
58
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
};
|
|
59
|
+
let text = "Authenticated ✓\n";
|
|
60
|
+
text += `Source: ${status.authSource || "unknown"}\n`;
|
|
61
|
+
text += `Cookie age: ${status.cookieAge}\n`;
|
|
62
|
+
text += `Subdomain: ${status.subdomain || process.env["SUBSTACK_SUBDOMAIN"] || "(not set)"}`;
|
|
63
|
+
return { content: [{ type: "text", text }] };
|
|
51
64
|
});
|
|
52
65
|
// ─── Tool: list_articles ────────────────────────────────────────
|
|
53
|
-
server.tool("list_articles", "List published Substack articles with metadata (title, date, slug, engagement stats, paid/free status). Returns newest first by default. Works
|
|
66
|
+
server.tool("list_articles", "List published Substack articles with metadata (title, date, slug, engagement stats, paid/free status). Returns newest first by default. Works WITHOUT authentication — just pass a subdomain parameter (e.g. 'platformer' from platformer.substack.com). Extract the subdomain from any Substack URL the user provides.", {
|
|
54
67
|
limit: z
|
|
55
68
|
.number()
|
|
56
69
|
.int()
|
|
@@ -71,7 +84,7 @@ server.tool("list_articles", "List published Substack articles with metadata (ti
|
|
|
71
84
|
subdomain: z
|
|
72
85
|
.string()
|
|
73
86
|
.optional()
|
|
74
|
-
.describe("Substack subdomain to query (e.g. 'platformer', 'stratechery').
|
|
87
|
+
.describe("Substack subdomain to query (e.g. 'platformer', 'stratechery'). Required if not authenticated."),
|
|
75
88
|
}, async ({ limit, offset, sort, subdomain }) => {
|
|
76
89
|
try {
|
|
77
90
|
const articles = await listArticles({
|
|
@@ -96,14 +109,14 @@ server.tool("list_articles", "List published Substack articles with metadata (ti
|
|
|
96
109
|
}
|
|
97
110
|
});
|
|
98
111
|
// ─── Tool: get_article ──────────────────────────────────────────
|
|
99
|
-
server.tool("get_article", "Get full content of a Substack article as markdown. Accepts an article slug (e.g. 'my-article-title') OR a numeric post ID (e.g. '184929446'). When using a numeric ID, subdomain is auto-detected.
|
|
112
|
+
server.tool("get_article", "Get full content of a Substack article as markdown. Accepts an article slug (e.g. 'my-article-title') OR a numeric post ID (e.g. '184929446'). When using a numeric ID, subdomain is auto-detected. Works WITHOUT authentication for public articles — pass a subdomain parameter when reading someone else's newsletter.", {
|
|
100
113
|
slug: z
|
|
101
114
|
.string()
|
|
102
115
|
.describe("Article slug (e.g. 'my-article-title') or numeric post ID (e.g. '184929446')"),
|
|
103
116
|
subdomain: z
|
|
104
117
|
.string()
|
|
105
118
|
.optional()
|
|
106
|
-
.describe("Substack subdomain (e.g. 'platformer'). Auto-detected when using numeric IDs.
|
|
119
|
+
.describe("Substack subdomain (e.g. 'platformer'). Auto-detected when using numeric IDs."),
|
|
107
120
|
}, async ({ slug, subdomain }) => {
|
|
108
121
|
try {
|
|
109
122
|
const article = await getArticle(slug, subdomain);
|
|
@@ -132,7 +145,7 @@ server.tool("get_article", "Get full content of a Substack article as markdown.
|
|
|
132
145
|
else if (article.truncatedBodyText) {
|
|
133
146
|
markdown +=
|
|
134
147
|
article.truncatedBodyText +
|
|
135
|
-
"\n\n[Content truncated —
|
|
148
|
+
"\n\n[Content truncated — this is a paid article. Log in to access the full content.]";
|
|
136
149
|
}
|
|
137
150
|
else {
|
|
138
151
|
markdown += "(No article content available)";
|
|
@@ -151,7 +164,7 @@ server.tool("get_article", "Get full content of a Substack article as markdown.
|
|
|
151
164
|
}
|
|
152
165
|
});
|
|
153
166
|
// ─── Tool: search_articles ──────────────────────────────────────
|
|
154
|
-
server.tool("search_articles", "Search Substack articles by keyword. Returns matching articles with metadata. Works
|
|
167
|
+
server.tool("search_articles", "Search Substack articles by keyword. Returns matching articles with metadata. Works WITHOUT authentication — pass a subdomain parameter (e.g. 'platformer' from platformer.substack.com).", {
|
|
155
168
|
query: z.string().describe("Search query to find articles"),
|
|
156
169
|
limit: z
|
|
157
170
|
.number()
|
|
@@ -163,7 +176,7 @@ server.tool("search_articles", "Search Substack articles by keyword. Returns mat
|
|
|
163
176
|
subdomain: z
|
|
164
177
|
.string()
|
|
165
178
|
.optional()
|
|
166
|
-
.describe("Substack subdomain to search (e.g. 'platformer').
|
|
179
|
+
.describe("Substack subdomain to search (e.g. 'platformer'). Required if not authenticated."),
|
|
167
180
|
}, async ({ query, limit, subdomain }) => {
|
|
168
181
|
try {
|
|
169
182
|
const articles = await searchArticles(query, limit ?? 12, subdomain);
|
|
@@ -216,14 +229,14 @@ function formatComment(c, depth = 0) {
|
|
|
216
229
|
}
|
|
217
230
|
return line;
|
|
218
231
|
}
|
|
219
|
-
server.tool("get_comments", "Get all comments on a Substack article, including full text, author names, nested replies, and reaction counts.
|
|
232
|
+
server.tool("get_comments", "Get all comments on a Substack article, including full text, author names, nested replies, and reaction counts. Works WITHOUT authentication — pass a subdomain parameter when needed.", {
|
|
220
233
|
slug: z
|
|
221
234
|
.string()
|
|
222
|
-
.describe("Article slug from the URL (e.g. 'my-article-title')"),
|
|
235
|
+
.describe("Article slug from the URL (e.g. 'my-article-title') or numeric post ID"),
|
|
223
236
|
subdomain: z
|
|
224
237
|
.string()
|
|
225
238
|
.optional()
|
|
226
|
-
.describe("Substack subdomain (e.g. 'platformer').
|
|
239
|
+
.describe("Substack subdomain (e.g. 'platformer'). Required if not authenticated and using a slug."),
|
|
227
240
|
}, async ({ slug, subdomain }) => {
|
|
228
241
|
try {
|
|
229
242
|
const { comments } = await getComments(slug, subdomain);
|
|
@@ -251,7 +264,7 @@ server.tool("get_comments", "Get all comments on a Substack article, including f
|
|
|
251
264
|
}
|
|
252
265
|
});
|
|
253
266
|
// ─── Tool: list_subscriptions ────────────────────────────────────
|
|
254
|
-
server.tool("list_subscriptions", "List all Substack newsletters the authenticated user subscribes to. Returns name, subdomain, membership type (free/paid), and URL
|
|
267
|
+
server.tool("list_subscriptions", "List all Substack newsletters the authenticated user subscribes to. Returns name, subdomain, membership type (free/paid), and URL. Requires authentication.", {}, async () => {
|
|
255
268
|
try {
|
|
256
269
|
const subs = await listSubscriptions();
|
|
257
270
|
if (subs.length === 0) {
|
|
@@ -306,7 +319,7 @@ server.tool("list_subscriptions", "List all Substack newsletters the authenticat
|
|
|
306
319
|
}
|
|
307
320
|
});
|
|
308
321
|
// ─── Tool: get_feed ─────────────────────────────────────────────
|
|
309
|
-
server.tool("get_feed", "Get the authenticated user's personalized Substack reader feed — recent posts from newsletters they subscribe to.
|
|
322
|
+
server.tool("get_feed", "Get the authenticated user's personalized Substack reader feed — recent posts from newsletters they subscribe to. Requires authentication.", {
|
|
310
323
|
limit: z
|
|
311
324
|
.number()
|
|
312
325
|
.int()
|
|
@@ -362,7 +375,7 @@ server.tool("get_feed", "Get the authenticated user's personalized Substack read
|
|
|
362
375
|
}
|
|
363
376
|
});
|
|
364
377
|
// ─── Tool: get_inbox ─────────────────────────────────────────────
|
|
365
|
-
server.tool("get_inbox", "Get the authenticated user's inbox — a chronological list of ALL recent posts from every subscribed newsletter. Unlike get_feed (algorithmic, max 20), this returns posts in publish-time order
|
|
378
|
+
server.tool("get_inbox", "Get the authenticated user's inbox — a chronological list of ALL recent posts from every subscribed newsletter. Unlike get_feed (algorithmic, max 20), this returns posts in publish-time order with pagination. Requires authentication.", {
|
|
366
379
|
pages: z
|
|
367
380
|
.number()
|
|
368
381
|
.int()
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,QAAQ,GAMT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,SAAS,iBAAiB,CAAC,QAA2B;IACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAEvD,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ;YACrB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC/C,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,GAAG,EAAE,SAAS;aACf,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,QAAQ,WAAW,CAAC;QAEzD,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,IAAI,GAAG,OAAO,QAAQ,IAAI,MAAM,KAAK,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,YAAY,EAAE,CAAC;IAC3H,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,oEAAoE;AAEpE,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,mEAAmE,EACnE,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,wGAAwG;iBAC/G;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,gCAAgC,MAAM,CAAC,SAAS,gBAAgB,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,WAAW,EAAE;aAC7I;SACF;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6OAA6O,EAC7O;IACE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kGAAkG,CAAC;CAChH,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC;YAClC,KAAK,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,MAAM,IAAI,CAAC;YACnB,IAAI,EAAE,IAAI,IAAI,KAAK;YACnB,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAElG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,IAAI,CACT,aAAa,EACb,qRAAqR,EACrR;IACE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,8EAA8E,CAC/E;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oIAAoI,CAAC;CAClJ,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBACrD,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,MAAM;gBACb,GAAG,EAAE,SAAS;aACf,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,QAAQ,IAAI,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC;QAC5C,IAAI,OAAO,CAAC,QAAQ;YAAE,QAAQ,IAAI,IAAI,OAAO,CAAC,QAAQ,OAAO,CAAC;QAC9D,IAAI,IAAI;YAAE,QAAQ,IAAI,cAAc,IAAI,IAAI,CAAC;QAC7C,QAAQ,IAAI,QAAQ,OAAO,CAAC,YAAY,IAAI,CAAC;QAC7C,QAAQ,IAAI,eAAe,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,QAAQ,aAAa,CAAC;QAC/G,IAAI,OAAO,CAAC,SAAS;YAAE,QAAQ,IAAI,eAAe,OAAO,CAAC,SAAS,IAAI,CAAC;QACxE,QAAQ,IAAI,WAAW,CAAC;QAExB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACrC,QAAQ;gBACN,OAAO,CAAC,iBAAiB;oBACzB,oFAAoF,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,gCAAgC,CAAC;QAC/C,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,yJAAyJ,EACzJ;IACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC3D,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;IACjD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;CAClG,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE9B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,+BAA+B,KAAK,IAAI;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,KAAK,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oEAAoE;AAEpE,SAAS,aAAa,CAAC,CAAkB,EAAE,QAAgB,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;QACjB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC3C,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;SACf,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;SAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7C,IAAI,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,GAAG,MAAM,EAAE,CAAC;IACvD,IAAI,SAAS;QAAE,IAAI,IAAI,MAAM,SAAS,EAAE,CAAC;IACzC,IAAI,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iKAAiK,EACjK;IACE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,qDAAqD,CACtD;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;CACxF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAExD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;aAC3E,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,SAAS,QAAQ,CAAC,GAAW,EAAE,CAAkB;YAC/C,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC,EACD,CAAC,CACF,CAAC;QAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,mBAAmB,SAAS,EAAE,CAAC;QAEzG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oEAAoE;AAEpE,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,0JAA0J,EAC1J,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAEnD,IAAI,IAAI,GAAG,oBAAoB,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;QAClC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,2BAA2B,CAAC;YACpC,IAAI,IAAI,IAAI;iBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBACzD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,IAAI,MAAM,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,6BAA6B,CAAC;YACtC,IAAI,IAAI,IAAI;iBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;iBACzD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,IAAI,MAAM,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,2BAA2B,CAAC;QACpC,IAAI,IAAI,IAAI;aACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC;QAC9C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,IAAI,CACT,UAAU,EACV,2MAA2M,EAC3M;IACE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,uFAAuF,CAAC;CACrG,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;aACzE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW;gBAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBACrD,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,SAAS;iBACf,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,QAAQ,WAAW,CAAC;YAE/D,OAAO;gBACL,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBACpC,SAAS,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,oBAAoB,GAAG;gBACxF,MAAM,IAAI,MAAM,KAAK,EAAE;gBACvB,YAAY,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE;aACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qBAAqB,IAAI,CAAC,MAAM,eAAe,IAAI,EAAE;iBAC5D;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oEAAoE;AAEpE,MAAM,CAAC,IAAI,CACT,WAAW,EACX,6SAA6S,EAC7S;IACE,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,0FAA0F,CAAC;CACxG,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,KAAK;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW;gBAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBACrD,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,SAAS;oBACd,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,SAAS;iBAClB,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,QAAQ,WAAW,CAAC;YAE/D,OAAO;gBACL,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBACpC,SAAS,IAAI,CAAC,UAAU,SAAS,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,oBAAoB,GAAG;gBACxF,MAAM,IAAI,MAAM,KAAK,EAAE;gBACvB,YAAY,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE;aACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,CAAC,MAAM,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE;iBACpG;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,oEAAoE;AAEpE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
type ClientId = "cursor" | "claude-desktop" | "claude-code";
|
|
1
|
+
export type ClientId = "cursor" | "claude-desktop" | "claude-code";
|
|
2
2
|
interface ConfigPaths {
|
|
3
3
|
cursor: string;
|
|
4
4
|
"claude-desktop": string;
|
|
5
|
-
"claude-code": string | null;
|
|
6
5
|
}
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Add the MCP server entry to a JSON config file (Cursor or Claude Desktop).
|
|
8
|
+
*/
|
|
9
|
+
export declare function addToConfig(client: "cursor" | "claude-desktop"): {
|
|
8
10
|
path: string;
|
|
9
11
|
updated: boolean;
|
|
10
12
|
};
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Add MCP to Claude Code via `claude mcp add` CLI command.
|
|
15
|
+
*/
|
|
16
|
+
export declare function addToClaudeCode(): {
|
|
17
|
+
success: boolean;
|
|
18
|
+
output: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function removeFromConfig(client: "cursor" | "claude-desktop"): {
|
|
12
21
|
path: string;
|
|
13
22
|
removed: boolean;
|
|
14
23
|
};
|
|
15
|
-
export declare function listConfigStatus(): Array<{
|
|
16
|
-
client: string;
|
|
17
|
-
path: string;
|
|
18
|
-
configured: boolean;
|
|
19
|
-
}>;
|
|
20
24
|
export declare function getConfigPathsForHelp(): ConfigPaths;
|
|
21
25
|
export {};
|
|
22
26
|
//# sourceMappingURL=setup.d.ts.map
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAYA,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEnE,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AA6DD;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAyBnG;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgBtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiBxG;AAED,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD"}
|
package/dist/setup.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
2
3
|
import { homedir, platform } from "node:os";
|
|
3
4
|
import { dirname, join } from "node:path";
|
|
4
5
|
const MCP_SERVER_NAME = "substack";
|
|
5
|
-
/** MCP entry with no env — server uses subdomain from auth.json after login. */
|
|
6
6
|
const SERVER_ENTRY = {
|
|
7
7
|
command: "npx",
|
|
8
8
|
args: ["-y", "substack-article-mcp"],
|
|
@@ -26,7 +26,6 @@ function getConfigPaths() {
|
|
|
26
26
|
return {
|
|
27
27
|
cursor: cursorPath,
|
|
28
28
|
"claude-desktop": claudeDesktopPath,
|
|
29
|
-
"claude-code": null,
|
|
30
29
|
};
|
|
31
30
|
}
|
|
32
31
|
function readJsonPath(path) {
|
|
@@ -53,17 +52,17 @@ function ensureMcpServers(config) {
|
|
|
53
52
|
}
|
|
54
53
|
return config;
|
|
55
54
|
}
|
|
56
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Add the MCP server entry to a JSON config file (Cursor or Claude Desktop).
|
|
57
|
+
*/
|
|
58
|
+
export function addToConfig(client) {
|
|
57
59
|
const paths = getConfigPaths();
|
|
58
60
|
const path = paths[client];
|
|
59
|
-
if (!path) {
|
|
60
|
-
throw new Error("claude-code does not use a config file; use: claude mcp add substack -- npx -y substack-article-mcp");
|
|
61
|
-
}
|
|
62
61
|
const config = readJsonPath(path);
|
|
63
62
|
const base = config ? ensureMcpServers(config) : { mcpServers: {} };
|
|
64
63
|
const mcpServers = base.mcpServers;
|
|
65
64
|
const existing = mcpServers[MCP_SERVER_NAME];
|
|
66
|
-
const entry = { command: SERVER_ENTRY.command, args: SERVER_ENTRY.args };
|
|
65
|
+
const entry = { command: SERVER_ENTRY.command, args: [...SERVER_ENTRY.args] };
|
|
67
66
|
const same = existing &&
|
|
68
67
|
typeof existing === "object" &&
|
|
69
68
|
existing.command === entry.command &&
|
|
@@ -76,12 +75,30 @@ export function addToConfig(client, _subdomain) {
|
|
|
76
75
|
writeJsonPath(path, base);
|
|
77
76
|
return { path, updated: true };
|
|
78
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Add MCP to Claude Code via `claude mcp add` CLI command.
|
|
80
|
+
*/
|
|
81
|
+
export function addToClaudeCode() {
|
|
82
|
+
const cmd = `claude mcp add -s user ${MCP_SERVER_NAME} -- npx -y substack-article-mcp`;
|
|
83
|
+
try {
|
|
84
|
+
const output = execSync(cmd, {
|
|
85
|
+
encoding: "utf-8",
|
|
86
|
+
timeout: 15_000,
|
|
87
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
88
|
+
}).trim();
|
|
89
|
+
return { success: true, output: output || "MCP server added to Claude Code." };
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
93
|
+
if (msg.includes("already exists")) {
|
|
94
|
+
return { success: true, output: "MCP server already configured in Claude Code." };
|
|
95
|
+
}
|
|
96
|
+
return { success: false, output: `Failed to add MCP to Claude Code: ${msg}` };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
79
99
|
export function removeFromConfig(client) {
|
|
80
100
|
const paths = getConfigPaths();
|
|
81
101
|
const path = paths[client];
|
|
82
|
-
if (!path) {
|
|
83
|
-
throw new Error("claude-code has no config file to edit.");
|
|
84
|
-
}
|
|
85
102
|
const config = readJsonPath(path);
|
|
86
103
|
if (!config?.mcpServers || typeof config.mcpServers !== "object") {
|
|
87
104
|
return { path, removed: false };
|
|
@@ -94,25 +111,6 @@ export function removeFromConfig(client) {
|
|
|
94
111
|
writeJsonPath(path, config);
|
|
95
112
|
return { path, removed: true };
|
|
96
113
|
}
|
|
97
|
-
export function listConfigStatus() {
|
|
98
|
-
const paths = getConfigPaths();
|
|
99
|
-
const results = [];
|
|
100
|
-
for (const [client, path] of Object.entries(paths)) {
|
|
101
|
-
if (!path) {
|
|
102
|
-
results.push({
|
|
103
|
-
client: client,
|
|
104
|
-
path: "(claude mcp add)",
|
|
105
|
-
configured: false,
|
|
106
|
-
});
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
const config = readJsonPath(path);
|
|
110
|
-
const mcpServers = config?.mcpServers && typeof config.mcpServers === "object" ? config.mcpServers : {};
|
|
111
|
-
const configured = MCP_SERVER_NAME in mcpServers;
|
|
112
|
-
results.push({ client: client, path, configured });
|
|
113
|
-
}
|
|
114
|
-
return results;
|
|
115
|
-
}
|
|
116
114
|
export function getConfigPathsForHelp() {
|
|
117
115
|
return getConfigPaths();
|
|
118
116
|
}
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,eAAe,GAAG,UAAU,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "substack-article-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MCP server for Substack —
|
|
3
|
+
"version": "0.7.1",
|
|
4
|
+
"description": "MCP server for Substack — read articles, comments, feed, and subscriptions from Claude, Cursor, or any MCP client. Works without auth for public content; log in for premium access.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"substack-article-mcp": "dist/index.js"
|