@clustr-ai/mcp-server 1.0.10 → 1.0.12

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 (66) hide show
  1. package/dist/client.d.ts +20 -14
  2. package/dist/client.js +150 -81
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.js +85 -34
  5. package/dist/index.js.map +1 -1
  6. package/package.json +4 -4
  7. package/dist/tools/create-icp.d.ts +0 -2
  8. package/dist/tools/create-icp.js +0 -26
  9. package/dist/tools/create-icp.js.map +0 -1
  10. package/dist/tools/create-target-accounts.d.ts +0 -2
  11. package/dist/tools/create-target-accounts.js +0 -27
  12. package/dist/tools/create-target-accounts.js.map +0 -1
  13. package/dist/tools/delete-icp.d.ts +0 -2
  14. package/dist/tools/delete-icp.js +0 -9
  15. package/dist/tools/delete-icp.js.map +0 -1
  16. package/dist/tools/delete-target-account.d.ts +0 -2
  17. package/dist/tools/delete-target-account.js +0 -12
  18. package/dist/tools/delete-target-account.js.map +0 -1
  19. package/dist/tools/get-job-status.d.ts +0 -2
  20. package/dist/tools/get-job-status.js +0 -10
  21. package/dist/tools/get-job-status.js.map +0 -1
  22. package/dist/tools/get-network-stats.d.ts +0 -2
  23. package/dist/tools/get-network-stats.js +0 -6
  24. package/dist/tools/get-network-stats.js.map +0 -1
  25. package/dist/tools/import-connectors.d.ts +0 -2
  26. package/dist/tools/import-connectors.js +0 -64
  27. package/dist/tools/import-connectors.js.map +0 -1
  28. package/dist/tools/list-connectors.d.ts +0 -2
  29. package/dist/tools/list-connectors.js +0 -14
  30. package/dist/tools/list-connectors.js.map +0 -1
  31. package/dist/tools/list-icps.d.ts +0 -2
  32. package/dist/tools/list-icps.js +0 -6
  33. package/dist/tools/list-icps.js.map +0 -1
  34. package/dist/tools/list-jobs.d.ts +0 -2
  35. package/dist/tools/list-jobs.js +0 -15
  36. package/dist/tools/list-jobs.js.map +0 -1
  37. package/dist/tools/list-opportunity-statuses.d.ts +0 -2
  38. package/dist/tools/list-opportunity-statuses.js +0 -7
  39. package/dist/tools/list-opportunity-statuses.js.map +0 -1
  40. package/dist/tools/list-target-accounts.d.ts +0 -2
  41. package/dist/tools/list-target-accounts.js +0 -12
  42. package/dist/tools/list-target-accounts.js.map +0 -1
  43. package/dist/tools/search-by-company.d.ts +0 -2
  44. package/dist/tools/search-by-company.js +0 -82
  45. package/dist/tools/search-by-company.js.map +0 -1
  46. package/dist/tools/search-by-connector.d.ts +0 -2
  47. package/dist/tools/search-by-connector.js +0 -56
  48. package/dist/tools/search-by-connector.js.map +0 -1
  49. package/dist/tools/search-companies.d.ts +0 -2
  50. package/dist/tools/search-companies.js +0 -13
  51. package/dist/tools/search-companies.js.map +0 -1
  52. package/dist/tools/search-opportunities.d.ts +0 -2
  53. package/dist/tools/search-opportunities.js +0 -70
  54. package/dist/tools/search-opportunities.js.map +0 -1
  55. package/dist/tools/start-abm-search.d.ts +0 -2
  56. package/dist/tools/start-abm-search.js +0 -30
  57. package/dist/tools/start-abm-search.js.map +0 -1
  58. package/dist/tools/update-icp.d.ts +0 -2
  59. package/dist/tools/update-icp.js +0 -29
  60. package/dist/tools/update-icp.js.map +0 -1
  61. package/dist/tools/update-opportunity.d.ts +0 -2
  62. package/dist/tools/update-opportunity.js +0 -19
  63. package/dist/tools/update-opportunity.js.map +0 -1
  64. package/dist/tools/whats-new.d.ts +0 -3
  65. package/dist/tools/whats-new.js +0 -67
  66. package/dist/tools/whats-new.js.map +0 -1
@@ -1,10 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- job_id: z.string().describe("The job ID (UUID) returned from import_connectors"),
5
- };
6
- export function registerGetJobStatus(server) {
7
- server.tool("get_job_status", "Get the status and progress of an import job. " +
8
- "Use the job_id returned from import_connectors to check if processing is complete.", inputSchema, wrapToolHandler((params) => get(`/jobs/${encodeURIComponent(String(params.job_id))}`)));
9
- }
10
- //# sourceMappingURL=get-job-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-job-status.js","sourceRoot":"","sources":["../../src/tools/get-job-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;CACjF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gDAAgD;QAC9C,oFAAoF,EACtF,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAC1D,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerGetNetworkStats(server: McpServer): void;
@@ -1,6 +0,0 @@
1
- import { get, wrapToolHandler } from "../client.js";
2
- export function registerGetNetworkStats(server) {
3
- server.tool("get_network_stats", "Get an overview of your Clustr network — total connectors, opportunities, " +
4
- "target accounts, confidence distribution, top companies, and recent import activity.", {}, wrapToolHandler(() => get("/network/stats")));
5
- }
6
- //# sourceMappingURL=get-network-stats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-network-stats.js","sourceRoot":"","sources":["../../src/tools/get-network-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,4EAA4E;QAC1E,sFAAsF,EACxF,EAAE,EACF,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAC7C,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerImportConnectors(server: McpServer): void;
@@ -1,64 +0,0 @@
1
- import { z } from "zod";
2
- import { post, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- connectors: z
5
- .array(z.object({
6
- linkedin_url: z.string().describe("LinkedIn profile URL"),
7
- record_id: z.string().optional().describe("Your CRM record ID"),
8
- owner_email: z.string().optional().describe("CRM owner email"),
9
- connector_tag: z
10
- .string()
11
- .optional()
12
- .describe('Tag for this connector (e.g. "Employee", "Friend")'),
13
- }))
14
- .optional()
15
- .describe("Connectors with metadata (1-50). Use this OR linkedin_urls."),
16
- linkedin_urls: z
17
- .array(z.string())
18
- .optional()
19
- .describe("Simple list of LinkedIn URLs (1-50). Use this OR connectors."),
20
- webhook_url: z.string().describe("URL to receive results when processing completes"),
21
- completion_email: z
22
- .string()
23
- .optional()
24
- .describe("Email to notify when processing completes"),
25
- max_opportunities: z
26
- .number()
27
- .optional()
28
- .describe("Max opportunities to return per connector"),
29
- full_history: z
30
- .boolean()
31
- .optional()
32
- .describe("Include full engagement history in webhook response"),
33
- custom: z
34
- .record(z.unknown())
35
- .optional()
36
- .describe("Custom data passed through to webhook response"),
37
- filters: z
38
- .object({
39
- confidence_score_ranges: z.array(z.string()).optional(),
40
- seniority_levels: z.array(z.string()).optional(),
41
- employee_ranges: z.array(z.string()).optional(),
42
- revenue_ranges: z.array(z.string()).optional(),
43
- prospect_job_titles: z.array(z.string()).optional(),
44
- industries: z.array(z.string()).optional(),
45
- countries: z.array(z.string()).optional(),
46
- })
47
- .optional()
48
- .describe("Filters to apply to discovered opportunities"),
49
- };
50
- const description = "Import LinkedIn connectors for referral opportunity discovery. " +
51
- "Processing is ASYNCHRONOUS — results are delivered via the webhook_url you provide, not in this response. " +
52
- "Provide connectors via 'connectors' array (with CRM metadata) or simpler 'linkedin_urls' array. Max 50 per request.";
53
- export function registerImportConnectors(server) {
54
- server.tool("import_connectors", description, inputSchema, wrapToolHandler((params) => post("/network/import/connectors", params)));
55
- }
56
- // There is deliberately no `import_contacts` alias. MCP callers are models
57
- // reading tools/list, so they pick up the new name on the next call rather
58
- // than holding a hardcoded reference — advertising both would just put two
59
- // tools that do the same thing in front of the model.
60
- //
61
- // This is an MCP-only decision. The REST endpoint keeps both its path
62
- // (/network/import/contacts) and its body field (`contacts`), because those
63
- // ARE called by pinned integration code.
64
- //# sourceMappingURL=import-connectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-connectors.js","sourceRoot":"","sources":["../../src/tools/import-connectors.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListConnectors(server: McpServer): void;
@@ -1,14 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- search: z.string().optional().describe("Search by connector name (partial match)"),
5
- connector_tag: z.string().optional().describe("Filter by connector tag name (e.g. Employee, Friend)"),
6
- page: z.number().optional().describe("Page number (default: 1)"),
7
- page_size: z.number().optional().describe("Results per page (default: 25, max: 100)"),
8
- };
9
- export function registerListConnectors(server) {
10
- server.tool("list_connectors", "List connectors (people) in your network with their opportunity counts. " +
11
- "Connectors are the people you've imported whose LinkedIn connections are analyzed for referral opportunities. " +
12
- "Call with no parameters to list all connectors.", inputSchema, wrapToolHandler((params) => get("/network/connectors", params)));
13
- }
14
- //# sourceMappingURL=list-connectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-connectors.js","sourceRoot":"","sources":["../../src/tools/list-connectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAClF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACrG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACtF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,0EAA0E;QACxE,gHAAgH;QAChH,iDAAiD,EACnD,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CAAC,qBAAqB,EAAE,MAA+D,CAAC,CAC5F,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListICPs(server: McpServer): void;
@@ -1,6 +0,0 @@
1
- import { get, wrapToolHandler } from "../client.js";
2
- export function registerListICPs(server) {
3
- server.tool("list_icps", "List all Ideal Customer Profiles (ICPs) for your tenant. " +
4
- "ICPs define target company characteristics — industries, revenue ranges, employee counts, and countries.", {}, wrapToolHandler(() => get("/company-icp")));
5
- }
6
- //# sourceMappingURL=list-icps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-icps.js","sourceRoot":"","sources":["../../src/tools/list-icps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,IAAI,CACT,WAAW,EACX,2DAA2D;QACzD,0GAA0G,EAC5G,EAAE,EACF,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAC3C,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListJobs(server: McpServer): void;
@@ -1,15 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- status: z
5
- .string()
6
- .optional()
7
- .describe("Filter by status: PROCESSING, COMPLETED, FAILED (comma-separated for multiple)"),
8
- limit: z.number().optional().describe("Max results to return (default: 100, max: 1000)"),
9
- offset: z.number().optional().describe("Offset for pagination (default: 0)"),
10
- };
11
- export function registerListJobs(server) {
12
- server.tool("list_jobs", "List import jobs with optional status filter. " +
13
- "Returns job IDs, statuses, and progress for all imports.", inputSchema, wrapToolHandler((params) => get("/jobs", params)));
14
- }
15
- //# sourceMappingURL=list-jobs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-jobs.js","sourceRoot":"","sources":["../../src/tools/list-jobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,IAAI,CACT,WAAW,EACX,gDAAgD;QAC9C,0DAA0D,EAC5D,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CAAC,OAAO,EAAE,MAA+D,CAAC,CAC9E,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListOpportunityStatuses(server: McpServer): void;
@@ -1,7 +0,0 @@
1
- import { get, wrapToolHandler } from "../client.js";
2
- export function registerListOpportunityStatuses(server) {
3
- server.tool("list_opportunity_statuses", "List all available opportunity statuses for your tenant. " +
4
- "Returns status IDs, names, colors, and whether each status is terminal. " +
5
- "Use the returned status IDs with update_opportunity.", {}, wrapToolHandler(() => get("/opportunity-statuses")));
6
- }
7
- //# sourceMappingURL=list-opportunity-statuses.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-opportunity-statuses.js","sourceRoot":"","sources":["../../src/tools/list-opportunity-statuses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAAC,MAAiB;IAC/D,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,2DAA2D;QACzD,0EAA0E;QAC1E,sDAAsD,EACxD,EAAE,EACF,eAAe,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CACpD,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerListTargetAccounts(server: McpServer): void;
@@ -1,12 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- id: z.string().optional().describe("Target account ID (returns single account)"),
5
- search: z.string().optional().describe("Search by account name (partial match)"),
6
- linkedin_url: z.string().optional().describe("Search by LinkedIn URL"),
7
- };
8
- export function registerListTargetAccounts(server) {
9
- server.tool("list_target_accounts", "List all target accounts, or search by ID, name, or LinkedIn URL. " +
10
- "Call with no parameters to list all accounts.", inputSchema, wrapToolHandler((params) => get("/target-accounts", params)));
11
- }
12
- //# sourceMappingURL=list-target-accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-target-accounts.js","sourceRoot":"","sources":["../../src/tools/list-target-accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAChF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACvE,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,oEAAoE;QAClE,+CAA+C,EACjD,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CAAC,kBAAkB,EAAE,MAA4C,CAAC,CACtE,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSearchByCompany(server: McpServer): void;
@@ -1,82 +0,0 @@
1
- // LEGACY: Superseded by search-opportunities.ts which consolidates all search functionality.
2
- // Kept for backwards compatibility — existing tenants may have automations using this tool name.
3
- // Do not register in index.ts; the API route still works for direct REST callers.
4
- import { z } from "zod";
5
- import { get, wrapToolHandler } from "../client.js";
6
- const inputSchema = {
7
- // Company identifiers
8
- linkedin_urls: z.string().optional().describe("Comma-separated company LinkedIn URLs"),
9
- numeric_ids: z.string().optional().describe("Comma-separated LinkedIn numeric IDs"),
10
- domains: z.string().optional().describe("Comma-separated company domains"),
11
- vanity_names: z.string().optional().describe("Comma-separated LinkedIn vanity names"),
12
- // Filters
13
- seniority_levels: z
14
- .string()
15
- .optional()
16
- .describe("Comma-separated seniority levels: high, mid, low"),
17
- industries: z.string().optional().describe("Comma-separated industries"),
18
- employee_ranges: z
19
- .string()
20
- .optional()
21
- .describe("Comma-separated employee count ranges (e.g. 51-200,501-1000)"),
22
- revenue_ranges: z.string().optional().describe("Comma-separated revenue ranges"),
23
- countries: z.string().optional().describe("Comma-separated countries"),
24
- confidence_ranges: z
25
- .string()
26
- .optional()
27
- .describe("Comma-separated confidence score ranges (e.g. 80-100,60-79)"),
28
- // Client/prospect filters
29
- client_names: z.string().optional().describe("Comma-separated client names"),
30
- client_linkedin_urls: z.string().optional().describe("Comma-separated client LinkedIn URLs"),
31
- client_public_identifiers: z
32
- .string()
33
- .optional()
34
- .describe("Comma-separated client LinkedIn public identifiers"),
35
- client_companies: z.string().optional().describe("Comma-separated client company names"),
36
- prospect_names: z.string().optional().describe("Comma-separated prospect names"),
37
- prospect_linkedin_urls: z
38
- .string()
39
- .optional()
40
- .describe("Comma-separated prospect LinkedIn URLs"),
41
- prospect_positions: z
42
- .string()
43
- .optional()
44
- .describe("Comma-separated prospect job titles"),
45
- prospect_companies: z
46
- .string()
47
- .optional()
48
- .describe("Comma-separated prospect company names"),
49
- owners: z.string().optional().describe("Comma-separated owner emails"),
50
- statuses: z.string().optional().describe("Comma-separated opportunity statuses"),
51
- engagement_types: z.string().optional().describe("Comma-separated engagement types"),
52
- crm_statuses: z.string().optional().describe("Comma-separated CRM statuses"),
53
- // Date filters
54
- created_after: z.string().optional().describe("Filter opportunities created after this date (YYYY-MM-DD)"),
55
- created_before: z
56
- .string()
57
- .optional()
58
- .describe("Filter opportunities created before this date (YYYY-MM-DD)"),
59
- // Boolean filters
60
- exclude_client_companies: z
61
- .boolean()
62
- .optional()
63
- .describe("Exclude prospects at the same company as the client"),
64
- include_unengaged: z
65
- .boolean()
66
- .optional()
67
- .describe("Include opportunities with no engagement"),
68
- full_history: z.boolean().optional().describe("Include full engagement history"),
69
- force_refresh: z.boolean().optional().describe("Bypass cache and fetch fresh results"),
70
- // Other
71
- job_id: z.string().optional().describe("Filter by import job ID"),
72
- page: z.number().optional().describe("Page number (default: 1)"),
73
- page_size: z.number().optional().describe("Results per page (default: 25)"),
74
- sort_field: z.string().optional().describe("Field to sort by"),
75
- sort_direction: z.enum(["asc", "desc"]).optional().describe("Sort direction"),
76
- };
77
- export function registerSearchByCompany(server) {
78
- server.tool("search_opportunities_by_company", "Search referral opportunities filtered by company identifiers (LinkedIn URL, domain, numeric ID) and other criteria. " +
79
- "Returns paginated results grouped by client with their opportunities. " +
80
- "Provide at least one company identifier (linkedin_urls, domains, numeric_ids, or vanity_names).", inputSchema, wrapToolHandler((params) => get("/network/search/opportunities/by-company", params)));
81
- }
82
- //# sourceMappingURL=search-by-company.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-by-company.js","sourceRoot":"","sources":["../../src/tools/search-by-company.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSearchByConnector(server: McpServer): void;
@@ -1,56 +0,0 @@
1
- // LEGACY: Superseded by search-opportunities.ts which consolidates all search functionality.
2
- // Kept for backwards compatibility — existing tenants may have automations using this tool name.
3
- // Do not register in index.ts; the API route still works for direct REST callers.
4
- //
5
- // NOTE ON NAMING: this matches the CONNECTOR side of an opportunity — the
6
- // person in your network — not the prospect. Looking up someone who only
7
- // appears as a prospect returns 0 results, by design. To find who can
8
- // introduce you to a given person, filter by prospect_linkedin_urls on
9
- // search_opportunities instead.
10
- import { z } from "zod";
11
- import { get, wrapToolHandler } from "../client.js";
12
- const inputSchema = {
13
- linkedin_public_id: z
14
- .string()
15
- .optional()
16
- .describe("LinkedIn public identifier (e.g. john-doe). Provide this OR linkedin_url."),
17
- linkedin_url: z
18
- .string()
19
- .optional()
20
- .describe("Full LinkedIn URL (e.g. https://www.linkedin.com/in/john-doe). Provide this OR linkedin_public_id."),
21
- full_history: z.boolean().optional().describe("Include full engagement history"),
22
- seniority_levels: z
23
- .string()
24
- .optional()
25
- .describe("Comma-separated seniority levels: high, mid, low"),
26
- industries: z.string().optional().describe("Comma-separated industries"),
27
- employee_ranges: z
28
- .string()
29
- .optional()
30
- .describe("Comma-separated employee count ranges"),
31
- revenue_ranges: z.string().optional().describe("Comma-separated revenue ranges"),
32
- countries: z.string().optional().describe("Comma-separated countries"),
33
- confidence_ranges: z
34
- .string()
35
- .optional()
36
- .describe("Comma-separated confidence score ranges"),
37
- page: z.number().optional().describe("Page number (default: 1)"),
38
- page_size: z.number().optional().describe("Results per page (default: 25)"),
39
- sort_field: z.string().optional().describe("Field to sort by"),
40
- sort_direction: z.enum(["asc", "desc"]).optional().describe("Sort direction"),
41
- };
42
- const description = "Get referral opportunities for a specific connector — a person in your network. " +
43
- "Provide exactly one of linkedin_public_id OR linkedin_url to identify the connector. " +
44
- "This matches the connector side only: a person who appears solely as a prospect returns 0 results.";
45
- export function registerSearchByConnector(server) {
46
- server.tool("search_opportunities_by_connector", description, inputSchema, wrapToolHandler((params) => get("/network/search/opportunities/by-connector", params)));
47
- }
48
- // There is deliberately no `search_opportunities_by_contact` alias here — the
49
- // same call made for `import_contacts`. MCP callers are models reading
50
- // tools/list, so they pick up the new name rather than holding a hardcoded
51
- // reference, and carrying deprecated duplicates would just put two tools that
52
- // do the same thing in front of the model.
53
- //
54
- // This one is doubly moot: the old name was never registered in index.ts nor
55
- // dispatched by the gateway's MCP handler, so no caller could exist anyway.
56
- //# sourceMappingURL=search-by-connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-by-connector.js","sourceRoot":"","sources":["../../src/tools/search-by-connector.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,iGAAiG;AACjG,kFAAkF;AAClF,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,uEAAuE;AACvE,gCAAgC;AAGhC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;IACxF,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oGAAoG,CACrG;IACH,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAChF,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxE,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAChE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC9D,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CAC9E,CAAC;AAEF,MAAM,WAAW,GACf,kFAAkF;IAClF,uFAAuF;IACvF,oGAAoG,CAAC;AAEvG,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,IAAI,CACT,mCAAmC,EACnC,WAAW,EACX,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CACD,4CAA4C,EAC5C,MAA+D,CAChE,CACF,CACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,4EAA4E"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSearchCompanies(server: McpServer): void;
@@ -1,13 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- search: z.string().optional().describe("Search by company name (partial match)"),
5
- domain: z.string().optional().describe("Lookup by company domain (e.g. acme.com)"),
6
- linkedin_url: z.string().optional().describe("Lookup by company LinkedIn URL"),
7
- page_size: z.number().optional().describe("Results per page (default: 25, max: 100)"),
8
- };
9
- export function registerSearchCompanies(server) {
10
- server.tool("search_companies", "Search or lookup companies in your network by name, domain, or LinkedIn URL. " +
11
- "Provide at least one of search, domain, or linkedin_url.", inputSchema, wrapToolHandler((params) => get("/companies", params)));
12
- }
13
- //# sourceMappingURL=search-companies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-companies.js","sourceRoot":"","sources":["../../src/tools/search-companies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAChF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAClF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACtF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,+EAA+E;QAC7E,0DAA0D,EAC5D,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CACzB,GAAG,CAAC,YAAY,EAAE,MAA+D,CAAC,CACnF,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerSearchOpportunities(server: McpServer): void;
@@ -1,70 +0,0 @@
1
- import { z } from "zod";
2
- import { get, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- // Connector lookup — when provided, searches opportunities for a specific
5
- // connector (uses the /by-connector endpoint under the hood)
6
- linkedin_public_id: z
7
- .string()
8
- .optional()
9
- .describe("LinkedIn public identifier of a specific CONNECTOR — a person in your network (e.g. john-doe). " +
10
- "When provided, returns the opportunities that connector can introduce you to. " +
11
- "This does NOT match prospects: to find who can introduce you to a given person, " +
12
- "use prospect_linkedin_urls instead."),
13
- // Company identifiers — filter by company
14
- linkedin_urls: z.string().optional().describe("Comma-separated company LinkedIn URLs"),
15
- numeric_ids: z.string().optional().describe("Comma-separated LinkedIn numeric IDs"),
16
- domains: z.string().optional().describe("Comma-separated company domains (e.g. acme.com,stripe.com)"),
17
- vanity_names: z.string().optional().describe("Comma-separated LinkedIn vanity names"),
18
- // Prospect/client filters
19
- seniority_levels: z.string().optional().describe("Comma-separated seniority levels: high, mid, low"),
20
- industries: z.string().optional().describe("Comma-separated industries"),
21
- employee_ranges: z.string().optional().describe("Comma-separated employee count ranges (e.g. 51-200,501-1000)"),
22
- revenue_ranges: z.string().optional().describe("Comma-separated revenue ranges"),
23
- countries: z.string().optional().describe("Comma-separated countries"),
24
- confidence_ranges: z
25
- .string()
26
- .optional()
27
- .describe("Comma-separated confidence score ranges (e.g. 80-100,60-79)"),
28
- client_names: z.string().optional().describe("Comma-separated client (connector) names"),
29
- client_linkedin_urls: z.string().optional().describe("Comma-separated client LinkedIn URLs"),
30
- client_public_identifiers: z.string().optional().describe("Comma-separated client LinkedIn public identifiers"),
31
- client_companies: z.string().optional().describe("Comma-separated client company names"),
32
- prospect_names: z.string().optional().describe("Comma-separated prospect names"),
33
- prospect_linkedin_urls: z.string().optional().describe("Comma-separated prospect LinkedIn URLs"),
34
- prospect_positions: z.string().optional().describe("Comma-separated prospect job titles"),
35
- prospect_companies: z.string().optional().describe("Comma-separated prospect company names"),
36
- owners: z.string().optional().describe("Comma-separated owner emails"),
37
- statuses: z.string().optional().describe("Comma-separated opportunity statuses"),
38
- engagement_types: z.string().optional().describe("Comma-separated engagement types"),
39
- crm_statuses: z.string().optional().describe("Comma-separated CRM statuses"),
40
- // Date filters
41
- created_after: z.string().optional().describe("Filter opportunities created after this date (YYYY-MM-DD)"),
42
- created_before: z.string().optional().describe("Filter opportunities created before this date (YYYY-MM-DD)"),
43
- // Boolean filters
44
- exclude_client_companies: z.boolean().optional().describe("Exclude prospects at the same company as the client"),
45
- include_unengaged: z.boolean().optional().describe("Include opportunities with no engagement"),
46
- full_history: z.boolean().optional().describe("Include full engagement history"),
47
- force_refresh: z.boolean().optional().describe("Bypass cache and fetch fresh results"),
48
- // Other
49
- job_id: z.string().optional().describe("Filter by import job ID"),
50
- page: z.number().optional().describe("Page number (default: 1)"),
51
- page_size: z.number().optional().describe("Results per page (default: 25)"),
52
- sort_field: z.string().optional().describe("Field to sort by"),
53
- sort_direction: z.enum(["asc", "desc"]).optional().describe("Sort direction"),
54
- };
55
- export function registerSearchOpportunities(server) {
56
- server.tool("search_opportunities", "Search referral opportunities across your network. All filters are optional. " +
57
- "Use linkedin_public_id to get opportunities for a specific connector (a person in your network). " +
58
- "Use prospect_linkedin_urls to find who can introduce you to a specific person. " +
59
- "Use domains, linkedin_urls, or vanity_names to filter by company. " +
60
- "Use with no filters to see your full opportunity list.", inputSchema, wrapToolHandler((params) => {
61
- const p = params;
62
- // Route to /by-connector when searching for a specific connector
63
- if (p.linkedin_public_id) {
64
- return get("/network/search/opportunities/by-connector", p);
65
- }
66
- // Otherwise use the general search endpoint
67
- return get("/network/search/opportunities/by-company", p);
68
- }));
69
- }
70
- //# sourceMappingURL=search-opportunities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-opportunities.js","sourceRoot":"","sources":["../../src/tools/search-opportunities.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerStartABMSearch(server: McpServer): void;
@@ -1,30 +0,0 @@
1
- import { z } from "zod";
2
- import { get, post, wrapToolHandler } from "../client.js";
3
- const startSchema = {
4
- company_name: z.string().describe("Name of the target company"),
5
- company_linkedin_url: z
6
- .string()
7
- .describe("LinkedIn company page URL (must contain /company/)"),
8
- countries: z
9
- .array(z.string())
10
- .optional()
11
- .describe('Filter buyers by country (e.g. ["United States", "United Kingdom"])'),
12
- completion_email: z
13
- .string()
14
- .optional()
15
- .describe("Email to notify when the report is ready"),
16
- };
17
- const getLinkSchema = {
18
- company_linkedin_url: z
19
- .string()
20
- .describe("LinkedIn company page URL of the existing ABM search"),
21
- };
22
- export function registerStartABMSearch(server) {
23
- server.tool("start_abm_search", "Start an Account-Based Marketing (ABM) search for a target company. " +
24
- "Returns a magic_link immediately — the link shows a processing page while the pipeline runs " +
25
- "(typically 2-5 minutes) and auto-resolves to the full report when done. " +
26
- "The magic link is deterministic: repeated calls for the same company return the same URL.", startSchema, wrapToolHandler((params) => post("/abm-search", params)));
27
- server.tool("get_abm_search_link", "Retrieve the magic link for an existing ABM search without starting a new job. " +
28
- "Use this when you want to share or re-fetch the link for a search that was already run.", getLinkSchema, wrapToolHandler(({ company_linkedin_url }) => get(`/abm-search?company_linkedin_url=${encodeURIComponent(company_linkedin_url)}`)));
29
- }
30
- //# sourceMappingURL=start-abm-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-abm-search.js","sourceRoot":"","sources":["../../src/tools/start-abm-search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,WAAW,GAAG;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC/D,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,QAAQ,CAAC,oDAAoD,CAAC;IACjE,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;CACxD,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,sEAAsE;QACpE,8FAA8F;QAC9F,0EAA0E;QAC1E,2FAA2F,EAC7F,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CACzD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,iFAAiF;QAC/E,yFAAyF,EAC3F,aAAa,EACb,eAAe,CAAC,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAC3C,GAAG,CAAC,oCAAoC,kBAAkB,CAAC,oBAA8B,CAAC,EAAE,CAAC,CAC9F,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerUpdateICP(server: McpServer): void;
@@ -1,29 +0,0 @@
1
- import { z } from "zod";
2
- import { put, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- id: z.string().describe("ICP ID to update"),
5
- title: z.string().optional().describe("Updated ICP name"),
6
- linkedin_industries: z
7
- .array(z.string())
8
- .optional()
9
- .describe("Updated target industries"),
10
- revenue: z
11
- .array(z.string())
12
- .optional()
13
- .describe("Updated target revenue ranges"),
14
- employees: z
15
- .array(z.string())
16
- .optional()
17
- .describe("Updated target employee count ranges"),
18
- countries: z
19
- .array(z.string())
20
- .optional()
21
- .describe("Updated target countries"),
22
- };
23
- export function registerUpdateICP(server) {
24
- server.tool("update_icp", "Update an existing Ideal Customer Profile (ICP).", inputSchema, wrapToolHandler((params) => {
25
- const { id, ...body } = params;
26
- return put(`/company-icp/${encodeURIComponent(String(id))}`, body);
27
- }));
28
- }
29
- //# sourceMappingURL=update-icp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-icp.js","sourceRoot":"","sources":["../../src/tools/update-icp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACzD,mBAAmB,EAAE,CAAC;SACnB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,2BAA2B,CAAC;IACxC,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,0BAA0B,CAAC;CACxC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,kDAAkD,EAClD,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC/B,OAAO,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerUpdateOpportunity(server: McpServer): void;
@@ -1,19 +0,0 @@
1
- import { z } from "zod";
2
- import { put, wrapToolHandler } from "../client.js";
3
- const inputSchema = {
4
- opportunity_id: z.string().describe("The opportunity ID (from search results)"),
5
- status_id: z
6
- .string()
7
- .optional()
8
- .describe("New status UUID — use list_opportunity_statuses to get available status IDs"),
9
- notes: z.string().optional().describe("Notes about the opportunity"),
10
- };
11
- export function registerUpdateOpportunity(server) {
12
- server.tool("update_opportunity", "Update an opportunity's status or notes. " +
13
- "Use the opportunity_id from search results. " +
14
- "Use list_opportunity_statuses to see available statuses for your tenant.", inputSchema, wrapToolHandler((params) => {
15
- const { opportunity_id, ...body } = params;
16
- return put(`/opportunities/${encodeURIComponent(String(opportunity_id))}`, body);
17
- }));
18
- }
19
- //# sourceMappingURL=update-opportunity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-opportunity.js","sourceRoot":"","sources":["../../src/tools/update-opportunity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,GAAG;IAClB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC/E,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACrE,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,2CAA2C;QACzC,8CAA8C;QAC9C,0EAA0E,EAC5E,WAAW,EACX,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC3C,OAAO,GAAG,CAAC,kBAAkB,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare const CURRENT_VERSION: string;
3
- export declare function registerWhatsNew(server: McpServer): void;