neuron-mcp-server 1.0.1 → 1.1.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 +28 -16
- package/dist/client.d.ts +6 -0
- package/dist/client.js +50 -12
- package/dist/client.js.map +1 -1
- package/dist/index.js +51 -7
- package/dist/index.js.map +1 -1
- package/dist/tools/ai.js +9 -3
- package/dist/tools/ai.js.map +1 -1
- package/dist/tools/approvals.d.ts +2 -0
- package/dist/tools/approvals.js +181 -0
- package/dist/tools/approvals.js.map +1 -0
- package/dist/tools/audit.js +7 -4
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/auth.js +119 -19
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/billing.js +22 -6
- package/dist/tools/billing.js.map +1 -1
- package/dist/tools/blog.js +98 -34
- package/dist/tools/blog.js.map +1 -1
- package/dist/tools/bot-api-keys.js +27 -12
- package/dist/tools/bot-api-keys.js.map +1 -1
- package/dist/tools/bot-api.js +53 -27
- package/dist/tools/bot-api.js.map +1 -1
- package/dist/tools/bots.js +116 -68
- package/dist/tools/bots.js.map +1 -1
- package/dist/tools/broadcasts.js +78 -38
- package/dist/tools/broadcasts.js.map +1 -1
- package/dist/tools/builtin-tools.js +19 -12
- package/dist/tools/builtin-tools.js.map +1 -1
- package/dist/tools/campaigns.js +149 -61
- package/dist/tools/campaigns.js.map +1 -1
- package/dist/tools/channels.js +163 -53
- package/dist/tools/channels.js.map +1 -1
- package/dist/tools/contact-lists.js +111 -51
- package/dist/tools/contact-lists.js.map +1 -1
- package/dist/tools/contacts.js +117 -44
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/conversations.js +95 -50
- package/dist/tools/conversations.js.map +1 -1
- package/dist/tools/flows.d.ts +2 -0
- package/dist/tools/flows.js +242 -0
- package/dist/tools/flows.js.map +1 -0
- package/dist/tools/group-management.d.ts +2 -0
- package/dist/tools/group-management.js +239 -0
- package/dist/tools/group-management.js.map +1 -0
- package/dist/tools/leads.d.ts +2 -0
- package/dist/tools/leads.js +100 -0
- package/dist/tools/leads.js.map +1 -0
- package/dist/tools/list-campaigns.d.ts +2 -0
- package/dist/tools/list-campaigns.js +152 -0
- package/dist/tools/list-campaigns.js.map +1 -0
- package/dist/tools/list-pool.js +250 -33
- package/dist/tools/list-pool.js.map +1 -1
- package/dist/tools/media.js +12 -7
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/newsletters.js +106 -26
- package/dist/tools/newsletters.js.map +1 -1
- package/dist/tools/organizations.js +76 -35
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/outbound-webhooks.js +32 -20
- package/dist/tools/outbound-webhooks.js.map +1 -1
- package/dist/tools/payouts.js +44 -17
- package/dist/tools/payouts.js.map +1 -1
- package/dist/tools/personas.d.ts +2 -0
- package/dist/tools/personas.js +141 -0
- package/dist/tools/personas.js.map +1 -0
- package/dist/tools/polls.d.ts +2 -0
- package/dist/tools/polls.js +30 -0
- package/dist/tools/polls.js.map +1 -0
- package/dist/tools/pool.js +101 -43
- package/dist/tools/pool.js.map +1 -1
- package/dist/tools/products.d.ts +2 -0
- package/dist/tools/products.js +277 -0
- package/dist/tools/products.js.map +1 -0
- package/dist/tools/profile-privacy.d.ts +2 -0
- package/dist/tools/profile-privacy.js +195 -0
- package/dist/tools/profile-privacy.js.map +1 -0
- package/dist/tools/reflections.js +25 -13
- package/dist/tools/reflections.js.map +1 -1
- package/dist/tools/scheduled-messages.d.ts +2 -0
- package/dist/tools/scheduled-messages.js +124 -0
- package/dist/tools/scheduled-messages.js.map +1 -0
- package/dist/tools/social-channels.d.ts +2 -0
- package/dist/tools/social-channels.js +318 -0
- package/dist/tools/social-channels.js.map +1 -0
- package/dist/tools/tasks.d.ts +2 -0
- package/dist/tools/tasks.js +155 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/tools.js +86 -40
- package/dist/tools/tools.js.map +1 -1
- package/dist/tools/wallets.js +34 -12
- package/dist/tools/wallets.js.map +1 -1
- package/dist/tools/webhooks.js +35 -20
- package/dist/tools/webhooks.js.map +1 -1
- package/dist/tools/whatsapp-actions.d.ts +2 -0
- package/dist/tools/whatsapp-actions.js +186 -0
- package/dist/tools/whatsapp-actions.js.map +1 -0
- package/package.json +7 -2
package/dist/tools/auth.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import http from "node:http";
|
|
3
3
|
import net from "node:net";
|
|
4
|
-
import { api, jsonResult, textResult, errorResult, setAuthToken, getAuthToken } from "../client.js";
|
|
4
|
+
import { api, jsonResult, textResult, errorResult, setAuthToken, getAuthToken, getBaseUrl, setBaseUrl, listInstances } from "../client.js";
|
|
5
5
|
/** Find an available port by binding to port 0. */
|
|
6
6
|
function findAvailablePort() {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
@@ -80,14 +80,19 @@ export function registerAuthTools(server) {
|
|
|
80
80
|
// Register
|
|
81
81
|
server.registerTool("neuron_register", {
|
|
82
82
|
title: "Register New User",
|
|
83
|
-
description: "Register a new user account with name, email, password, and organization name",
|
|
83
|
+
description: "Register a new user account with name, email, password, and organization name. Creates both the user and an initial organization.",
|
|
84
84
|
inputSchema: z.object({
|
|
85
85
|
name: z.string().describe("Full name of the user"),
|
|
86
|
-
email: z.string().email().describe("Email address
|
|
86
|
+
email: z.string().email().describe("Email address for the new account"),
|
|
87
87
|
password: z.string().min(8).describe("Password for the account (minimum 8 characters)"),
|
|
88
|
-
orgName: z.string().describe("Name of the organization to create"),
|
|
88
|
+
orgName: z.string().describe("Name of the organization to create for this user"),
|
|
89
89
|
}),
|
|
90
|
-
annotations: {
|
|
90
|
+
annotations: {
|
|
91
|
+
readOnlyHint: false,
|
|
92
|
+
destructiveHint: false,
|
|
93
|
+
idempotentHint: false,
|
|
94
|
+
openWorldHint: false,
|
|
95
|
+
},
|
|
91
96
|
}, async (params) => {
|
|
92
97
|
try {
|
|
93
98
|
const result = await api("POST", "/auth/register", {
|
|
@@ -110,9 +115,9 @@ export function registerAuthTools(server) {
|
|
|
110
115
|
"2. token: Paste an MCP token from the Neuron dashboard\n" +
|
|
111
116
|
"3. email+password: Legacy login (credentials visible to AI)",
|
|
112
117
|
inputSchema: z.object({
|
|
113
|
-
token: z.string().optional().describe("MCP token from Neuron dashboard (Settings > MCP Tokens)"),
|
|
114
|
-
email: z.string().email().optional().describe("Email for legacy login"),
|
|
115
|
-
password: z.string().optional().describe("Password for legacy login"),
|
|
118
|
+
token: z.string().optional().describe("MCP token from the Neuron dashboard (Settings > MCP Tokens)"),
|
|
119
|
+
email: z.string().email().optional().describe("Email address for legacy credential-based login"),
|
|
120
|
+
password: z.string().optional().describe("Password for legacy credential-based login"),
|
|
116
121
|
}).refine((data) => {
|
|
117
122
|
const hasToken = !!data.token;
|
|
118
123
|
const hasCredentials = !!data.email && !!data.password;
|
|
@@ -123,7 +128,12 @@ export function registerAuthTools(server) {
|
|
|
123
128
|
return false;
|
|
124
129
|
return true;
|
|
125
130
|
}, { message: "Provide either token, email+password, or nothing for browser auth" }),
|
|
126
|
-
annotations: {
|
|
131
|
+
annotations: {
|
|
132
|
+
readOnlyHint: false,
|
|
133
|
+
destructiveHint: false,
|
|
134
|
+
idempotentHint: true,
|
|
135
|
+
openWorldHint: false,
|
|
136
|
+
},
|
|
127
137
|
}, async (params) => {
|
|
128
138
|
try {
|
|
129
139
|
// Mode 1: Direct token
|
|
@@ -240,11 +250,16 @@ export function registerAuthTools(server) {
|
|
|
240
250
|
// Refresh Token
|
|
241
251
|
server.registerTool("neuron_refresh_token", {
|
|
242
252
|
title: "Refresh Access Token",
|
|
243
|
-
description: "Refresh the access token using a refresh token. Automatically sets the new access token.",
|
|
253
|
+
description: "Refresh the access token using a refresh token. Automatically sets the new access token for subsequent API calls.",
|
|
244
254
|
inputSchema: z.object({
|
|
245
|
-
refreshToken: z.string().describe("Refresh token obtained from login"),
|
|
255
|
+
refreshToken: z.string().describe("Refresh token obtained from the initial login response"),
|
|
246
256
|
}),
|
|
247
|
-
annotations: {
|
|
257
|
+
annotations: {
|
|
258
|
+
readOnlyHint: false,
|
|
259
|
+
destructiveHint: false,
|
|
260
|
+
idempotentHint: true,
|
|
261
|
+
openWorldHint: false,
|
|
262
|
+
},
|
|
248
263
|
}, async (params) => {
|
|
249
264
|
try {
|
|
250
265
|
const result = await api("POST", "/auth/refresh", {
|
|
@@ -262,10 +277,16 @@ export function registerAuthTools(server) {
|
|
|
262
277
|
// Switch Organization
|
|
263
278
|
server.registerTool("neuron_switch_org", {
|
|
264
279
|
title: "Switch Organization",
|
|
265
|
-
description: "Switch to a different organization. Returns a new access token and automatically sets it.",
|
|
280
|
+
description: "Switch to a different organization. Returns a new access token scoped to the target organization and automatically sets it.",
|
|
266
281
|
inputSchema: z.object({
|
|
267
|
-
orgId: z.string().describe("
|
|
282
|
+
orgId: z.string().describe("Unique identifier (UUID) of the organization to switch to"),
|
|
268
283
|
}),
|
|
284
|
+
annotations: {
|
|
285
|
+
readOnlyHint: false,
|
|
286
|
+
destructiveHint: false,
|
|
287
|
+
idempotentHint: true,
|
|
288
|
+
openWorldHint: false,
|
|
289
|
+
},
|
|
269
290
|
}, async (params) => {
|
|
270
291
|
try {
|
|
271
292
|
const result = await api("POST", "/auth/switch-org", { orgId: params.orgId });
|
|
@@ -281,9 +302,14 @@ export function registerAuthTools(server) {
|
|
|
281
302
|
// List Organizations
|
|
282
303
|
server.registerTool("neuron_list_organizations", {
|
|
283
304
|
title: "List Organizations",
|
|
284
|
-
description: "
|
|
305
|
+
description: "Retrieve all organizations the authenticated user belongs to, including their roles in each.",
|
|
285
306
|
inputSchema: z.object({}),
|
|
286
|
-
annotations: {
|
|
307
|
+
annotations: {
|
|
308
|
+
readOnlyHint: true,
|
|
309
|
+
destructiveHint: false,
|
|
310
|
+
idempotentHint: true,
|
|
311
|
+
openWorldHint: false,
|
|
312
|
+
},
|
|
287
313
|
}, async () => {
|
|
288
314
|
try {
|
|
289
315
|
const result = await api("GET", "/auth/organizations");
|
|
@@ -296,9 +322,14 @@ export function registerAuthTools(server) {
|
|
|
296
322
|
// Get Profile
|
|
297
323
|
server.registerTool("neuron_get_profile", {
|
|
298
324
|
title: "Get User Profile",
|
|
299
|
-
description: "
|
|
325
|
+
description: "Retrieve the authenticated user's profile information including name, email, role, and current organization.",
|
|
300
326
|
inputSchema: z.object({}),
|
|
301
|
-
annotations: {
|
|
327
|
+
annotations: {
|
|
328
|
+
readOnlyHint: true,
|
|
329
|
+
destructiveHint: false,
|
|
330
|
+
idempotentHint: true,
|
|
331
|
+
openWorldHint: false,
|
|
332
|
+
},
|
|
302
333
|
}, async () => {
|
|
303
334
|
try {
|
|
304
335
|
const result = await api("GET", "/auth/me");
|
|
@@ -313,7 +344,12 @@ export function registerAuthTools(server) {
|
|
|
313
344
|
title: "Check Current Account",
|
|
314
345
|
description: "Check which Neuron account is currently logged in, including user name, email, role, and organization.",
|
|
315
346
|
inputSchema: z.object({}),
|
|
316
|
-
annotations: {
|
|
347
|
+
annotations: {
|
|
348
|
+
readOnlyHint: true,
|
|
349
|
+
destructiveHint: false,
|
|
350
|
+
idempotentHint: true,
|
|
351
|
+
openWorldHint: false,
|
|
352
|
+
},
|
|
317
353
|
}, async () => {
|
|
318
354
|
if (!getAuthToken()) {
|
|
319
355
|
return textResult("Not logged in. Use neuron_login() to authenticate.");
|
|
@@ -335,11 +371,75 @@ export function registerAuthTools(server) {
|
|
|
335
371
|
return errorResult(error);
|
|
336
372
|
}
|
|
337
373
|
});
|
|
374
|
+
// Switch Instance
|
|
375
|
+
server.registerTool("neuron_switch_instance", {
|
|
376
|
+
title: "Switch Neuron Instance",
|
|
377
|
+
description: "Switch the MCP server to target a different Neuron backend instance. " +
|
|
378
|
+
"Auth tokens are preserved per instance — if you've previously logged in to an instance, " +
|
|
379
|
+
"switching back restores your session automatically.\n\n" +
|
|
380
|
+
"Call with no args to list known instances and see which is active.",
|
|
381
|
+
inputSchema: z.object({
|
|
382
|
+
url: z.string().optional().describe("Base API URL of the Neuron instance (e.g., 'https://api.client.com/api/v1'). " +
|
|
383
|
+
"Omit to list known instances."),
|
|
384
|
+
}),
|
|
385
|
+
annotations: {
|
|
386
|
+
readOnlyHint: false,
|
|
387
|
+
destructiveHint: false,
|
|
388
|
+
idempotentHint: true,
|
|
389
|
+
openWorldHint: false,
|
|
390
|
+
},
|
|
391
|
+
}, async (params) => {
|
|
392
|
+
try {
|
|
393
|
+
// List mode: no URL provided
|
|
394
|
+
if (!params.url) {
|
|
395
|
+
const instances = listInstances();
|
|
396
|
+
const lines = instances.map((i) => `${i.active ? "→ " : " "}${i.url} ${i.authenticated ? "(authenticated)" : "(not authenticated)"}`);
|
|
397
|
+
return textResult(`Known instances:\n${lines.join("\n")}\n\n` +
|
|
398
|
+
`Current: ${getBaseUrl()}\n` +
|
|
399
|
+
`Pass a url to switch: neuron_switch_instance({ url: "https://api.example.com/api/v1" })`);
|
|
400
|
+
}
|
|
401
|
+
// Normalize: strip trailing slashes
|
|
402
|
+
const url = params.url.replace(/\/+$/, "");
|
|
403
|
+
const previous = getBaseUrl();
|
|
404
|
+
if (url === previous) {
|
|
405
|
+
return textResult(`Already targeting ${url}.`);
|
|
406
|
+
}
|
|
407
|
+
setBaseUrl(url);
|
|
408
|
+
// Check if the restored token is still valid
|
|
409
|
+
const token = getAuthToken();
|
|
410
|
+
if (token) {
|
|
411
|
+
try {
|
|
412
|
+
const me = await api("GET", "/auth/me");
|
|
413
|
+
const user = me.data;
|
|
414
|
+
if (user && me.success) {
|
|
415
|
+
return textResult(`Switched to ${url}\n` +
|
|
416
|
+
`Restored session: ${user.name} (${user.email})` +
|
|
417
|
+
(user.organization ? ` — org: ${user.organization.name}` : ""));
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
catch {
|
|
421
|
+
// Token expired — clear it for this instance
|
|
422
|
+
setAuthToken("");
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return textResult(`Switched to ${url}\n` +
|
|
426
|
+
`Not authenticated on this instance. Use neuron_login() to authenticate.`);
|
|
427
|
+
}
|
|
428
|
+
catch (error) {
|
|
429
|
+
return errorResult(error);
|
|
430
|
+
}
|
|
431
|
+
});
|
|
338
432
|
// Logout
|
|
339
433
|
server.registerTool("neuron_logout", {
|
|
340
434
|
title: "Logout",
|
|
341
435
|
description: "Clear the current auth token locally. Does NOT revoke server-side MCP tokens — revoke from the Neuron dashboard (Settings > MCP Tokens) for full invalidation.",
|
|
342
436
|
inputSchema: z.object({}),
|
|
437
|
+
annotations: {
|
|
438
|
+
readOnlyHint: false,
|
|
439
|
+
destructiveHint: false,
|
|
440
|
+
idempotentHint: true,
|
|
441
|
+
openWorldHint: false,
|
|
442
|
+
},
|
|
343
443
|
}, async () => {
|
|
344
444
|
setAuthToken("");
|
|
345
445
|
return textResult("Logged out. Token cleared locally.\n\nTo revoke MCP tokens server-side, go to Settings > MCP Tokens in the Neuron dashboard.");
|
package/dist/tools/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/billing.js
CHANGED
|
@@ -4,9 +4,14 @@ export function registerBillingTools(server) {
|
|
|
4
4
|
// Get billing info
|
|
5
5
|
server.registerTool("neuron_get_billing", {
|
|
6
6
|
title: "Get Billing Info",
|
|
7
|
-
description: "
|
|
7
|
+
description: "Retrieve the current billing information, subscription plan, and usage details for the organization.",
|
|
8
8
|
inputSchema: z.object({}),
|
|
9
|
-
annotations: {
|
|
9
|
+
annotations: {
|
|
10
|
+
readOnlyHint: true,
|
|
11
|
+
destructiveHint: false,
|
|
12
|
+
idempotentHint: true,
|
|
13
|
+
openWorldHint: false,
|
|
14
|
+
},
|
|
10
15
|
}, async () => {
|
|
11
16
|
try {
|
|
12
17
|
const result = await api("GET", "/billing");
|
|
@@ -19,10 +24,16 @@ export function registerBillingTools(server) {
|
|
|
19
24
|
// Checkout
|
|
20
25
|
server.registerTool("neuron_checkout", {
|
|
21
26
|
title: "Checkout Subscription",
|
|
22
|
-
description: "
|
|
27
|
+
description: "Initiate a checkout session for a subscription plan upgrade. Returns a checkout URL or confirmation to complete the purchase.",
|
|
23
28
|
inputSchema: z.object({
|
|
24
|
-
plan: z.enum(["pro", "business"]).describe("Subscription plan to purchase"),
|
|
29
|
+
plan: z.enum(["pro", "business"]).describe("Subscription plan to purchase: 'pro' or 'business'"),
|
|
25
30
|
}),
|
|
31
|
+
annotations: {
|
|
32
|
+
readOnlyHint: false,
|
|
33
|
+
destructiveHint: false,
|
|
34
|
+
idempotentHint: false,
|
|
35
|
+
openWorldHint: false,
|
|
36
|
+
},
|
|
26
37
|
}, async (params) => {
|
|
27
38
|
try {
|
|
28
39
|
const result = await api("POST", "/billing/checkout", { plan: params.plan });
|
|
@@ -35,9 +46,14 @@ export function registerBillingTools(server) {
|
|
|
35
46
|
// Cancel subscription
|
|
36
47
|
server.registerTool("neuron_cancel_subscription", {
|
|
37
48
|
title: "Cancel Subscription",
|
|
38
|
-
description: "Cancel the current active subscription.
|
|
49
|
+
description: "Cancel the current active subscription. Access continues until the end of the current billing period.",
|
|
39
50
|
inputSchema: z.object({}),
|
|
40
|
-
annotations: {
|
|
51
|
+
annotations: {
|
|
52
|
+
readOnlyHint: false,
|
|
53
|
+
destructiveHint: true,
|
|
54
|
+
idempotentHint: true,
|
|
55
|
+
openWorldHint: false,
|
|
56
|
+
},
|
|
41
57
|
}, async () => {
|
|
42
58
|
try {
|
|
43
59
|
const result = await api("POST", "/billing/cancel");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/tools/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/tools/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,sGAAsG;QACnH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,WAAW;IACX,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,+HAA+H;QAC5I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;SACjG,CAAC;QACF,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uGAAuG;QACpH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/blog.js
CHANGED
|
@@ -1,44 +1,73 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { api, jsonResult, errorResult } from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Block content vocabulary. The backend (backend/src/lib/blog-blocks.ts) is the
|
|
5
|
+
* authoritative validator — it rejects malformed blocks with a 400 — so here we
|
|
6
|
+
* keep a permissive shape and describe the vocabulary richly for the model.
|
|
7
|
+
*/
|
|
8
|
+
const BLOCKS_SCHEMA = z.array(z.record(z.any()));
|
|
9
|
+
const BLOCKS_DESCRIPTION = [
|
|
10
|
+
"Structured layout blocks, rendered top-to-bottom as styled components. Each block is an object with a `type` and its fields:",
|
|
11
|
+
"- hero: { type:'hero', title, kicker?, subtitle?, imageUrl?, align?:'left'|'center', ctaLabel?, ctaHref? }",
|
|
12
|
+
"- richText: { type:'richText', markdown } (full GFM markdown)",
|
|
13
|
+
"- callout: { type:'callout', variant:'info'|'tip'|'warning'|'success'|'danger', title?, markdown }",
|
|
14
|
+
"- columns: { type:'columns', ratio?:'1-1'|'1-2'|'2-1', columns:[ [block,...], [block,...] ] } (exactly 2 columns of leaf blocks; no nested columns)",
|
|
15
|
+
"- codeCard: { type:'codeCard', language?, filename?, code }",
|
|
16
|
+
"- imageGrid: { type:'imageGrid', columns?:1|2|3|4, images:[{ url, alt?, caption? }] }",
|
|
17
|
+
"- quote: { type:'quote', quote, attribution? }",
|
|
18
|
+
"- embed: { type:'embed', provider:'youtube'|'loom'|'vimeo'|'generic', url, title? } (paste the normal share URL)",
|
|
19
|
+
"- cta: { type:'cta', headline, body?, buttonLabel, buttonHref, secondaryLabel?, secondaryHref?, accent?:'#hex' }",
|
|
20
|
+
"- divider: { type:'divider' }",
|
|
21
|
+
"- html: { type:'html', html, sandboxed?, height? } (custom HTML. Default is sanitized + indexable, no scripts. Set sandboxed:true to run scripts inside an isolated iframe — NOT indexed by search.)",
|
|
22
|
+
"Build magazine-style posts by composing these, e.g. a hero, then richText, then a columns block, a callout, a codeCard, and a closing cta.",
|
|
23
|
+
].join("\n");
|
|
3
24
|
export function registerBlogTools(server) {
|
|
4
25
|
// Create blog post
|
|
5
26
|
server.registerTool("neuron_create_blog_post", {
|
|
6
27
|
title: "Create Blog Post",
|
|
7
|
-
description: "Create a new blog post (
|
|
28
|
+
description: "Create a new blog post. Body can be authored two ways: (1) `content` as markdown (GFM) + inline raw HTML, or (2) `blocks` — a structured array of typed layout blocks rendered as styled components (heroes, columns, callouts, code cards, embeds, CTAs, sanitized custom HTML). Prefer `blocks` for rich, magazine-style layouts; use `content` for simple prose. If both are given, `blocks` renders and `content` is kept as a fallback.",
|
|
8
29
|
inputSchema: z.object({
|
|
9
|
-
title: z.string().describe("
|
|
10
|
-
content: z.string().describe("
|
|
11
|
-
|
|
30
|
+
title: z.string().describe("Title of the blog post (max 500 characters)"),
|
|
31
|
+
content: z.string().optional().describe("Optional markdown body (GFM + inline raw HTML). Used when `blocks` is not provided, and kept as a fallback when it is. Rich options: , <video src controls>, <iframe> embeds (16:9), <details><summary>, <mark>, <kbd>."),
|
|
32
|
+
blocks: BLOCKS_SCHEMA.optional().describe(BLOCKS_DESCRIPTION),
|
|
33
|
+
excerpt: z.string().optional().describe("Short summary or preview text for the blog post"),
|
|
12
34
|
authorType: z
|
|
13
35
|
.enum(["user", "organization"])
|
|
14
|
-
.describe("
|
|
15
|
-
coverImageUrl: z.string().optional().describe("
|
|
36
|
+
.describe("Whether the post is authored by an individual user or the organization"),
|
|
37
|
+
coverImageUrl: z.string().optional().describe("URL of the cover image displayed at the top of the post"),
|
|
16
38
|
tags: z
|
|
17
39
|
.array(z.string())
|
|
18
40
|
.optional()
|
|
19
|
-
.describe("
|
|
41
|
+
.describe("List of tag names or slugs to categorize the post"),
|
|
20
42
|
status: z
|
|
21
43
|
.enum(["draft", "published"])
|
|
22
44
|
.default("draft")
|
|
23
|
-
.describe("
|
|
45
|
+
.describe("Initial publication status of the post (default: 'draft')"),
|
|
24
46
|
seoTitle: z
|
|
25
47
|
.string()
|
|
26
48
|
.optional()
|
|
27
|
-
.describe("SEO title override
|
|
49
|
+
.describe("Custom SEO title override for search engine results"),
|
|
28
50
|
seoDescription: z
|
|
29
51
|
.string()
|
|
30
52
|
.optional()
|
|
31
|
-
.describe("Meta description
|
|
53
|
+
.describe("Meta description for search engine result snippets"),
|
|
32
54
|
seoKeywords: z
|
|
33
55
|
.array(z.string())
|
|
34
56
|
.optional()
|
|
35
|
-
.describe("SEO keywords
|
|
57
|
+
.describe("List of SEO keywords for search engine optimization"),
|
|
36
58
|
}),
|
|
59
|
+
annotations: {
|
|
60
|
+
readOnlyHint: false,
|
|
61
|
+
destructiveHint: false,
|
|
62
|
+
idempotentHint: false,
|
|
63
|
+
openWorldHint: false,
|
|
64
|
+
},
|
|
37
65
|
}, async (params) => {
|
|
38
66
|
try {
|
|
39
67
|
const result = await api("POST", "blog/posts", {
|
|
40
68
|
title: params.title,
|
|
41
69
|
content: params.content,
|
|
70
|
+
blocks: params.blocks,
|
|
42
71
|
excerpt: params.excerpt,
|
|
43
72
|
authorType: params.authorType,
|
|
44
73
|
coverImageUrl: params.coverImageUrl,
|
|
@@ -57,24 +86,30 @@ export function registerBlogTools(server) {
|
|
|
57
86
|
// List blog posts
|
|
58
87
|
server.registerTool("neuron_list_blog_posts", {
|
|
59
88
|
title: "List Blog Posts",
|
|
60
|
-
description: "
|
|
89
|
+
description: "Retrieve a paginated list of blog posts with optional filtering by status, author type, author ID, or tag.",
|
|
61
90
|
inputSchema: z.object({
|
|
62
91
|
status: z
|
|
63
92
|
.enum(["draft", "published", "hidden"])
|
|
64
93
|
.optional()
|
|
65
|
-
.describe("Filter by status"),
|
|
94
|
+
.describe("Filter posts by publication status"),
|
|
66
95
|
authorType: z
|
|
67
96
|
.enum(["user", "organization"])
|
|
68
97
|
.optional()
|
|
69
|
-
.describe("Filter by author type"),
|
|
98
|
+
.describe("Filter posts by author type"),
|
|
70
99
|
authorId: z
|
|
71
100
|
.string()
|
|
72
101
|
.optional()
|
|
73
|
-
.describe("Filter by author UUID"),
|
|
74
|
-
tag: z.string().optional().describe("Filter by tag slug"),
|
|
75
|
-
page: z.number().default(1).describe("Page number"),
|
|
76
|
-
limit: z.number().default(20).describe("
|
|
102
|
+
.describe("Filter posts by author identifier (UUID)"),
|
|
103
|
+
tag: z.string().optional().describe("Filter posts by tag slug (e.g., 'announcements')"),
|
|
104
|
+
page: z.number().default(1).describe("Page number for pagination (default: 1)"),
|
|
105
|
+
limit: z.number().default(20).describe("Number of results per page (default: 20)"),
|
|
77
106
|
}),
|
|
107
|
+
annotations: {
|
|
108
|
+
readOnlyHint: true,
|
|
109
|
+
destructiveHint: false,
|
|
110
|
+
idempotentHint: true,
|
|
111
|
+
openWorldHint: false,
|
|
112
|
+
},
|
|
78
113
|
}, async (params) => {
|
|
79
114
|
try {
|
|
80
115
|
const result = await api("GET", "blog/posts", undefined, {
|
|
@@ -94,10 +129,16 @@ export function registerBlogTools(server) {
|
|
|
94
129
|
// Get blog post
|
|
95
130
|
server.registerTool("neuron_get_blog_post", {
|
|
96
131
|
title: "Get Blog Post",
|
|
97
|
-
description: "
|
|
132
|
+
description: "Retrieve a single blog post by its URL-friendly slug, including full content and metadata.",
|
|
98
133
|
inputSchema: z.object({
|
|
99
|
-
slug: z.string().describe("
|
|
134
|
+
slug: z.string().describe("URL-friendly slug of the blog post (e.g., 'my-first-post')"),
|
|
100
135
|
}),
|
|
136
|
+
annotations: {
|
|
137
|
+
readOnlyHint: true,
|
|
138
|
+
destructiveHint: false,
|
|
139
|
+
idempotentHint: true,
|
|
140
|
+
openWorldHint: false,
|
|
141
|
+
},
|
|
101
142
|
}, async (params) => {
|
|
102
143
|
try {
|
|
103
144
|
const result = await api("GET", `blog/posts/${params.slug}`);
|
|
@@ -110,24 +151,35 @@ export function registerBlogTools(server) {
|
|
|
110
151
|
// Update blog post
|
|
111
152
|
server.registerTool("neuron_update_blog_post", {
|
|
112
153
|
title: "Update Blog Post",
|
|
113
|
-
description: "Update an existing blog post",
|
|
154
|
+
description: "Update an existing blog post's content, metadata, status, or SEO fields. Only provided fields are changed.",
|
|
114
155
|
inputSchema: z.object({
|
|
115
|
-
id: z.string().describe("
|
|
116
|
-
title: z.string().optional().describe("
|
|
117
|
-
content: z.string().optional().describe("
|
|
118
|
-
|
|
119
|
-
|
|
156
|
+
id: z.string().describe("Unique identifier (UUID) of the blog post to update"),
|
|
157
|
+
title: z.string().optional().describe("New title for the blog post"),
|
|
158
|
+
content: z.string().optional().describe("New markdown body (GFM + inline raw HTML). Supports , <video>, <iframe> embeds, <details>/<summary>, <mark>, <kbd>."),
|
|
159
|
+
blocks: BLOCKS_SCHEMA.nullable().optional().describe(`${BLOCKS_DESCRIPTION}\n\nPass null to clear blocks and revert to the markdown \`content\`. Omit to leave existing blocks unchanged.`),
|
|
160
|
+
excerpt: z.string().optional().describe("New short summary or preview text"),
|
|
161
|
+
tags: z
|
|
162
|
+
.array(z.string())
|
|
163
|
+
.optional()
|
|
164
|
+
.describe("Replace the post's tags with this list of tag names (created if missing). Empty array clears all tags; omit to leave tags unchanged."),
|
|
165
|
+
coverImageUrl: z.string().optional().describe("New URL for the cover image"),
|
|
120
166
|
status: z
|
|
121
167
|
.enum(["draft", "published", "hidden"])
|
|
122
168
|
.optional()
|
|
123
|
-
.describe("
|
|
124
|
-
seoTitle: z.string().optional().describe("SEO title"),
|
|
125
|
-
seoDescription: z.string().optional().describe("
|
|
169
|
+
.describe("New publication status for the post"),
|
|
170
|
+
seoTitle: z.string().optional().describe("New custom SEO title override"),
|
|
171
|
+
seoDescription: z.string().optional().describe("New meta description for search engines"),
|
|
126
172
|
seoKeywords: z
|
|
127
173
|
.array(z.string())
|
|
128
174
|
.optional()
|
|
129
|
-
.describe("SEO keywords"),
|
|
175
|
+
.describe("New list of SEO keywords"),
|
|
130
176
|
}),
|
|
177
|
+
annotations: {
|
|
178
|
+
readOnlyHint: false,
|
|
179
|
+
destructiveHint: false,
|
|
180
|
+
idempotentHint: true,
|
|
181
|
+
openWorldHint: false,
|
|
182
|
+
},
|
|
131
183
|
}, async (params) => {
|
|
132
184
|
try {
|
|
133
185
|
const { id, ...body } = params;
|
|
@@ -141,10 +193,16 @@ export function registerBlogTools(server) {
|
|
|
141
193
|
// Delete blog post
|
|
142
194
|
server.registerTool("neuron_delete_blog_post", {
|
|
143
195
|
title: "Delete Blog Post",
|
|
144
|
-
description: "
|
|
196
|
+
description: "Permanently delete a blog post by its ID. This action cannot be undone.",
|
|
145
197
|
inputSchema: z.object({
|
|
146
|
-
id: z.string().describe("
|
|
198
|
+
id: z.string().describe("Unique identifier (UUID) of the blog post to delete"),
|
|
147
199
|
}),
|
|
200
|
+
annotations: {
|
|
201
|
+
readOnlyHint: false,
|
|
202
|
+
destructiveHint: true,
|
|
203
|
+
idempotentHint: true,
|
|
204
|
+
openWorldHint: false,
|
|
205
|
+
},
|
|
148
206
|
}, async (params) => {
|
|
149
207
|
try {
|
|
150
208
|
await api("DELETE", `blog/posts/${params.id}`);
|
|
@@ -157,10 +215,16 @@ export function registerBlogTools(server) {
|
|
|
157
215
|
// Publish post
|
|
158
216
|
server.registerTool("neuron_publish_blog_post", {
|
|
159
217
|
title: "Publish Blog Post",
|
|
160
|
-
description: "Publish a draft
|
|
218
|
+
description: "Publish a blog post, making it publicly visible. The post must be in 'draft' status.",
|
|
161
219
|
inputSchema: z.object({
|
|
162
|
-
id: z.string().describe("
|
|
220
|
+
id: z.string().describe("Unique identifier (UUID) of the blog post to publish"),
|
|
163
221
|
}),
|
|
222
|
+
annotations: {
|
|
223
|
+
readOnlyHint: false,
|
|
224
|
+
destructiveHint: false,
|
|
225
|
+
idempotentHint: false,
|
|
226
|
+
openWorldHint: false,
|
|
227
|
+
},
|
|
164
228
|
}, async (params) => {
|
|
165
229
|
try {
|
|
166
230
|
const result = await api("POST", `blog/posts/${params.id}/publish`);
|
package/dist/tools/blog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tools/blog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,mBAAmB;IACnB,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tools/blog.ts"],"names":[],"mappings":"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"}
|