@loopops/mcp-server 3.41.0 → 3.42.0
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/tools/reporting.js +38 -1
- package/package.json +1 -1
package/dist/tools/reporting.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { trpcMutation, trpcQuery } from "../api-client.js";
|
|
2
3
|
import { safeTool } from "./_helpers.js";
|
|
3
4
|
import { rangeSchema, salesforceLeadIdSchema, } from "./_schemas.js";
|
|
4
5
|
export function registerReportingTools(server, allowed) {
|
|
@@ -21,4 +22,40 @@ export function registerReportingTools(server, allowed) {
|
|
|
21
22
|
leadId: salesforceLeadIdSchema.describe("Salesforce Lead ID (e.g., 00QgL00000BQL0tUAH)."),
|
|
22
23
|
}, safeTool(async ({ leadId }) => trpcQuery("mcp.decisionExplain", { leadId })));
|
|
23
24
|
}
|
|
25
|
+
if (allowed.has("create_prep_brief")) {
|
|
26
|
+
server.tool("create_prep_brief", "Generate a standardized prep brief for a customer-lifecycle conversation. One tool, 7 conversation types covering the full deal cycle (account_research, discovery, use_case_validation, technical_validation, economic_buyer, executive_sponsor, renewal_expansion). Pulls from Account Master + Salesforce + Signal Scanner + web research; composes via Claude. Optional localContent for the rep's own notes/prep docs (paste content or use Read() in Claude Code). MEDDPICC-anchored for deal-stage briefs. See docs/plans/create-prep-brief.md.", {
|
|
27
|
+
accountDomain: z
|
|
28
|
+
.string()
|
|
29
|
+
.describe("Account domain, e.g. 'acme.com'."),
|
|
30
|
+
conversationType: z
|
|
31
|
+
.enum([
|
|
32
|
+
"account_research",
|
|
33
|
+
"discovery",
|
|
34
|
+
"use_case_validation",
|
|
35
|
+
"technical_validation",
|
|
36
|
+
"economic_buyer",
|
|
37
|
+
"executive_sponsor",
|
|
38
|
+
"renewal_expansion",
|
|
39
|
+
])
|
|
40
|
+
.describe("Which conversation the brief is for. Selects the template + data fetchers."),
|
|
41
|
+
meetingContext: z
|
|
42
|
+
.string()
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Optional one-line context about the meeting (e.g. 'Mike from IT, technical scoping')."),
|
|
45
|
+
localContent: z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Optional: rep's local notes / prep doc to include verbatim. Claude Code: Read the file then pass content. Desktop: paste/drag-drop."),
|
|
49
|
+
style: z
|
|
50
|
+
.enum(["concise", "standard", "detailed"])
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Output verbosity. concise ~400 words; standard ~900 (default); detailed ~1500."),
|
|
53
|
+
}, safeTool(async ({ accountDomain, conversationType, meetingContext, localContent, style }) => trpcMutation("mcp.createPrepBrief", {
|
|
54
|
+
accountDomain,
|
|
55
|
+
conversationType,
|
|
56
|
+
meetingContext,
|
|
57
|
+
localContent,
|
|
58
|
+
style: style ?? "standard",
|
|
59
|
+
})));
|
|
60
|
+
}
|
|
24
61
|
}
|