@agifyai/leadify-mcp 3.6.1 → 3.6.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/dist/server.js +1 -1
- package/dist/tools/dataroom.js +26 -0
- package/dist/tools/pipeline.js +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -16,7 +16,7 @@ import { registerPipelineTools } from "./tools/pipeline.js";
|
|
|
16
16
|
export function createServer() {
|
|
17
17
|
const server = new McpServer({
|
|
18
18
|
name: "leadify",
|
|
19
|
-
version: "3.6.
|
|
19
|
+
version: "3.6.2",
|
|
20
20
|
});
|
|
21
21
|
registerAuthTools(server);
|
|
22
22
|
registerOrganizationTools(server);
|
package/dist/tools/dataroom.js
CHANGED
|
@@ -242,6 +242,11 @@ async function mergeAndPut(organizationId, dry_run, patcher, validationHint) {
|
|
|
242
242
|
return toolResult(data);
|
|
243
243
|
}
|
|
244
244
|
// ─── Tool registrations ────────────────────────────────────────────────────
|
|
245
|
+
// ── get_outreach_context ─────────────────────────────────────────────────
|
|
246
|
+
// Dedicated tool for the outreach pipeline Phase 0. Single call replaces the
|
|
247
|
+
// old multi-step dance (get_data_room + org resolution + get_lead_group_persona)
|
|
248
|
+
// and eliminates the cross-org footgun by accepting lead_group_id instead of
|
|
249
|
+
// organization_id. The backend resolves the org server-side.
|
|
245
250
|
export function registerDataRoomTools(server) {
|
|
246
251
|
// ── get_data_room ──────────────────────────────────────────────────────
|
|
247
252
|
server.tool("get_data_room", "Retrieve the organization's data room: company info (v2 schema) and all documents. " +
|
|
@@ -270,6 +275,27 @@ export function registerDataRoomTools(server) {
|
|
|
270
275
|
return handleToolError(error);
|
|
271
276
|
}
|
|
272
277
|
});
|
|
278
|
+
// ── get_outreach_context ──────────────────────────────────────────────
|
|
279
|
+
server.tool("get_outreach_context", "Get a curated outreach context for a lead group: the outreach-relevant slice " +
|
|
280
|
+
"of companyInfo (identity, pitch, constraints, curated products, economics " +
|
|
281
|
+
"triggers/baseline, product ICP roles, proof wording) PLUS the full persona. " +
|
|
282
|
+
"Takes a lead_group_id (NOT organization_id) — the org is resolved server-side, " +
|
|
283
|
+
"eliminating the cross-org footgun of get_data_room. " +
|
|
284
|
+
"Returns a HARD error if no persona is linked to the group. " +
|
|
285
|
+
"Use this instead of get_data_room + get_lead_group_persona in the outreach " +
|
|
286
|
+
"pipeline Phase 0.", {
|
|
287
|
+
lead_group_id: z.string().describe("ID of the lead group to resolve context for."),
|
|
288
|
+
}, async ({ lead_group_id }) => {
|
|
289
|
+
try {
|
|
290
|
+
const params = new URLSearchParams();
|
|
291
|
+
params.set("lead_group_id", lead_group_id);
|
|
292
|
+
const data = await getClient().get("/api/outreach-context", params);
|
|
293
|
+
return toolResult(data);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
return handleToolError(error);
|
|
297
|
+
}
|
|
298
|
+
});
|
|
273
299
|
// ── describe_company_info_schema ───────────────────────────────────────
|
|
274
300
|
server.tool("describe_company_info_schema", "Return the companyInfo v2 schema mirrored at the MCP layer: all sections, enums, " +
|
|
275
301
|
"max-length caps, required fields, and which patch tool owns each section. Call this " +
|
package/dist/tools/pipeline.js
CHANGED
|
@@ -21,7 +21,7 @@ export function registerPipelineTools(server) {
|
|
|
21
21
|
"`get_lead` call); the caller only needs `lead_id`. " +
|
|
22
22
|
"The response is decorated with a Trigger.dev `traceUrl` deep-link when missing " +
|
|
23
23
|
"(https://cloud.trigger.dev/runs/{runId}), so you can always jump to the trace. " +
|
|
24
|
-
"Waits up to
|
|
24
|
+
"Waits up to 300s for the remote agent to complete.", {
|
|
25
25
|
lead_id: z.string().describe("ID of the lead to generate a message for."),
|
|
26
26
|
dryrun: z
|
|
27
27
|
.boolean()
|