@wplaunchify/ml-mcp-server 2.7.2 → 2.7.3
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/build/tools/fluent-crm.js +104 -0
- package/package.json +1 -1
|
@@ -105,6 +105,50 @@ export const fluentCRMTools = [
|
|
|
105
105
|
description: 'Delete a FluentCRM contact',
|
|
106
106
|
inputSchema: { type: 'object', properties: z.object({ id: z.number() }).shape }
|
|
107
107
|
},
|
|
108
|
+
// Contact Tag Management
|
|
109
|
+
{
|
|
110
|
+
name: 'fcrm_get_contact_tags',
|
|
111
|
+
description: 'Get all tags attached to a FluentCRM contact',
|
|
112
|
+
inputSchema: { type: 'object', properties: z.object({ id: z.number() }).shape }
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: 'fcrm_attach_tags',
|
|
116
|
+
description: 'Attach tags to an existing FluentCRM contact',
|
|
117
|
+
inputSchema: { type: 'object', properties: z.object({
|
|
118
|
+
id: z.number(),
|
|
119
|
+
tags: z.array(z.number()),
|
|
120
|
+
}).shape }
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'fcrm_detach_tags',
|
|
124
|
+
description: 'Remove tags from a FluentCRM contact',
|
|
125
|
+
inputSchema: { type: 'object', properties: z.object({
|
|
126
|
+
id: z.number(),
|
|
127
|
+
tags: z.array(z.number()),
|
|
128
|
+
}).shape }
|
|
129
|
+
},
|
|
130
|
+
// Contact List Management
|
|
131
|
+
{
|
|
132
|
+
name: 'fcrm_get_contact_lists',
|
|
133
|
+
description: 'Get all lists a FluentCRM contact belongs to',
|
|
134
|
+
inputSchema: { type: 'object', properties: z.object({ id: z.number() }).shape }
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: 'fcrm_attach_lists',
|
|
138
|
+
description: 'Add a FluentCRM contact to lists',
|
|
139
|
+
inputSchema: { type: 'object', properties: z.object({
|
|
140
|
+
id: z.number(),
|
|
141
|
+
lists: z.array(z.number()),
|
|
142
|
+
}).shape }
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: 'fcrm_detach_lists',
|
|
146
|
+
description: 'Remove a FluentCRM contact from lists',
|
|
147
|
+
inputSchema: { type: 'object', properties: z.object({
|
|
148
|
+
id: z.number(),
|
|
149
|
+
lists: z.array(z.number()),
|
|
150
|
+
}).shape }
|
|
151
|
+
},
|
|
108
152
|
// List Management
|
|
109
153
|
{
|
|
110
154
|
name: 'fcrm_list_lists',
|
|
@@ -280,6 +324,66 @@ export const fluentCRMHandlers = {
|
|
|
280
324
|
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
281
325
|
}
|
|
282
326
|
},
|
|
327
|
+
// Contact Tag Management handlers
|
|
328
|
+
fcrm_get_contact_tags: async (args) => {
|
|
329
|
+
try {
|
|
330
|
+
const response = await makeWordPressRequest('GET', `fc-manager/v1/fcrm/contacts/${args.id}/tags`);
|
|
331
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
fcrm_attach_tags: async (args) => {
|
|
338
|
+
try {
|
|
339
|
+
const { id, tags } = args;
|
|
340
|
+
const response = await makeWordPressRequest('POST', `fc-manager/v1/fcrm/contacts/${id}/tags`, { tags });
|
|
341
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
fcrm_detach_tags: async (args) => {
|
|
348
|
+
try {
|
|
349
|
+
const { id, tags } = args;
|
|
350
|
+
const response = await makeWordPressRequest('DELETE', `fc-manager/v1/fcrm/contacts/${id}/tags`, { tags });
|
|
351
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
// Contact List Management handlers
|
|
358
|
+
fcrm_get_contact_lists: async (args) => {
|
|
359
|
+
try {
|
|
360
|
+
const response = await makeWordPressRequest('GET', `fc-manager/v1/fcrm/contacts/${args.id}/lists`);
|
|
361
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
fcrm_attach_lists: async (args) => {
|
|
368
|
+
try {
|
|
369
|
+
const { id, lists } = args;
|
|
370
|
+
const response = await makeWordPressRequest('POST', `fc-manager/v1/fcrm/contacts/${id}/lists`, { lists });
|
|
371
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
fcrm_detach_lists: async (args) => {
|
|
378
|
+
try {
|
|
379
|
+
const { id, lists } = args;
|
|
380
|
+
const response = await makeWordPressRequest('DELETE', `fc-manager/v1/fcrm/contacts/${id}/lists`, { lists });
|
|
381
|
+
return { toolResult: { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] } };
|
|
382
|
+
}
|
|
383
|
+
catch (error) {
|
|
384
|
+
return { toolResult: { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] } };
|
|
385
|
+
}
|
|
386
|
+
},
|
|
283
387
|
// List handlers
|
|
284
388
|
fcrm_list_lists: async (args) => {
|
|
285
389
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wplaunchify/ml-mcp-server",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3",
|
|
4
4
|
"description": "Universal MCP Server for WordPress + Fluent Suite (Community, CRM, Cart) + FluentMCP Pro. Comprehensive tools for AI-powered WordPress management via Claude, Cursor, and other MCP clients.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/server.js",
|