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/broadcasts.js
CHANGED
|
@@ -4,13 +4,18 @@ export function registerBroadcastsTools(server) {
|
|
|
4
4
|
// List broadcasts
|
|
5
5
|
server.registerTool("neuron_list_broadcasts", {
|
|
6
6
|
title: "List Broadcasts",
|
|
7
|
-
description: "
|
|
7
|
+
description: "Retrieve a paginated list of all broadcasts with optional filtering by status such as draft, sent, or scheduled.",
|
|
8
8
|
inputSchema: z.object({
|
|
9
9
|
status: z.string().optional().describe("Filter by broadcast status (e.g., 'draft', 'sent', 'scheduled')"),
|
|
10
|
-
page: z.number().int().positive().optional().describe("Page number for pagination"),
|
|
11
|
-
limit: z.number().int().positive().optional().describe("Number of broadcasts per page"),
|
|
10
|
+
page: z.number().int().positive().optional().describe("Page number for pagination (default: 1)"),
|
|
11
|
+
limit: z.number().int().positive().optional().describe("Number of broadcasts per page (default: 20)"),
|
|
12
12
|
}),
|
|
13
|
-
annotations: {
|
|
13
|
+
annotations: {
|
|
14
|
+
readOnlyHint: true,
|
|
15
|
+
destructiveHint: false,
|
|
16
|
+
idempotentHint: true,
|
|
17
|
+
openWorldHint: false,
|
|
18
|
+
},
|
|
14
19
|
}, async (params) => {
|
|
15
20
|
try {
|
|
16
21
|
const result = await api("GET", "/broadcasts", undefined, {
|
|
@@ -27,26 +32,34 @@ export function registerBroadcastsTools(server) {
|
|
|
27
32
|
// Create broadcast
|
|
28
33
|
server.registerTool("neuron_create_broadcast", {
|
|
29
34
|
title: "Create Broadcast",
|
|
30
|
-
description: "Create a new broadcast message. Provide recipients directly
|
|
35
|
+
description: "Create a new broadcast message in draft status. Provide recipients directly or use recipientSources to resolve from contact lists. The WhatsApp channel is auto-resolved if not specified.",
|
|
31
36
|
inputSchema: z.object({
|
|
32
|
-
channelId: z.string().optional().describe("
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
channelId: z.string().optional().describe("Identifier (UUID) of the WhatsApp channel to send through (auto-resolved from default channel if omitted)"),
|
|
38
|
+
botId: z.string().optional().describe("Identifier (UUID) of a bot to send through. Each recipient's channel is picked by the bot's load-balancer + sticky sessions. Takes precedence over channelId."),
|
|
39
|
+
name: z.string().describe("Display name or label for the broadcast"),
|
|
40
|
+
message: z.string().describe("Message content to broadcast to recipients"),
|
|
41
|
+
messageType: z.string().optional().describe("Type of message to send (e.g., 'text', 'image', 'document')"),
|
|
42
|
+
mediaUrl: z.string().optional().describe("URL of media to attach (required for image or document message types)"),
|
|
37
43
|
recipients: z.array(z.object({
|
|
38
|
-
phone: z.string().describe("Recipient phone number"),
|
|
39
|
-
contactName: z.string().optional().describe("
|
|
44
|
+
phone: z.string().describe("Recipient phone number in E.164 format (e.g., '+2348012345678')"),
|
|
45
|
+
contactName: z.string().optional().describe("Display name of the recipient contact"),
|
|
40
46
|
})).optional().describe("Direct list of recipients (alternative to recipientSources)"),
|
|
41
47
|
recipientSources: z.object({
|
|
42
|
-
listIds: z.array(z.string()).optional().describe("Contact list
|
|
43
|
-
phones: z.array(z.string()).optional().describe("Individual phone numbers to include"),
|
|
48
|
+
listIds: z.array(z.string()).optional().describe("Contact list identifiers (UUIDs or slugs) to include as recipients"),
|
|
49
|
+
phones: z.array(z.string()).optional().describe("Individual phone numbers in E.164 format to include"),
|
|
44
50
|
filters: z.object({
|
|
45
|
-
tags: z.array(z.string()).optional().describe("Only include contacts
|
|
46
|
-
}).optional().describe("Additional filters to
|
|
47
|
-
excludeListIds: z.array(z.string()).optional().describe("Contact list
|
|
48
|
-
}).optional().describe("Resolve recipients from contact lists
|
|
51
|
+
tags: z.array(z.string()).optional().describe("Only include contacts matching these tags"),
|
|
52
|
+
}).optional().describe("Additional filters to narrow down recipients"),
|
|
53
|
+
excludeListIds: z.array(z.string()).optional().describe("Contact list identifiers (UUIDs or slugs) to exclude from recipients"),
|
|
54
|
+
}).optional().describe("Resolve recipients dynamically from contact lists with filtering and exclusion"),
|
|
55
|
+
scheduledAt: z.string().optional().describe("ISO 8601 date-time for scheduled broadcast delivery (e.g., '2025-12-31T10:00:00Z'). Creates as draft if omitted."),
|
|
49
56
|
}),
|
|
57
|
+
annotations: {
|
|
58
|
+
readOnlyHint: false,
|
|
59
|
+
destructiveHint: false,
|
|
60
|
+
idempotentHint: false,
|
|
61
|
+
openWorldHint: false,
|
|
62
|
+
},
|
|
50
63
|
}, async (params) => {
|
|
51
64
|
try {
|
|
52
65
|
const result = await api("POST", "/broadcasts", params);
|
|
@@ -59,11 +72,16 @@ export function registerBroadcastsTools(server) {
|
|
|
59
72
|
// Get broadcast
|
|
60
73
|
server.registerTool("neuron_get_broadcast", {
|
|
61
74
|
title: "Get Broadcast",
|
|
62
|
-
description: "
|
|
75
|
+
description: "Retrieve detailed information about a specific broadcast, including its status, message content, and recipient summary.",
|
|
63
76
|
inputSchema: z.object({
|
|
64
|
-
id: z.string().describe("
|
|
77
|
+
id: z.string().describe("Unique identifier (UUID) of the broadcast to retrieve"),
|
|
65
78
|
}),
|
|
66
|
-
annotations: {
|
|
79
|
+
annotations: {
|
|
80
|
+
readOnlyHint: true,
|
|
81
|
+
destructiveHint: false,
|
|
82
|
+
idempotentHint: true,
|
|
83
|
+
openWorldHint: false,
|
|
84
|
+
},
|
|
67
85
|
}, async (params) => {
|
|
68
86
|
try {
|
|
69
87
|
const result = await api("GET", `/broadcasts/${params.id}`);
|
|
@@ -76,14 +94,19 @@ export function registerBroadcastsTools(server) {
|
|
|
76
94
|
// Get broadcast recipients
|
|
77
95
|
server.registerTool("neuron_get_broadcast_recipients", {
|
|
78
96
|
title: "Get Broadcast Recipients",
|
|
79
|
-
description: "
|
|
97
|
+
description: "Retrieve the paginated list of recipients for a specific broadcast with their individual delivery status.",
|
|
80
98
|
inputSchema: z.object({
|
|
81
|
-
id: z.string().describe("
|
|
82
|
-
status: z.string().optional().describe("Filter by
|
|
83
|
-
page: z.number().int().positive().optional().describe("Page number for pagination"),
|
|
84
|
-
limit: z.number().int().positive().optional().describe("Number of recipients per page"),
|
|
99
|
+
id: z.string().describe("Unique identifier (UUID) of the broadcast"),
|
|
100
|
+
status: z.string().optional().describe("Filter recipients by delivery status (e.g., 'delivered', 'failed', 'pending')"),
|
|
101
|
+
page: z.number().int().positive().optional().describe("Page number for pagination (default: 1)"),
|
|
102
|
+
limit: z.number().int().positive().optional().describe("Number of recipients per page (default: 20)"),
|
|
85
103
|
}),
|
|
86
|
-
annotations: {
|
|
104
|
+
annotations: {
|
|
105
|
+
readOnlyHint: true,
|
|
106
|
+
destructiveHint: false,
|
|
107
|
+
idempotentHint: true,
|
|
108
|
+
openWorldHint: false,
|
|
109
|
+
},
|
|
87
110
|
}, async (params) => {
|
|
88
111
|
try {
|
|
89
112
|
const { id, ...query } = params;
|
|
@@ -101,14 +124,20 @@ export function registerBroadcastsTools(server) {
|
|
|
101
124
|
// Update broadcast
|
|
102
125
|
server.registerTool("neuron_update_broadcast", {
|
|
103
126
|
title: "Update Broadcast",
|
|
104
|
-
description: "Update an existing broadcast's
|
|
127
|
+
description: "Update an existing broadcast's name, message content, or media before sending. The broadcast must still be in draft status.",
|
|
105
128
|
inputSchema: z.object({
|
|
106
|
-
id: z.string().describe("
|
|
107
|
-
name: z.string().optional().describe("New name for the broadcast"),
|
|
108
|
-
message: z.string().optional().describe("New message content"),
|
|
109
|
-
messageType: z.string().optional().describe("New message type"),
|
|
110
|
-
mediaUrl: z.string().optional().describe("New media URL"),
|
|
129
|
+
id: z.string().describe("Unique identifier (UUID) of the broadcast to update"),
|
|
130
|
+
name: z.string().optional().describe("New display name or label for the broadcast"),
|
|
131
|
+
message: z.string().optional().describe("New message content to broadcast"),
|
|
132
|
+
messageType: z.string().optional().describe("New message type (e.g., 'text', 'image', 'document')"),
|
|
133
|
+
mediaUrl: z.string().optional().describe("New media URL to attach"),
|
|
111
134
|
}),
|
|
135
|
+
annotations: {
|
|
136
|
+
readOnlyHint: false,
|
|
137
|
+
destructiveHint: false,
|
|
138
|
+
idempotentHint: true,
|
|
139
|
+
openWorldHint: false,
|
|
140
|
+
},
|
|
112
141
|
}, async (params) => {
|
|
113
142
|
try {
|
|
114
143
|
const { id, ...body } = params;
|
|
@@ -122,11 +151,16 @@ export function registerBroadcastsTools(server) {
|
|
|
122
151
|
// Delete broadcast
|
|
123
152
|
server.registerTool("neuron_delete_broadcast", {
|
|
124
153
|
title: "Delete Broadcast",
|
|
125
|
-
description: "
|
|
154
|
+
description: "Permanently delete a broadcast and its recipient data. This action cannot be undone.",
|
|
126
155
|
inputSchema: z.object({
|
|
127
|
-
id: z.string().describe("
|
|
156
|
+
id: z.string().describe("Unique identifier (UUID) of the broadcast to delete"),
|
|
128
157
|
}),
|
|
129
|
-
annotations: {
|
|
158
|
+
annotations: {
|
|
159
|
+
readOnlyHint: false,
|
|
160
|
+
destructiveHint: true,
|
|
161
|
+
idempotentHint: true,
|
|
162
|
+
openWorldHint: false,
|
|
163
|
+
},
|
|
130
164
|
}, async (params) => {
|
|
131
165
|
try {
|
|
132
166
|
const result = await api("DELETE", `/broadcasts/${params.id}`);
|
|
@@ -139,10 +173,16 @@ export function registerBroadcastsTools(server) {
|
|
|
139
173
|
// Send broadcast
|
|
140
174
|
server.registerTool("neuron_send_broadcast", {
|
|
141
175
|
title: "Send Broadcast",
|
|
142
|
-
description: "Send a broadcast to all its recipients. The broadcast must be in draft status.",
|
|
176
|
+
description: "Send a broadcast message to all its recipients. The broadcast must be in draft status. This triggers message delivery and cannot be undone.",
|
|
143
177
|
inputSchema: z.object({
|
|
144
|
-
id: z.string().describe("
|
|
178
|
+
id: z.string().describe("Unique identifier (UUID) of the broadcast to send"),
|
|
145
179
|
}),
|
|
180
|
+
annotations: {
|
|
181
|
+
readOnlyHint: false,
|
|
182
|
+
destructiveHint: false,
|
|
183
|
+
idempotentHint: false,
|
|
184
|
+
openWorldHint: false,
|
|
185
|
+
},
|
|
146
186
|
}, async (params) => {
|
|
147
187
|
try {
|
|
148
188
|
const result = await api("POST", `/broadcasts/${params.id}/send`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcasts.js","sourceRoot":"","sources":["../../src/tools/broadcasts.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,uBAAuB,CAAC,MAAiB;IACvD,kBAAkB;IAClB,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"broadcasts.js","sourceRoot":"","sources":["../../src/tools/broadcasts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,16 @@ export function registerBuiltinToolsTools(server) {
|
|
|
7
7
|
// 1. List Built-in Tools
|
|
8
8
|
server.registerTool("neuron_list_builtin_tools", {
|
|
9
9
|
title: "List Built-in Tools",
|
|
10
|
-
description: "
|
|
10
|
+
description: "Retrieve all available built-in tools with their enabled/disabled status for a specific bot. " +
|
|
11
11
|
"Built-in tools include WhatsApp actions (send messages, delete messages, post status), " +
|
|
12
12
|
"utility functions (web search, QR codes, weather), scheduling, knowledge base search, and more.",
|
|
13
13
|
inputSchema: z.object({
|
|
14
|
-
botId: z.string().describe("
|
|
14
|
+
botId: z.string().describe("Unique identifier (UUID) of the bot to list built-in tools for"),
|
|
15
15
|
}),
|
|
16
16
|
annotations: {
|
|
17
17
|
readOnlyHint: true,
|
|
18
|
+
destructiveHint: false,
|
|
19
|
+
idempotentHint: true,
|
|
18
20
|
openWorldHint: true,
|
|
19
21
|
},
|
|
20
22
|
}, async (args) => {
|
|
@@ -29,15 +31,18 @@ export function registerBuiltinToolsTools(server) {
|
|
|
29
31
|
// 2. Toggle Built-in Tool
|
|
30
32
|
server.registerTool("neuron_toggle_builtin_tool", {
|
|
31
33
|
title: "Toggle Built-in Tool",
|
|
32
|
-
description: "
|
|
34
|
+
description: "Toggle a built-in tool on or off for a specific bot. Enabled tools become available in the bot's conversations. " +
|
|
33
35
|
"Example tool IDs: delete_message, post_to_channel, post_status, web_search, " +
|
|
34
|
-
"send_direct_message, react_to_message, set_reminder, create_poll
|
|
36
|
+
"send_direct_message, react_to_message, set_reminder, create_poll.",
|
|
35
37
|
inputSchema: z.object({
|
|
36
|
-
botId: z.string().describe("
|
|
37
|
-
toolId: z.string().describe("
|
|
38
|
+
botId: z.string().describe("Unique identifier (UUID) of the bot to toggle the tool for"),
|
|
39
|
+
toolId: z.string().describe("Identifier of the built-in tool (e.g., 'delete_message', 'post_status', 'web_search')"),
|
|
38
40
|
enabled: z.boolean().describe("Whether to enable (true) or disable (false) the tool"),
|
|
39
41
|
}),
|
|
40
42
|
annotations: {
|
|
43
|
+
readOnlyHint: false,
|
|
44
|
+
destructiveHint: false,
|
|
45
|
+
idempotentHint: true,
|
|
41
46
|
openWorldHint: true,
|
|
42
47
|
},
|
|
43
48
|
}, async (args) => {
|
|
@@ -53,18 +58,20 @@ export function registerBuiltinToolsTools(server) {
|
|
|
53
58
|
// 3. Bulk Toggle Built-in Tools
|
|
54
59
|
server.registerTool("neuron_bulk_toggle_builtin_tools", {
|
|
55
60
|
title: "Bulk Toggle Built-in Tools",
|
|
56
|
-
description: "Enable or disable multiple built-in tools at once for a bot. "
|
|
57
|
-
"Pass an array of { toolId, enabled } settings.",
|
|
61
|
+
description: "Enable or disable multiple built-in tools at once for a bot. More efficient than toggling tools individually.",
|
|
58
62
|
inputSchema: z.object({
|
|
59
|
-
botId: z.string().describe("
|
|
63
|
+
botId: z.string().describe("Unique identifier (UUID) of the bot to update tools for"),
|
|
60
64
|
settings: z
|
|
61
65
|
.array(z.object({
|
|
62
|
-
toolId: z.string().describe("
|
|
63
|
-
enabled: z.boolean().describe("Whether to enable or disable"),
|
|
66
|
+
toolId: z.string().describe("Identifier of the built-in tool (e.g., 'web_search', 'send_direct_message')"),
|
|
67
|
+
enabled: z.boolean().describe("Whether to enable (true) or disable (false) this tool"),
|
|
64
68
|
}))
|
|
65
|
-
.describe("Array of tool settings to apply"),
|
|
69
|
+
.describe("Array of tool toggle settings to apply in bulk"),
|
|
66
70
|
}),
|
|
67
71
|
annotations: {
|
|
72
|
+
readOnlyHint: false,
|
|
73
|
+
destructiveHint: false,
|
|
74
|
+
idempotentHint: true,
|
|
68
75
|
openWorldHint: true,
|
|
69
76
|
},
|
|
70
77
|
}, async (args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/tools/builtin-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,yBAAyB;IACzB,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/tools/builtin-tools.ts"],"names":[],"mappings":"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"}
|