@agifyai/leadify-mcp 8.3.0 → 8.3.2

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 CHANGED
@@ -185,6 +185,7 @@ Conséquences pratiques :
185
185
  | `get_leads` | Rechercher et lister des leads avec filtres, recherche et pagination. |
186
186
  | `get_lead` | Récupérer les détails complets d'un lead par son ID. |
187
187
  | `update_lead` | Mettre à jour un ou plusieurs champs d'un lead existant. |
188
+ | `delete_sequence_messages` | Supprimer uniquement les messages de séquence générés d'un lead, après confirmation explicite. |
188
189
  | `delete_leads` | Supprimer définitivement des leads par leurs IDs. |
189
190
  | `update_schema` | Ajouter ou modifier les définitions de champs d'un groupe. |
190
191
  | `delete_columns` | Supprimer des colonnes du schéma et des données d'un groupe. |
package/dist/server.js CHANGED
@@ -17,7 +17,7 @@ import { registerLeadViewTools } from "./tools/views.js";
17
17
  export function createServer() {
18
18
  const server = new McpServer({
19
19
  name: "leadify",
20
- version: "8.3.0",
20
+ version: "8.3.2",
21
21
  });
22
22
  registerAuthTools(server);
23
23
  registerOrganizationTools(server);
@@ -1,2 +1,2 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerLeadTools(server: McpServer): void;
2
+ export declare function registerLeadTools(server: McpServer, client?: import("../client.js").LeadifyClient): void;
@@ -19,7 +19,7 @@ function compactLeadsResponse(data, fields, includeSchema) {
19
19
  result.schema = source.schema;
20
20
  return result;
21
21
  }
22
- export function registerLeadTools(server) {
22
+ export function registerLeadTools(server, client = getClient()) {
23
23
  // ── add_leads ──────────────────────────────────────────────────────────
24
24
  server.tool("add_leads", "Add one or more leads to a specific lead group in Leadify. Provide the group ID " +
25
25
  "and an array of lead objects with any combination of fields (email, firstName, " +
@@ -51,7 +51,7 @@ export function registerLeadTools(server) {
51
51
  body.leadData.isSelectFields =
52
52
  is_select_fields;
53
53
  }
54
- const data = await getClient().post("/add-lead", body);
54
+ const data = await client.post("/add-lead", body);
55
55
  return toolResult(data);
56
56
  }
57
57
  catch (error) {
@@ -113,7 +113,7 @@ export function registerLeadTools(server) {
113
113
  }
114
114
  }
115
115
  }
116
- const data = await getClient().get("/get-leads", params);
116
+ const data = await client.get("/get-leads", params);
117
117
  return toolResult(compactLeadsResponse(data, fields ?? DEFAULT_LEAD_FIELDS, include_schema));
118
118
  }
119
119
  catch (error) {
@@ -130,7 +130,7 @@ export function registerLeadTools(server) {
130
130
  try {
131
131
  const params = new URLSearchParams();
132
132
  params.set("id", id);
133
- const data = await getClient().get("/get-lead", params);
133
+ const data = await client.get("/get-lead", params);
134
134
  const source = data && typeof data === "object" ? data : {};
135
135
  const lead = source.lead;
136
136
  const result = { lead: projectLead(lead, fields ?? DEFAULT_LEAD_FIELDS) };
@@ -178,7 +178,21 @@ export function registerLeadTools(server) {
178
178
  ...(u.is_select !== undefined ? { isSelect: u.is_select } : {}),
179
179
  })),
180
180
  };
181
- const data = await getClient().put("/update-lead", body);
181
+ const data = await client.put("/update-lead", body);
182
+ return toolResult(data);
183
+ }
184
+ catch (error) {
185
+ return handleToolError(error);
186
+ }
187
+ });
188
+ // ── delete_sequence_messages ──────────────────────────────────────────
189
+ server.tool("delete_sequence_messages", "Permanently remove only the generated LinkedIn and email sequence messages for one lead. " +
190
+ "It does not modify the lead's contact data, qualification, activities, campaign state, or any other fields. " +
191
+ "This action is irreversible: obtain explicit user confirmation before calling it.", {
192
+ lead_id: z.string().describe("ID of the lead whose generated sequence messages must be removed."),
193
+ }, async ({ lead_id }) => {
194
+ try {
195
+ const data = await client.post("/api/delete-sequence-messages", { leadId: lead_id });
182
196
  return toolResult(data);
183
197
  }
184
198
  catch (error) {
@@ -196,7 +210,7 @@ export function registerLeadTools(server) {
196
210
  .describe("Array of lead IDs to delete."),
197
211
  }, async ({ lead_ids }) => {
198
212
  try {
199
- const data = await getClient().post("/delete-lead", {
213
+ const data = await client.post("/delete-lead", {
200
214
  leadIds: lead_ids,
201
215
  });
202
216
  return toolResult(data);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agifyai/leadify-mcp",
3
- "version": "8.3.0",
3
+ "version": "8.3.2",
4
4
  "description": "MCP server for Leadify lead management API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",