@linkedapi/mcp 2.1.2 → 2.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"linked-api-tools.d.ts","sourceRoot":"","sources":["../src/linked-api-tools.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAgD1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,EAAE;QACf,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C;AAED,qBAAa,cAAc;IACzB,SAAgB,KAAK,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC/D,SAAgB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;;IA2DhE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAI9D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;CAG9E"}
1
+ {"version":3,"file":"linked-api-tools.d.ts","sourceRoot":"","sources":["../src/linked-api-tools.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmD1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,EAAE;QACf,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C;AAED,qBAAa,cAAc;IACzB,SAAgB,KAAK,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC/D,SAAgB,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;;IA8DhE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAI9D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;CAG9E"}
@@ -28,6 +28,7 @@ const fetch_person_js_1 = require("./tools/fetch-person.js");
28
28
  const fetch_post_js_1 = require("./tools/fetch-post.js");
29
29
  const get_api_usage_stats_js_1 = require("./tools/get-api-usage-stats.js");
30
30
  const get_conversation_js_1 = require("./tools/get-conversation.js");
31
+ const get_inbox_js_1 = require("./tools/get-inbox.js");
31
32
  const get_workflow_result_js_1 = require("./tools/get-workflow-result.js");
32
33
  const nv_fetch_company_js_1 = require("./tools/nv-fetch-company.js");
33
34
  const nv_fetch_person_js_1 = require("./tools/nv-fetch-person.js");
@@ -35,6 +36,7 @@ const nv_get_conversation_js_1 = require("./tools/nv-get-conversation.js");
35
36
  const nv_search_companies_js_1 = require("./tools/nv-search-companies.js");
36
37
  const nv_search_people_js_1 = require("./tools/nv-search-people.js");
37
38
  const nv_send_message_js_1 = require("./tools/nv-send-message.js");
39
+ const nv_sync_inbox_js_1 = require("./tools/nv-sync-inbox.js");
38
40
  const react_to_post_js_1 = require("./tools/react-to-post.js");
39
41
  const remove_connection_js_1 = require("./tools/remove-connection.js");
40
42
  const retrieve_connections_js_1 = require("./tools/retrieve-connections.js");
@@ -46,6 +48,7 @@ const search_jobs_js_1 = require("./tools/search-jobs.js");
46
48
  const search_people_js_1 = require("./tools/search-people.js");
47
49
  const send_connection_request_js_1 = require("./tools/send-connection-request.js");
48
50
  const send_message_js_1 = require("./tools/send-message.js");
51
+ const sync_inbox_js_1 = require("./tools/sync-inbox.js");
49
52
  const withdraw_connection_request_js_1 = require("./tools/withdraw-connection-request.js");
50
53
  class LinkedApiTools {
51
54
  tools;
@@ -55,6 +58,8 @@ class LinkedApiTools {
55
58
  // Standard tools
56
59
  new send_message_js_1.SendMessageTool(),
57
60
  new get_conversation_js_1.GetConversationTool(),
61
+ new sync_inbox_js_1.SyncInboxTool(),
62
+ new get_inbox_js_1.GetInboxTool(),
58
63
  new check_connection_status_js_1.CheckConnectionStatusTool(),
59
64
  new retrieve_connections_js_1.RetrieveConnectionsTool(),
60
65
  new send_connection_request_js_1.SendConnectionRequestTool(),
@@ -76,6 +81,7 @@ class LinkedApiTools {
76
81
  // Sales Navigator tools
77
82
  new nv_send_message_js_1.NvSendMessageTool(),
78
83
  new nv_get_conversation_js_1.NvGetConversationTool(),
84
+ new nv_sync_inbox_js_1.NvSyncInboxTool(),
79
85
  new nv_search_companies_js_1.NvSearchCompaniesTool(),
80
86
  new nv_search_people_js_1.NvSearchPeopleTool(),
81
87
  new nv_fetch_company_js_1.NvFetchCompanyTool(),
@@ -1 +1 @@
1
- {"version":3,"file":"linked-api-tools.js","sourceRoot":"","sources":["../src/linked-api-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linked-api-tools.js","sourceRoot":"","sources":["../src/linked-api-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import LinkedApi, { TInboxPollRequest, TInboxPollResult, TMappedResponse } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import z from 'zod';
4
+ import { LinkedApiTool } from '../utils/linked-api-tool.js';
5
+ export declare class GetInboxTool extends LinkedApiTool<TInboxPollRequest, TInboxPollResult> {
6
+ readonly name = "get_inbox";
7
+ protected readonly schema: z.ZodObject<{
8
+ since: z.ZodOptional<z.ZodString>;
9
+ type: z.ZodOptional<z.ZodEnum<{
10
+ st: "st";
11
+ nv: "nv";
12
+ }>>;
13
+ threadId: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>;
15
+ execute({ linkedapi, args: { since, type, threadId }, }: {
16
+ linkedapi: LinkedApi;
17
+ args: TInboxPollRequest;
18
+ }): Promise<TMappedResponse<TInboxPollResult>>;
19
+ getTool(): Tool;
20
+ }
21
+ //# sourceMappingURL=get-inbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-inbox.d.ts","sourceRoot":"","sources":["../../src/tools/get-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,YAAa,SAAQ,aAAa,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAClF,SAAgB,IAAI,eAAe;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;sBAItB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAChC,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,iBAAiB,CAAC;KACzB,GAAG,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAQ9B,OAAO,IAAI,IAAI;CA6BhC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GetInboxTool = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
9
+ class GetInboxTool extends linked_api_tool_js_1.LinkedApiTool {
10
+ name = 'get_inbox';
11
+ schema = zod_1.default.object({
12
+ since: zod_1.default.string().optional(),
13
+ type: zod_1.default.enum(['st', 'nv']).optional(),
14
+ threadId: zod_1.default.string().optional(),
15
+ });
16
+ async execute({ linkedapi, args: { since, type, threadId }, }) {
17
+ return linkedapi.pollInbox({
18
+ since,
19
+ type,
20
+ threadId,
21
+ });
22
+ }
23
+ getTool() {
24
+ return {
25
+ name: this.name,
26
+ description: 'Get messages from the monitored inbox across all conversations (standard and Sales Navigator), newest first. Requires inbox monitoring to be enabled once with sync_inbox (or nv_sync_inbox for Sales Navigator).',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ since: {
31
+ type: 'string',
32
+ description: "Optional ISO 8601 timestamp to only retrieve messages after this date (e.g., '2024-01-15T10:30:00Z'). If not provided, all captured messages are returned.",
33
+ },
34
+ type: {
35
+ type: 'string',
36
+ enum: ['st', 'nv'],
37
+ description: 'Optional inbox type filter: "st" for standard messages, "nv" for Sales Navigator messages. If omitted, both are returned.',
38
+ },
39
+ threadId: {
40
+ type: 'string',
41
+ description: 'Optional conversation thread identifier to restrict the result to a single thread.',
42
+ },
43
+ },
44
+ required: [],
45
+ },
46
+ };
47
+ }
48
+ }
49
+ exports.GetInboxTool = GetInboxTool;
50
+ //# sourceMappingURL=get-inbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-inbox.js","sourceRoot":"","sources":["../../src/tools/get-inbox.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,oEAA4D;AAE5D,MAAa,YAAa,SAAQ,kCAAkD;IAClE,IAAI,GAAG,WAAW,CAAC;IAChB,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAIhC;QACC,OAAO,SAAS,CAAC,SAAS,CAAC;YACzB,KAAK;YACL,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,mNAAmN;YACrN,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,4JAA4J;qBAC/J;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;wBAClB,WAAW,EACT,2HAA2H;qBAC9H;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oFAAoF;qBACvF;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAnDD,oCAmDC"}
@@ -16,6 +16,7 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
16
16
  customWorkflow: "customWorkflow";
17
17
  sendMessage: "sendMessage";
18
18
  syncConversation: "syncConversation";
19
+ syncInbox: "syncInbox";
19
20
  checkConnectionStatus: "checkConnectionStatus";
20
21
  sendConnectionRequest: "sendConnectionRequest";
21
22
  withdrawConnectionRequest: "withdrawConnectionRequest";
@@ -36,6 +37,7 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
36
37
  retrievePerformance: "retrievePerformance";
37
38
  nvSendMessage: "nvSendMessage";
38
39
  nvSyncConversation: "nvSyncConversation";
40
+ nvSyncInbox: "nvSyncInbox";
39
41
  nvSearchCompanies: "nvSearchCompanies";
40
42
  nvSearchPeople: "nvSearchPeople";
41
43
  nvFetchCompany: "nvFetchCompany";
@@ -1 +1 @@
1
- {"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAGhB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAItB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAChD,SAAS,GACV,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAwB,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IA4BpC,OAAO,IAAI,IAAI;CA2BhC"}
1
+ {"version":3,"file":"get-workflow-result.d.ts","sourceRoot":"","sources":["../../src/tools/get-workflow-result.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAGhB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,wBAAwB,EAAE,OAAO,CAAC;IACzF,SAAgB,IAAI,yBAAyB;IAC7C,SAAS,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAItB;IAEmB,OAAO,CAAC,EAC5B,SAAS,EACT,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,EAChD,SAAS,GACV,EAAE;QACD,SAAS,EAAE,SAAS,CAAC;QACrB,IAAI,EAAE,wBAAwB,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IA4BpC,OAAO,IAAI,IAAI;CA2BhC"}
@@ -6,9 +6,10 @@ export declare class NvSendMessageTool extends OperationTool<TNvSendMessageParam
6
6
  readonly name = "nv_send_message";
7
7
  readonly operationName: "nvSendMessage";
8
8
  protected readonly schema: z.ZodObject<{
9
- personUrl: z.ZodString;
9
+ personUrl: z.ZodOptional<z.ZodString>;
10
10
  text: z.ZodString;
11
11
  subject: z.ZodOptional<z.ZodString>;
12
+ threadId: z.ZodOptional<z.ZodString>;
12
13
  }, z.core.$strip>;
13
14
  getTool(): Tool;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-send-message.d.ts","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjF,SAAyB,IAAI,qBAAqB;IAClD,SAAyB,aAAa,kBAAgC;IACtE,mBAA4B,MAAM;;;;sBAI/B;IAEa,OAAO,IAAI,IAAI;CA0BhC"}
1
+ {"version":3,"file":"nv-send-message.d.ts","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjF,SAAyB,IAAI,qBAAqB;IAClD,SAAyB,aAAa,kBAAgC;IACtE,mBAA4B,MAAM;;;;;sBAK/B;IAEa,OAAO,IAAI,IAAI;CAgChC"}
@@ -8,20 +8,21 @@ class NvSendMessageTool extends linked_api_tool_js_1.OperationTool {
8
8
  name = 'nv_send_message';
9
9
  operationName = node_1.OPERATION_NAME.nvSendMessage;
10
10
  schema = zod_1.z.object({
11
- personUrl: zod_1.z.string(),
11
+ personUrl: zod_1.z.string().optional(),
12
12
  text: zod_1.z.string().min(1),
13
13
  subject: zod_1.z.string().optional(),
14
+ threadId: zod_1.z.string().optional(),
14
15
  });
15
16
  getTool() {
16
17
  return {
17
18
  name: this.name,
18
- description: 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate Sales Navigator messages to the same person.',
19
+ description: 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). If this workflow is still running, do not retry this tool; retrying can send duplicate Sales Navigator messages to the same person.',
19
20
  inputSchema: {
20
21
  type: 'object',
21
22
  properties: {
22
23
  personUrl: {
23
24
  type: 'string',
24
- description: "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')",
25
+ description: "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe'). Optional if threadId is provided.",
25
26
  },
26
27
  text: {
27
28
  type: 'string',
@@ -29,10 +30,14 @@ class NvSendMessageTool extends linked_api_tool_js_1.OperationTool {
29
30
  },
30
31
  subject: {
31
32
  type: 'string',
32
- description: 'Subject line, must be up to 80 characters.',
33
+ description: 'Subject line, must be up to 80 characters. Required when starting a new conversation; ignored when replying into an existing thread via threadId.',
34
+ },
35
+ threadId: {
36
+ type: 'string',
37
+ description: 'Optional conversation thread identifier to reply into, as returned by get_inbox. Provide this instead of personUrl to reply directly into a known thread.',
33
38
  },
34
39
  },
35
- required: ['personUrl', 'text', 'subject'],
40
+ required: ['text'],
36
41
  },
37
42
  };
38
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-send-message.js","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAEvE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,iBAAkB,SAAQ,kCAA4C;IACxD,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,GAAG,qBAAc,CAAC,aAAa,CAAC;IAC1C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0NAA0N;YAC5N,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;CACF;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"nv-send-message.js","sourceRoot":"","sources":["../../src/tools/nv-send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAuE;AAEvE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,iBAAkB,SAAQ,kCAA4C;IACxD,IAAI,GAAG,iBAAiB,CAAC;IACzB,aAAa,GAAG,qBAAc,CAAC,aAAa,CAAC;IAC1C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,6UAA6U;YAC/U,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,4IAA4I;qBAC/I;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mJAAmJ;qBACtJ;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,2JAA2J;qBAC9J;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF,CAAC;IACJ,CAAC;CACF;AA1CD,8CA0CC"}
@@ -0,0 +1,11 @@
1
+ import { TNvSyncInboxParams } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ import { OperationTool } from '../utils/linked-api-tool.js';
5
+ export declare class NvSyncInboxTool extends OperationTool<TNvSyncInboxParams, unknown> {
6
+ readonly name = "nv_sync_inbox";
7
+ readonly operationName: "nvSyncInbox";
8
+ protected readonly schema: z.ZodObject<{}, z.core.$strip>;
9
+ getTool(): Tool;
10
+ }
11
+ //# sourceMappingURL=nv-sync-inbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-sync-inbox.d.ts","sourceRoot":"","sources":["../../src/tools/nv-sync-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7E,SAAyB,IAAI,mBAAmB;IAChD,SAAyB,aAAa,gBAA8B;IACpE,mBAA4B,MAAM,iCAAgB;IAElC,OAAO,IAAI,IAAI;CAYhC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NvSyncInboxTool = void 0;
4
+ const node_1 = require("@linkedapi/node");
5
+ const zod_1 = require("zod");
6
+ const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
7
+ class NvSyncInboxTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'nv_sync_inbox';
9
+ operationName = node_1.OPERATION_NAME.nvSyncInbox;
10
+ schema = zod_1.z.object({});
11
+ getTool() {
12
+ return {
13
+ name: this.name,
14
+ description: 'Enable whole-inbox monitoring in Sales Navigator so every incoming conversation can be polled with get_inbox (nv.syncInbox action). Run once per account; only messages that arrive after it is enabled are captured.',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {},
18
+ required: [],
19
+ },
20
+ };
21
+ }
22
+ }
23
+ exports.NvSyncInboxTool = NvSyncInboxTool;
24
+ //# sourceMappingURL=nv-sync-inbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-sync-inbox.js","sourceRoot":"","sources":["../../src/tools/nv-sync-inbox.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,eAAe,CAAC;IACvB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uNAAuN;YACzN,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAjBD,0CAiBC"}
@@ -6,8 +6,9 @@ export declare class SendMessageTool extends OperationTool<TSendMessageParams, u
6
6
  readonly name = "send_message";
7
7
  readonly operationName: "sendMessage";
8
8
  protected readonly schema: z.ZodObject<{
9
- personUrl: z.ZodString;
9
+ personUrl: z.ZodOptional<z.ZodString>;
10
10
  text: z.ZodString;
11
+ threadId: z.ZodOptional<z.ZodString>;
11
12
  }, z.core.$strip>;
12
13
  getTool(): Tool;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7E,SAAyB,IAAI,kBAAkB;IAC/C,SAAyB,aAAa,gBAA8B;IACpE,mBAA4B,MAAM;;;sBAG/B;IAEa,OAAO,IAAI,IAAI;CAsBhC"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,eAAgB,SAAQ,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAC7E,SAAyB,IAAI,kBAAkB;IAC/C,SAAyB,aAAa,gBAA8B;IACpE,mBAA4B,MAAM;;;;sBAI/B;IAEa,OAAO,IAAI,IAAI;CA2BhC"}
@@ -8,26 +8,31 @@ class SendMessageTool extends linked_api_tool_js_1.OperationTool {
8
8
  name = 'send_message';
9
9
  operationName = node_1.OPERATION_NAME.sendMessage;
10
10
  schema = zod_1.z.object({
11
- personUrl: zod_1.z.string(),
11
+ personUrl: zod_1.z.string().optional(),
12
12
  text: zod_1.z.string().min(1),
13
+ threadId: zod_1.z.string().optional(),
13
14
  });
14
15
  getTool() {
15
16
  return {
16
17
  name: this.name,
17
- description: 'Allows you to send a message to a person (st.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
18
+ description: 'Allows you to send a message to a person (st.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
18
19
  inputSchema: {
19
20
  type: 'object',
20
21
  properties: {
21
22
  personUrl: {
22
23
  type: 'string',
23
- description: "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')",
24
+ description: "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe'). Optional if threadId is provided.",
24
25
  },
25
26
  text: {
26
27
  type: 'string',
27
28
  description: 'The message text, must be up to 1900 characters.',
28
29
  },
30
+ threadId: {
31
+ type: 'string',
32
+ description: 'Optional conversation thread identifier to reply into, as returned by get_inbox. Provide this instead of personUrl to reply directly into a known thread.',
33
+ },
29
34
  },
30
- required: ['personUrl', 'text'],
35
+ required: ['text'],
31
36
  },
32
37
  };
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uLAAuL;YACzL,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yGAAyG;qBAC5G;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;CACF;AA9BD,0CA8BC"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":";;;AAAA,0CAAqE;AAErE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,eAAgB,SAAQ,kCAA0C;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,aAAa,GAAG,qBAAc,CAAC,WAAW,CAAC;IACxC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0SAA0S;YAC5S,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,4IAA4I;qBAC/I;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,2JAA2J;qBAC9J;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF,CAAC;IACJ,CAAC;CACF;AApCD,0CAoCC"}
@@ -0,0 +1,11 @@
1
+ import { TSyncInboxParams } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+ import { OperationTool } from '../utils/linked-api-tool.js';
5
+ export declare class SyncInboxTool extends OperationTool<TSyncInboxParams, unknown> {
6
+ readonly name = "sync_inbox";
7
+ readonly operationName: "syncInbox";
8
+ protected readonly schema: z.ZodObject<{}, z.core.$strip>;
9
+ getTool(): Tool;
10
+ }
11
+ //# sourceMappingURL=sync-inbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-inbox.d.ts","sourceRoot":"","sources":["../../src/tools/sync-inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBAAa,aAAc,SAAQ,aAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACzE,SAAyB,IAAI,gBAAgB;IAC7C,SAAyB,aAAa,cAA4B;IAClE,mBAA4B,MAAM,iCAAgB;IAElC,OAAO,IAAI,IAAI;CAYhC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyncInboxTool = void 0;
4
+ const node_1 = require("@linkedapi/node");
5
+ const zod_1 = require("zod");
6
+ const linked_api_tool_js_1 = require("../utils/linked-api-tool.js");
7
+ class SyncInboxTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'sync_inbox';
9
+ operationName = node_1.OPERATION_NAME.syncInbox;
10
+ schema = zod_1.z.object({});
11
+ getTool() {
12
+ return {
13
+ name: this.name,
14
+ description: 'Enable whole-inbox monitoring so every incoming conversation can be polled with get_inbox (st.syncInbox action). Run once per account; only messages that arrive after it is enabled are captured.',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {},
18
+ required: [],
19
+ },
20
+ };
21
+ }
22
+ }
23
+ exports.SyncInboxTool = SyncInboxTool;
24
+ //# sourceMappingURL=sync-inbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-inbox.js","sourceRoot":"","sources":["../../src/tools/sync-inbox.ts"],"names":[],"mappings":";;;AAAA,0CAAmE;AAEnE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,aAAc,SAAQ,kCAAwC;IAChD,IAAI,GAAG,YAAY,CAAC;IACpB,aAAa,GAAG,qBAAc,CAAC,SAAS,CAAC;IACtC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,oMAAoM;YACtM,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAjBD,sCAiBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkedapi/mcp",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "MCP server that lets AI assistants control LinkedIn accounts and retrieve real-time data.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -30,7 +30,7 @@
30
30
  "author": "Linked API",
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@linkedapi/node": "^2.0.4",
33
+ "@linkedapi/node": "^2.1.1",
34
34
  "@modelcontextprotocol/sdk": "^1.17.4",
35
35
  "zod": "^4.1.1"
36
36
  },
@@ -28,6 +28,7 @@ import { FetchPersonTool } from './tools/fetch-person.js';
28
28
  import { FetchPostTool } from './tools/fetch-post.js';
29
29
  import { GetApiUsageTool } from './tools/get-api-usage-stats.js';
30
30
  import { GetConversationTool } from './tools/get-conversation.js';
31
+ import { GetInboxTool } from './tools/get-inbox.js';
31
32
  import { GetWorkflowResultTool } from './tools/get-workflow-result.js';
32
33
  import { NvFetchCompanyTool } from './tools/nv-fetch-company.js';
33
34
  import { NvFetchPersonTool } from './tools/nv-fetch-person.js';
@@ -35,6 +36,7 @@ import { NvGetConversationTool } from './tools/nv-get-conversation.js';
35
36
  import { NvSearchCompaniesTool } from './tools/nv-search-companies.js';
36
37
  import { NvSearchPeopleTool } from './tools/nv-search-people.js';
37
38
  import { NvSendMessageTool } from './tools/nv-send-message.js';
39
+ import { NvSyncInboxTool } from './tools/nv-sync-inbox.js';
38
40
  import { ReactToPostTool } from './tools/react-to-post.js';
39
41
  import { RemoveConnectionTool } from './tools/remove-connection.js';
40
42
  import { RetrieveConnectionsTool } from './tools/retrieve-connections.js';
@@ -46,6 +48,7 @@ import { SearchJobsTool } from './tools/search-jobs.js';
46
48
  import { SearchPeopleTool } from './tools/search-people.js';
47
49
  import { SendConnectionRequestTool } from './tools/send-connection-request.js';
48
50
  import { SendMessageTool } from './tools/send-message.js';
51
+ import { SyncInboxTool } from './tools/sync-inbox.js';
49
52
  import { WithdrawConnectionRequestTool } from './tools/withdraw-connection-request.js';
50
53
  import type { TLinkedApiToolResult } from './types/linked-api-tool-result.type.js';
51
54
  import { AdminTool } from './utils/admin-tool.js';
@@ -70,6 +73,8 @@ export class LinkedApiTools {
70
73
  // Standard tools
71
74
  new SendMessageTool(),
72
75
  new GetConversationTool(),
76
+ new SyncInboxTool(),
77
+ new GetInboxTool(),
73
78
  new CheckConnectionStatusTool(),
74
79
  new RetrieveConnectionsTool(),
75
80
  new SendConnectionRequestTool(),
@@ -91,6 +96,7 @@ export class LinkedApiTools {
91
96
  // Sales Navigator tools
92
97
  new NvSendMessageTool(),
93
98
  new NvGetConversationTool(),
99
+ new NvSyncInboxTool(),
94
100
  new NvSearchCompaniesTool(),
95
101
  new NvSearchPeopleTool(),
96
102
  new NvFetchCompanyTool(),
@@ -0,0 +1,58 @@
1
+ import LinkedApi, { TInboxPollRequest, TInboxPollResult, TMappedResponse } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import z from 'zod';
4
+
5
+ import { LinkedApiTool } from '../utils/linked-api-tool.js';
6
+
7
+ export class GetInboxTool extends LinkedApiTool<TInboxPollRequest, TInboxPollResult> {
8
+ public readonly name = 'get_inbox';
9
+ protected readonly schema = z.object({
10
+ since: z.string().optional(),
11
+ type: z.enum(['st', 'nv']).optional(),
12
+ threadId: z.string().optional(),
13
+ });
14
+
15
+ public override async execute({
16
+ linkedapi,
17
+ args: { since, type, threadId },
18
+ }: {
19
+ linkedapi: LinkedApi;
20
+ args: TInboxPollRequest;
21
+ }): Promise<TMappedResponse<TInboxPollResult>> {
22
+ return linkedapi.pollInbox({
23
+ since,
24
+ type,
25
+ threadId,
26
+ });
27
+ }
28
+
29
+ public override getTool(): Tool {
30
+ return {
31
+ name: this.name,
32
+ description:
33
+ 'Get messages from the monitored inbox across all conversations (standard and Sales Navigator), newest first. Requires inbox monitoring to be enabled once with sync_inbox (or nv_sync_inbox for Sales Navigator).',
34
+ inputSchema: {
35
+ type: 'object',
36
+ properties: {
37
+ since: {
38
+ type: 'string',
39
+ description:
40
+ "Optional ISO 8601 timestamp to only retrieve messages after this date (e.g., '2024-01-15T10:30:00Z'). If not provided, all captured messages are returned.",
41
+ },
42
+ type: {
43
+ type: 'string',
44
+ enum: ['st', 'nv'],
45
+ description:
46
+ 'Optional inbox type filter: "st" for standard messages, "nv" for Sales Navigator messages. If omitted, both are returned.',
47
+ },
48
+ threadId: {
49
+ type: 'string',
50
+ description:
51
+ 'Optional conversation thread identifier to restrict the result to a single thread.',
52
+ },
53
+ },
54
+ required: [],
55
+ },
56
+ };
57
+ }
58
+ }
@@ -8,23 +8,24 @@ export class NvSendMessageTool extends OperationTool<TNvSendMessageParams, unkno
8
8
  public override readonly name = 'nv_send_message';
9
9
  public override readonly operationName = OPERATION_NAME.nvSendMessage;
10
10
  protected override readonly schema = z.object({
11
- personUrl: z.string(),
11
+ personUrl: z.string().optional(),
12
12
  text: z.string().min(1),
13
13
  subject: z.string().optional(),
14
+ threadId: z.string().optional(),
14
15
  });
15
16
 
16
17
  public override getTool(): Tool {
17
18
  return {
18
19
  name: this.name,
19
20
  description:
20
- 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate Sales Navigator messages to the same person.',
21
+ 'Allows you to send a message to a person in Sales Navigator (nv.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). If this workflow is still running, do not retry this tool; retrying can send duplicate Sales Navigator messages to the same person.',
21
22
  inputSchema: {
22
23
  type: 'object',
23
24
  properties: {
24
25
  personUrl: {
25
26
  type: 'string',
26
27
  description:
27
- "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')",
28
+ "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe'). Optional if threadId is provided.",
28
29
  },
29
30
  text: {
30
31
  type: 'string',
@@ -32,10 +33,16 @@ export class NvSendMessageTool extends OperationTool<TNvSendMessageParams, unkno
32
33
  },
33
34
  subject: {
34
35
  type: 'string',
35
- description: 'Subject line, must be up to 80 characters.',
36
+ description:
37
+ 'Subject line, must be up to 80 characters. Required when starting a new conversation; ignored when replying into an existing thread via threadId.',
38
+ },
39
+ threadId: {
40
+ type: 'string',
41
+ description:
42
+ 'Optional conversation thread identifier to reply into, as returned by get_inbox. Provide this instead of personUrl to reply directly into a known thread.',
36
43
  },
37
44
  },
38
- required: ['personUrl', 'text', 'subject'],
45
+ required: ['text'],
39
46
  },
40
47
  };
41
48
  }
@@ -0,0 +1,24 @@
1
+ import { OPERATION_NAME, TNvSyncInboxParams } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+
5
+ import { OperationTool } from '../utils/linked-api-tool.js';
6
+
7
+ export class NvSyncInboxTool extends OperationTool<TNvSyncInboxParams, unknown> {
8
+ public override readonly name = 'nv_sync_inbox';
9
+ public override readonly operationName = OPERATION_NAME.nvSyncInbox;
10
+ protected override readonly schema = z.object({});
11
+
12
+ public override getTool(): Tool {
13
+ return {
14
+ name: this.name,
15
+ description:
16
+ 'Enable whole-inbox monitoring in Sales Navigator so every incoming conversation can be polled with get_inbox (nv.syncInbox action). Run once per account; only messages that arrive after it is enabled are captured.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {},
20
+ required: [],
21
+ },
22
+ };
23
+ }
24
+ }
@@ -8,29 +8,35 @@ export class SendMessageTool extends OperationTool<TSendMessageParams, unknown>
8
8
  public override readonly name = 'send_message';
9
9
  public override readonly operationName = OPERATION_NAME.sendMessage;
10
10
  protected override readonly schema = z.object({
11
- personUrl: z.string(),
11
+ personUrl: z.string().optional(),
12
12
  text: z.string().min(1),
13
+ threadId: z.string().optional(),
13
14
  });
14
15
 
15
16
  public override getTool(): Tool {
16
17
  return {
17
18
  name: this.name,
18
19
  description:
19
- 'Allows you to send a message to a person (st.sendMessage action). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
20
+ 'Allows you to send a message to a person (st.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
20
21
  inputSchema: {
21
22
  type: 'object',
22
23
  properties: {
23
24
  personUrl: {
24
25
  type: 'string',
25
26
  description:
26
- "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe')",
27
+ "LinkedIn URL of the person you want to send a message to (e.g., 'https://www.linkedin.com/in/john-doe'). Optional if threadId is provided.",
27
28
  },
28
29
  text: {
29
30
  type: 'string',
30
31
  description: 'The message text, must be up to 1900 characters.',
31
32
  },
33
+ threadId: {
34
+ type: 'string',
35
+ description:
36
+ 'Optional conversation thread identifier to reply into, as returned by get_inbox. Provide this instead of personUrl to reply directly into a known thread.',
37
+ },
32
38
  },
33
- required: ['personUrl', 'text'],
39
+ required: ['text'],
34
40
  },
35
41
  };
36
42
  }
@@ -0,0 +1,24 @@
1
+ import { OPERATION_NAME, TSyncInboxParams } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { z } from 'zod';
4
+
5
+ import { OperationTool } from '../utils/linked-api-tool.js';
6
+
7
+ export class SyncInboxTool extends OperationTool<TSyncInboxParams, unknown> {
8
+ public override readonly name = 'sync_inbox';
9
+ public override readonly operationName = OPERATION_NAME.syncInbox;
10
+ protected override readonly schema = z.object({});
11
+
12
+ public override getTool(): Tool {
13
+ return {
14
+ name: this.name,
15
+ description:
16
+ 'Enable whole-inbox monitoring so every incoming conversation can be polled with get_inbox (st.syncInbox action). Run once per account; only messages that arrive after it is enabled are captured.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {},
20
+ required: [],
21
+ },
22
+ };
23
+ }
24
+ }