@connect-xlab/mcp-server 0.1.2 → 0.2.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.
Files changed (68) hide show
  1. package/dist/index.js +130 -0
  2. package/dist/tools/addCalendarQuestion.js +41 -0
  3. package/dist/tools/addSmartJoinQuestion.js +38 -0
  4. package/dist/tools/addSubscriptionPrice.js +33 -0
  5. package/dist/tools/clearSmartJoinResponses.js +26 -0
  6. package/dist/tools/createCompany.js +50 -0
  7. package/dist/tools/createCompanyCategory.js +29 -0
  8. package/dist/tools/createFunnel.js +40 -0
  9. package/dist/tools/createPost.js +4 -1
  10. package/dist/tools/createShopProduct.js +5 -3
  11. package/dist/tools/deleteCalendarQuestion.js +29 -0
  12. package/dist/tools/deleteCompany.js +29 -0
  13. package/dist/tools/deleteCompanyCategory.js +29 -0
  14. package/dist/tools/deleteFunnel.js +29 -0
  15. package/dist/tools/deleteFunnelItem.js +34 -0
  16. package/dist/tools/deleteNewsletterEdition.js +29 -0
  17. package/dist/tools/deleteNewsletterSubscriber.js +29 -0
  18. package/dist/tools/deleteSmartJoinQuestion.js +29 -0
  19. package/dist/tools/deleteSubscriptionPrice.js +29 -0
  20. package/dist/tools/duplicateSmartJoinQuestion.js +29 -0
  21. package/dist/tools/getCalendar.js +26 -0
  22. package/dist/tools/getCalendarPipeline.js +26 -0
  23. package/dist/tools/getFunnel.js +35 -0
  24. package/dist/tools/getFunnelStats.js +35 -0
  25. package/dist/tools/getLabAffiliationConfig.js +29 -0
  26. package/dist/tools/getNewsletterEdition.js +29 -0
  27. package/dist/tools/getNewsletterRevenue.js +28 -0
  28. package/dist/tools/getNewsletterSettings.js +28 -0
  29. package/dist/tools/getProductAffiliationConfig.js +36 -0
  30. package/dist/tools/getSmartJoin.js +26 -0
  31. package/dist/tools/getSubscriptionSettings.js +29 -0
  32. package/dist/tools/listCompanies.js +34 -0
  33. package/dist/tools/listCompanyCategories.js +28 -0
  34. package/dist/tools/listFunnelOffers.js +29 -0
  35. package/dist/tools/listLabAffiliates.js +40 -0
  36. package/dist/tools/listPixelRequests.js +45 -0
  37. package/dist/tools/listProductAffiliates.js +49 -0
  38. package/dist/tools/listSmartJoinResponses.js +40 -0
  39. package/dist/tools/manageLabAffiliate.js +41 -0
  40. package/dist/tools/managePixelRequest.js +35 -0
  41. package/dist/tools/manageProductAffiliate.js +45 -0
  42. package/dist/tools/reactivateNewsletter.js +28 -0
  43. package/dist/tools/reorderClass.js +34 -0
  44. package/dist/tools/reorderSmartJoinQuestions.js +32 -0
  45. package/dist/tools/scheduleNewsletterEdition.js +34 -0
  46. package/dist/tools/setCurrentSubscriptionPrice.js +34 -0
  47. package/dist/tools/setFunnelItem.js +94 -0
  48. package/dist/tools/stopNewsletter.js +28 -0
  49. package/dist/tools/toggleCompanyVisibility.js +35 -0
  50. package/dist/tools/updateCalendar.js +70 -0
  51. package/dist/tools/updateCalendarAvailability.js +51 -0
  52. package/dist/tools/updateCalendarDisqualifRules.js +48 -0
  53. package/dist/tools/updateCalendarFollowupConfig.js +51 -0
  54. package/dist/tools/updateCalendarQuestion.js +43 -0
  55. package/dist/tools/updateCompany.js +51 -0
  56. package/dist/tools/updateCompanyCategory.js +34 -0
  57. package/dist/tools/updateFunnel.js +37 -0
  58. package/dist/tools/updateLabAffiliationConfig.js +44 -0
  59. package/dist/tools/updateLinkInBio.js +13 -13
  60. package/dist/tools/updateNewsletterEdition.js +43 -0
  61. package/dist/tools/updateNewsletterSettings.js +63 -0
  62. package/dist/tools/updatePost.js +3 -1
  63. package/dist/tools/updateProductAffiliationConfig.js +43 -0
  64. package/dist/tools/updateShopProduct.js +5 -1
  65. package/dist/tools/updateSmartJoinQuestion.js +40 -0
  66. package/dist/tools/updateSmartJoinSettings.js +29 -0
  67. package/dist/tools/updateTrialSettings.js +34 -0
  68. package/package.json +1 -1
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Tool `update_smart_join_question` — modifie une question Smart Join.
3
+ */
4
+ import { z } from 'zod';
5
+ import { http, formatApiError } from '../http.js';
6
+ const TYPES = ['email', 'short_text', 'long_text', 'phone', 'number', 'single_choice', 'multiple_choice'];
7
+ export const updateSmartJoinQuestionTool = {
8
+ name: 'update_smart_join_question',
9
+ description: "Modifie une question de qualification Smart Join. question_id vient de get_smart_join. Pour single_choice / multiple_choice, fournis options.",
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ lab: { type: 'string' },
14
+ question_id: { type: 'number' },
15
+ label: { type: 'string', maxLength: 500 },
16
+ type: { type: 'string', enum: [...TYPES] },
17
+ options: { type: 'array', items: { type: 'string' } },
18
+ },
19
+ required: ['lab', 'question_id'],
20
+ additionalProperties: false,
21
+ },
22
+ zodSchema: z.object({
23
+ lab: z.string(),
24
+ question_id: z.number().int().positive(),
25
+ label: z.string().max(500).optional(),
26
+ type: z.enum(TYPES).optional(),
27
+ options: z.array(z.string()).optional(),
28
+ }),
29
+ async handler(args) {
30
+ const p = this.zodSchema.parse(args);
31
+ const { lab, question_id, ...body } = p;
32
+ try {
33
+ const { data } = await http.put(`/mcp/labs/${encodeURIComponent(lab)}/smart-join/questions/${question_id}`, body);
34
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
35
+ }
36
+ catch (err) {
37
+ return { isError: true, content: [{ type: 'text', text: formatApiError(err) }] };
38
+ }
39
+ },
40
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Tool `update_smart_join_settings` — active / désactive le plug-in Smart Join.
3
+ */
4
+ import { z } from 'zod';
5
+ import { http, formatApiError } from '../http.js';
6
+ export const updateSmartJoinSettingsTool = {
7
+ name: 'update_smart_join_settings',
8
+ description: "Active ou desactive le plug-in Smart Join (pop-up de questions a l'inscription). is_active = true active le questionnaire de qualification.",
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ lab: { type: 'string' },
13
+ is_active: { type: 'boolean' },
14
+ },
15
+ required: ['lab', 'is_active'],
16
+ additionalProperties: false,
17
+ },
18
+ zodSchema: z.object({ lab: z.string(), is_active: z.boolean() }),
19
+ async handler(args) {
20
+ const p = this.zodSchema.parse(args);
21
+ try {
22
+ const { data } = await http.put(`/mcp/labs/${encodeURIComponent(p.lab)}/smart-join`, { is_active: p.is_active });
23
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
24
+ }
25
+ catch (err) {
26
+ return { isError: true, content: [{ type: 'text', text: formatApiError(err) }] };
27
+ }
28
+ },
29
+ };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Tool `update_trial_settings` — configure la période d'essai gratuite d'un Lab.
3
+ */
4
+ import { z } from 'zod';
5
+ import { http, formatApiError } from '../http.js';
6
+ export const updateTrialSettingsTool = {
7
+ name: 'update_trial_settings',
8
+ description: "Configure la periode d'essai gratuite d'un Lab payant : enabled = active/desactive, days = nombre de jours offerts avant le premier prelevement.",
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ lab: { type: 'string' },
13
+ enabled: { type: 'boolean' },
14
+ days: { type: 'number', minimum: 0, description: "Nombre de jours d'essai" },
15
+ },
16
+ required: ['lab', 'enabled', 'days'],
17
+ additionalProperties: false,
18
+ },
19
+ zodSchema: z.object({
20
+ lab: z.string(),
21
+ enabled: z.boolean(),
22
+ days: z.number().int().min(0),
23
+ }),
24
+ async handler(args) {
25
+ const p = this.zodSchema.parse(args);
26
+ try {
27
+ const { data } = await http.put(`/mcp/labs/${encodeURIComponent(p.lab)}/subscriptions/trial`, { enabled: p.enabled, days: p.days });
28
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
29
+ }
30
+ catch (err) {
31
+ return { isError: true, content: [{ type: 'text', text: formatApiError(err) }] };
32
+ }
33
+ },
34
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@connect-xlab/mcp-server",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Serveur MCP pour piloter ton Lab ConnectXLab depuis Claude Desktop / Cursor / n'importe quel client MCP.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",