@linkedapi/mcp 2.1.2 → 2.2.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.
Files changed (57) hide show
  1. package/dist/linked-api-tools.d.ts.map +1 -1
  2. package/dist/linked-api-tools.js +16 -0
  3. package/dist/linked-api-tools.js.map +1 -1
  4. package/dist/tools/accept-connection-request.d.ts +13 -0
  5. package/dist/tools/accept-connection-request.d.ts.map +1 -0
  6. package/dist/tools/accept-connection-request.js +31 -0
  7. package/dist/tools/accept-connection-request.js.map +1 -0
  8. package/dist/tools/get-inbox.d.ts +21 -0
  9. package/dist/tools/get-inbox.d.ts.map +1 -0
  10. package/dist/tools/get-inbox.js +50 -0
  11. package/dist/tools/get-inbox.js.map +1 -0
  12. package/dist/tools/get-workflow-result.d.ts +7 -0
  13. package/dist/tools/get-workflow-result.d.ts.map +1 -1
  14. package/dist/tools/ignore-connection-request.d.ts +13 -0
  15. package/dist/tools/ignore-connection-request.d.ts.map +1 -0
  16. package/dist/tools/ignore-connection-request.js +31 -0
  17. package/dist/tools/ignore-connection-request.js.map +1 -0
  18. package/dist/tools/manage-conversation.d.ts +21 -0
  19. package/dist/tools/manage-conversation.d.ts.map +1 -0
  20. package/dist/tools/manage-conversation.js +37 -0
  21. package/dist/tools/manage-conversation.js.map +1 -0
  22. package/dist/tools/nv-manage-conversation.d.ts +17 -0
  23. package/dist/tools/nv-manage-conversation.d.ts.map +1 -0
  24. package/dist/tools/nv-manage-conversation.js +37 -0
  25. package/dist/tools/nv-manage-conversation.js.map +1 -0
  26. package/dist/tools/nv-send-message.d.ts +2 -1
  27. package/dist/tools/nv-send-message.d.ts.map +1 -1
  28. package/dist/tools/nv-send-message.js +10 -5
  29. package/dist/tools/nv-send-message.js.map +1 -1
  30. package/dist/tools/nv-sync-inbox.d.ts +11 -0
  31. package/dist/tools/nv-sync-inbox.d.ts.map +1 -0
  32. package/dist/tools/nv-sync-inbox.js +24 -0
  33. package/dist/tools/nv-sync-inbox.js.map +1 -0
  34. package/dist/tools/retrieve-connection-requests.d.ts +10 -0
  35. package/dist/tools/retrieve-connection-requests.d.ts.map +1 -0
  36. package/dist/tools/retrieve-connection-requests.js +23 -0
  37. package/dist/tools/retrieve-connection-requests.js.map +1 -0
  38. package/dist/tools/send-message.d.ts +2 -1
  39. package/dist/tools/send-message.d.ts.map +1 -1
  40. package/dist/tools/send-message.js +9 -4
  41. package/dist/tools/send-message.js.map +1 -1
  42. package/dist/tools/sync-inbox.d.ts +11 -0
  43. package/dist/tools/sync-inbox.d.ts.map +1 -0
  44. package/dist/tools/sync-inbox.js +24 -0
  45. package/dist/tools/sync-inbox.js.map +1 -0
  46. package/package.json +2 -2
  47. package/src/linked-api-tools.ts +16 -0
  48. package/src/tools/accept-connection-request.ts +35 -0
  49. package/src/tools/get-inbox.ts +58 -0
  50. package/src/tools/ignore-connection-request.ts +35 -0
  51. package/src/tools/manage-conversation.ts +37 -0
  52. package/src/tools/nv-manage-conversation.ts +37 -0
  53. package/src/tools/nv-send-message.ts +12 -5
  54. package/src/tools/nv-sync-inbox.ts +24 -0
  55. package/src/tools/retrieve-connection-requests.ts +23 -0
  56. package/src/tools/send-message.ts +10 -4
  57. package/src/tools/sync-inbox.ts +24 -0
@@ -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;AAwD1D,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;;IAmEhE,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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LinkedApiTools = void 0;
4
+ const accept_connection_request_js_1 = require("./tools/accept-connection-request.js");
4
5
  const admin_cancel_connection_session_js_1 = require("./tools/admin-cancel-connection-session.js");
5
6
  const admin_connect_account_js_1 = require("./tools/admin-connect-account.js");
6
7
  const admin_create_reconnection_session_js_1 = require("./tools/admin-create-reconnection-session.js");
@@ -28,15 +29,21 @@ const fetch_person_js_1 = require("./tools/fetch-person.js");
28
29
  const fetch_post_js_1 = require("./tools/fetch-post.js");
29
30
  const get_api_usage_stats_js_1 = require("./tools/get-api-usage-stats.js");
30
31
  const get_conversation_js_1 = require("./tools/get-conversation.js");
32
+ const get_inbox_js_1 = require("./tools/get-inbox.js");
31
33
  const get_workflow_result_js_1 = require("./tools/get-workflow-result.js");
34
+ const ignore_connection_request_js_1 = require("./tools/ignore-connection-request.js");
35
+ const manage_conversation_js_1 = require("./tools/manage-conversation.js");
32
36
  const nv_fetch_company_js_1 = require("./tools/nv-fetch-company.js");
33
37
  const nv_fetch_person_js_1 = require("./tools/nv-fetch-person.js");
34
38
  const nv_get_conversation_js_1 = require("./tools/nv-get-conversation.js");
39
+ const nv_manage_conversation_js_1 = require("./tools/nv-manage-conversation.js");
35
40
  const nv_search_companies_js_1 = require("./tools/nv-search-companies.js");
36
41
  const nv_search_people_js_1 = require("./tools/nv-search-people.js");
37
42
  const nv_send_message_js_1 = require("./tools/nv-send-message.js");
43
+ const nv_sync_inbox_js_1 = require("./tools/nv-sync-inbox.js");
38
44
  const react_to_post_js_1 = require("./tools/react-to-post.js");
39
45
  const remove_connection_js_1 = require("./tools/remove-connection.js");
46
+ const retrieve_connection_requests_js_1 = require("./tools/retrieve-connection-requests.js");
40
47
  const retrieve_connections_js_1 = require("./tools/retrieve-connections.js");
41
48
  const retrieve_pending_requests_js_1 = require("./tools/retrieve-pending-requests.js");
42
49
  const retrieve_performance_js_1 = require("./tools/retrieve-performance.js");
@@ -46,6 +53,7 @@ const search_jobs_js_1 = require("./tools/search-jobs.js");
46
53
  const search_people_js_1 = require("./tools/search-people.js");
47
54
  const send_connection_request_js_1 = require("./tools/send-connection-request.js");
48
55
  const send_message_js_1 = require("./tools/send-message.js");
56
+ const sync_inbox_js_1 = require("./tools/sync-inbox.js");
49
57
  const withdraw_connection_request_js_1 = require("./tools/withdraw-connection-request.js");
50
58
  class LinkedApiTools {
51
59
  tools;
@@ -55,11 +63,17 @@ class LinkedApiTools {
55
63
  // Standard tools
56
64
  new send_message_js_1.SendMessageTool(),
57
65
  new get_conversation_js_1.GetConversationTool(),
66
+ new sync_inbox_js_1.SyncInboxTool(),
67
+ new get_inbox_js_1.GetInboxTool(),
68
+ new manage_conversation_js_1.ManageConversationTool(),
58
69
  new check_connection_status_js_1.CheckConnectionStatusTool(),
59
70
  new retrieve_connections_js_1.RetrieveConnectionsTool(),
60
71
  new send_connection_request_js_1.SendConnectionRequestTool(),
61
72
  new withdraw_connection_request_js_1.WithdrawConnectionRequestTool(),
62
73
  new retrieve_pending_requests_js_1.RetrievePendingRequestsTool(),
74
+ new retrieve_connection_requests_js_1.RetrieveConnectionRequestsTool(),
75
+ new accept_connection_request_js_1.AcceptConnectionRequestTool(),
76
+ new ignore_connection_request_js_1.IgnoreConnectionRequestTool(),
63
77
  new remove_connection_js_1.RemoveConnectionTool(),
64
78
  new search_companies_js_1.SearchCompaniesTool(),
65
79
  new search_people_js_1.SearchPeopleTool(),
@@ -76,6 +90,8 @@ class LinkedApiTools {
76
90
  // Sales Navigator tools
77
91
  new nv_send_message_js_1.NvSendMessageTool(),
78
92
  new nv_get_conversation_js_1.NvGetConversationTool(),
93
+ new nv_sync_inbox_js_1.NvSyncInboxTool(),
94
+ new nv_manage_conversation_js_1.NvManageConversationTool(),
79
95
  new nv_search_companies_js_1.NvSearchCompaniesTool(),
80
96
  new nv_search_people_js_1.NvSearchPeopleTool(),
81
97
  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,13 @@
1
+ import { TAcceptConnectionRequestParams } 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 AcceptConnectionRequestTool extends OperationTool<TAcceptConnectionRequestParams, unknown> {
6
+ readonly name = "accept_connection_request";
7
+ readonly operationName: "acceptConnectionRequest";
8
+ protected readonly schema: z.ZodObject<{
9
+ personUrl: z.ZodString;
10
+ }, z.core.$strip>;
11
+ getTool(): Tool;
12
+ }
13
+ //# sourceMappingURL=accept-connection-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept-connection-request.d.ts","sourceRoot":"","sources":["../../src/tools/accept-connection-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjF,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,2BAA4B,SAAQ,aAAa,CAC5D,8BAA8B,EAC9B,OAAO,CACR;IACC,SAAyB,IAAI,+BAA+B;IAC5D,SAAyB,aAAa,4BAA0C;IAChF,mBAA4B,MAAM;;sBAE/B;IAEa,OAAO,IAAI,IAAI;CAkBhC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AcceptConnectionRequestTool = 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 AcceptConnectionRequestTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'accept_connection_request';
9
+ operationName = node_1.OPERATION_NAME.acceptConnectionRequest;
10
+ schema = zod_1.z.object({
11
+ personUrl: zod_1.z.string(),
12
+ });
13
+ getTool() {
14
+ return {
15
+ name: this.name,
16
+ description: 'Allows you to accept an incoming connection request from a person (st.acceptConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate accept attempts for the same person.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ personUrl: {
21
+ type: 'string',
22
+ description: "Public or hashed LinkedIn URL of the person whose connection request you want to accept. (e.g., 'https://www.linkedin.com/in/john-doe')",
23
+ },
24
+ },
25
+ required: ['personUrl'],
26
+ },
27
+ };
28
+ }
29
+ }
30
+ exports.AcceptConnectionRequestTool = AcceptConnectionRequestTool;
31
+ //# sourceMappingURL=accept-connection-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept-connection-request.js","sourceRoot":"","sources":["../../src/tools/accept-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAAiF;AAEjF,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,2BAA4B,SAAQ,kCAGhD;IAC0B,IAAI,GAAG,2BAA2B,CAAC;IACnC,aAAa,GAAG,qBAAc,CAAC,uBAAuB,CAAC;IACpD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,qOAAqO;YACvO,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yIAAyI;qBAC5I;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AA5BD,kEA4BC"}
@@ -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,10 +16,15 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
16
16
  customWorkflow: "customWorkflow";
17
17
  sendMessage: "sendMessage";
18
18
  syncConversation: "syncConversation";
19
+ syncInbox: "syncInbox";
20
+ manageConversation: "manageConversation";
19
21
  checkConnectionStatus: "checkConnectionStatus";
20
22
  sendConnectionRequest: "sendConnectionRequest";
21
23
  withdrawConnectionRequest: "withdrawConnectionRequest";
22
24
  retrievePendingRequests: "retrievePendingRequests";
25
+ retrieveConnectionRequests: "retrieveConnectionRequests";
26
+ acceptConnectionRequest: "acceptConnectionRequest";
27
+ ignoreConnectionRequest: "ignoreConnectionRequest";
23
28
  retrieveConnections: "retrieveConnections";
24
29
  removeConnection: "removeConnection";
25
30
  searchCompanies: "searchCompanies";
@@ -36,6 +41,8 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
36
41
  retrievePerformance: "retrievePerformance";
37
42
  nvSendMessage: "nvSendMessage";
38
43
  nvSyncConversation: "nvSyncConversation";
44
+ nvSyncInbox: "nvSyncInbox";
45
+ nvManageConversation: "nvManageConversation";
39
46
  nvSearchCompanies: "nvSearchCompanies";
40
47
  nvSearchPeople: "nvSearchPeople";
41
48
  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"}
@@ -0,0 +1,13 @@
1
+ import { TIgnoreConnectionRequestParams } 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 IgnoreConnectionRequestTool extends OperationTool<TIgnoreConnectionRequestParams, unknown> {
6
+ readonly name = "ignore_connection_request";
7
+ readonly operationName: "ignoreConnectionRequest";
8
+ protected readonly schema: z.ZodObject<{
9
+ personUrl: z.ZodString;
10
+ }, z.core.$strip>;
11
+ getTool(): Tool;
12
+ }
13
+ //# sourceMappingURL=ignore-connection-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-connection-request.d.ts","sourceRoot":"","sources":["../../src/tools/ignore-connection-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjF,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,2BAA4B,SAAQ,aAAa,CAC5D,8BAA8B,EAC9B,OAAO,CACR;IACC,SAAyB,IAAI,+BAA+B;IAC5D,SAAyB,aAAa,4BAA0C;IAChF,mBAA4B,MAAM;;sBAE/B;IAEa,OAAO,IAAI,IAAI;CAkBhC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IgnoreConnectionRequestTool = 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 IgnoreConnectionRequestTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'ignore_connection_request';
9
+ operationName = node_1.OPERATION_NAME.ignoreConnectionRequest;
10
+ schema = zod_1.z.object({
11
+ personUrl: zod_1.z.string(),
12
+ });
13
+ getTool() {
14
+ return {
15
+ name: this.name,
16
+ description: 'Allows you to ignore an incoming connection request from a person (st.ignoreConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate ignore attempts for the same person.',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ personUrl: {
21
+ type: 'string',
22
+ description: "Public or hashed LinkedIn URL of the person whose connection request you want to ignore. (e.g., 'https://www.linkedin.com/in/john-doe')",
23
+ },
24
+ },
25
+ required: ['personUrl'],
26
+ },
27
+ };
28
+ }
29
+ }
30
+ exports.IgnoreConnectionRequestTool = IgnoreConnectionRequestTool;
31
+ //# sourceMappingURL=ignore-connection-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-connection-request.js","sourceRoot":"","sources":["../../src/tools/ignore-connection-request.ts"],"names":[],"mappings":";;;AAAA,0CAAiF;AAEjF,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,2BAA4B,SAAQ,kCAGhD;IAC0B,IAAI,GAAG,2BAA2B,CAAC;IACnC,aAAa,GAAG,qBAAc,CAAC,uBAAuB,CAAC;IACpD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,qOAAqO;YACvO,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,yIAAyI;qBAC5I;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AA5BD,kEA4BC"}
@@ -0,0 +1,21 @@
1
+ import { TManageConversationParams } 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 ManageConversationTool extends OperationTool<TManageConversationParams, unknown> {
6
+ readonly name = "manage_conversation";
7
+ readonly operationName: "manageConversation";
8
+ protected readonly schema: z.ZodObject<{
9
+ threadId: z.ZodString;
10
+ operation: z.ZodEnum<{
11
+ archive: "archive";
12
+ unarchive: "unarchive";
13
+ star: "star";
14
+ unstar: "unstar";
15
+ mute: "mute";
16
+ unmute: "unmute";
17
+ }>;
18
+ }, z.core.$strip>;
19
+ getTool(): Tool;
20
+ }
21
+ //# sourceMappingURL=manage-conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/manage-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,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,sBAAuB,SAAQ,aAAa,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC3F,SAAyB,IAAI,yBAAyB;IACtD,SAAyB,aAAa,uBAAqC;IAC3E,mBAA4B,MAAM;;;;;;;;;;sBAG/B;IAEa,OAAO,IAAI,IAAI;CAsBhC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManageConversationTool = 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 ManageConversationTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'manage_conversation';
9
+ operationName = node_1.OPERATION_NAME.manageConversation;
10
+ schema = zod_1.z.object({
11
+ threadId: zod_1.z.string(),
12
+ operation: zod_1.z.enum(['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute']),
13
+ });
14
+ getTool() {
15
+ return {
16
+ name: this.name,
17
+ description: 'Archive, star, or mute a conversation thread by threadId (st.manageConversation action). Provide the threadId as returned by get_inbox and the operation to perform.',
18
+ inputSchema: {
19
+ type: 'object',
20
+ properties: {
21
+ threadId: {
22
+ type: 'string',
23
+ description: 'Conversation thread identifier, as returned by get_inbox.',
24
+ },
25
+ operation: {
26
+ type: 'string',
27
+ description: 'Operation to perform on the conversation thread.',
28
+ enum: ['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute'],
29
+ },
30
+ },
31
+ required: ['threadId', 'operation'],
32
+ },
33
+ };
34
+ }
35
+ }
36
+ exports.ManageConversationTool = ManageConversationTool;
37
+ //# sourceMappingURL=manage-conversation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-conversation.js","sourceRoot":"","sources":["../../src/tools/manage-conversation.ts"],"names":[],"mappings":";;;AAAA,0CAA4E;AAE5E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,sBAAuB,SAAQ,kCAAiD;IAClE,IAAI,GAAG,qBAAqB,CAAC;IAC7B,aAAa,GAAG,qBAAc,CAAC,kBAAkB,CAAC;IAC/C,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;KAChF,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,sKAAsK;YACxK,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2DAA2D;qBACzE;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;wBAC/D,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;qBACnE;iBACF;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;CACF;AA9BD,wDA8BC"}
@@ -0,0 +1,17 @@
1
+ import { TNvManageConversationParams } 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 NvManageConversationTool extends OperationTool<TNvManageConversationParams, unknown> {
6
+ readonly name = "nv_manage_conversation";
7
+ readonly operationName: "nvManageConversation";
8
+ protected readonly schema: z.ZodObject<{
9
+ threadId: z.ZodString;
10
+ operation: z.ZodEnum<{
11
+ archive: "archive";
12
+ unarchive: "unarchive";
13
+ }>;
14
+ }, z.core.$strip>;
15
+ getTool(): Tool;
16
+ }
17
+ //# sourceMappingURL=nv-manage-conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-manage-conversation.d.ts","sourceRoot":"","sources":["../../src/tools/nv-manage-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9E,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,wBAAyB,SAAQ,aAAa,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC/F,SAAyB,IAAI,4BAA4B;IACzD,SAAyB,aAAa,yBAAuC;IAC7E,mBAA4B,MAAM;;;;;;sBAG/B;IAEa,OAAO,IAAI,IAAI;CAsBhC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NvManageConversationTool = 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 NvManageConversationTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'nv_manage_conversation';
9
+ operationName = node_1.OPERATION_NAME.nvManageConversation;
10
+ schema = zod_1.z.object({
11
+ threadId: zod_1.z.string(),
12
+ operation: zod_1.z.enum(['archive', 'unarchive']),
13
+ });
14
+ getTool() {
15
+ return {
16
+ name: this.name,
17
+ description: 'Archive or unarchive a Sales Navigator conversation thread by threadId (nv.manageConversation action). Provide the threadId as returned by get_inbox and the operation to perform.',
18
+ inputSchema: {
19
+ type: 'object',
20
+ properties: {
21
+ threadId: {
22
+ type: 'string',
23
+ description: 'Conversation thread identifier, as returned by get_inbox.',
24
+ },
25
+ operation: {
26
+ type: 'string',
27
+ description: 'Operation to perform on the Sales Navigator conversation thread.',
28
+ enum: ['archive', 'unarchive'],
29
+ },
30
+ },
31
+ required: ['threadId', 'operation'],
32
+ },
33
+ };
34
+ }
35
+ }
36
+ exports.NvManageConversationTool = NvManageConversationTool;
37
+ //# sourceMappingURL=nv-manage-conversation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-manage-conversation.js","sourceRoot":"","sources":["../../src/tools/nv-manage-conversation.ts"],"names":[],"mappings":";;;AAAA,0CAA8E;AAE9E,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,wBAAyB,SAAQ,kCAAmD;IACtE,IAAI,GAAG,wBAAwB,CAAC;IAChC,aAAa,GAAG,qBAAc,CAAC,oBAAoB,CAAC;IACjD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;KAC5C,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,oLAAoL;YACtL,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2DAA2D;qBACzE;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kEAAkE;wBAC/E,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;qBAC/B;iBACF;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;CACF;AA9BD,4DA8BC"}
@@ -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"}
@@ -0,0 +1,10 @@
1
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { z } from 'zod';
3
+ import { OperationTool } from '../utils/linked-api-tool.js';
4
+ export declare class RetrieveConnectionRequestsTool extends OperationTool<unknown, unknown> {
5
+ readonly name = "retrieve_connection_requests";
6
+ readonly operationName: "retrieveConnectionRequests";
7
+ protected readonly schema: z.ZodObject<{}, z.core.$strip>;
8
+ getTool(): Tool;
9
+ }
10
+ //# sourceMappingURL=retrieve-connection-requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-connection-requests.d.ts","sourceRoot":"","sources":["../../src/tools/retrieve-connection-requests.ts"],"names":[],"mappings":"AACA,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,8BAA+B,SAAQ,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;IACjF,SAAyB,IAAI,kCAAkC;IAC/D,SAAyB,aAAa,+BAA6C;IACnF,mBAA4B,MAAM,iCAAgB;IAElC,OAAO,IAAI,IAAI;CAWhC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RetrieveConnectionRequestsTool = 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 RetrieveConnectionRequestsTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'retrieve_connection_requests';
9
+ operationName = node_1.OPERATION_NAME.retrieveConnectionRequests;
10
+ schema = zod_1.z.object({});
11
+ getTool() {
12
+ return {
13
+ name: this.name,
14
+ description: 'Allows you to retrieve incoming connection requests received by your account. (st.retrieveConnectionRequests action).',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {},
18
+ },
19
+ };
20
+ }
21
+ }
22
+ exports.RetrieveConnectionRequestsTool = RetrieveConnectionRequestsTool;
23
+ //# sourceMappingURL=retrieve-connection-requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-connection-requests.js","sourceRoot":"","sources":["../../src/tools/retrieve-connection-requests.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAEjD,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,8BAA+B,SAAQ,kCAA+B;IACxD,IAAI,GAAG,8BAA8B,CAAC;IACtC,aAAa,GAAG,qBAAc,CAAC,0BAA0B,CAAC;IACvD,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAElC,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,uHAAuH;YACzH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;CACF;AAhBD,wEAgBC"}
@@ -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.2.0",
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.2.0",
34
34
  "@modelcontextprotocol/sdk": "^1.17.4",
35
35
  "zod": "^4.1.1"
36
36
  },
@@ -1,6 +1,7 @@
1
1
  import LinkedApi from '@linkedapi/node';
2
2
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
 
4
+ import { AcceptConnectionRequestTool } from './tools/accept-connection-request.js';
4
5
  import { AdminCancelConnectionSessionTool } from './tools/admin-cancel-connection-session.js';
5
6
  import { AdminConnectAccountTool } from './tools/admin-connect-account.js';
6
7
  import { AdminCreateReconnectionSessionTool } from './tools/admin-create-reconnection-session.js';
@@ -28,15 +29,21 @@ import { FetchPersonTool } from './tools/fetch-person.js';
28
29
  import { FetchPostTool } from './tools/fetch-post.js';
29
30
  import { GetApiUsageTool } from './tools/get-api-usage-stats.js';
30
31
  import { GetConversationTool } from './tools/get-conversation.js';
32
+ import { GetInboxTool } from './tools/get-inbox.js';
31
33
  import { GetWorkflowResultTool } from './tools/get-workflow-result.js';
34
+ import { IgnoreConnectionRequestTool } from './tools/ignore-connection-request.js';
35
+ import { ManageConversationTool } from './tools/manage-conversation.js';
32
36
  import { NvFetchCompanyTool } from './tools/nv-fetch-company.js';
33
37
  import { NvFetchPersonTool } from './tools/nv-fetch-person.js';
34
38
  import { NvGetConversationTool } from './tools/nv-get-conversation.js';
39
+ import { NvManageConversationTool } from './tools/nv-manage-conversation.js';
35
40
  import { NvSearchCompaniesTool } from './tools/nv-search-companies.js';
36
41
  import { NvSearchPeopleTool } from './tools/nv-search-people.js';
37
42
  import { NvSendMessageTool } from './tools/nv-send-message.js';
43
+ import { NvSyncInboxTool } from './tools/nv-sync-inbox.js';
38
44
  import { ReactToPostTool } from './tools/react-to-post.js';
39
45
  import { RemoveConnectionTool } from './tools/remove-connection.js';
46
+ import { RetrieveConnectionRequestsTool } from './tools/retrieve-connection-requests.js';
40
47
  import { RetrieveConnectionsTool } from './tools/retrieve-connections.js';
41
48
  import { RetrievePendingRequestsTool } from './tools/retrieve-pending-requests.js';
42
49
  import { RetrievePerformanceTool } from './tools/retrieve-performance.js';
@@ -46,6 +53,7 @@ import { SearchJobsTool } from './tools/search-jobs.js';
46
53
  import { SearchPeopleTool } from './tools/search-people.js';
47
54
  import { SendConnectionRequestTool } from './tools/send-connection-request.js';
48
55
  import { SendMessageTool } from './tools/send-message.js';
56
+ import { SyncInboxTool } from './tools/sync-inbox.js';
49
57
  import { WithdrawConnectionRequestTool } from './tools/withdraw-connection-request.js';
50
58
  import type { TLinkedApiToolResult } from './types/linked-api-tool-result.type.js';
51
59
  import { AdminTool } from './utils/admin-tool.js';
@@ -70,11 +78,17 @@ export class LinkedApiTools {
70
78
  // Standard tools
71
79
  new SendMessageTool(),
72
80
  new GetConversationTool(),
81
+ new SyncInboxTool(),
82
+ new GetInboxTool(),
83
+ new ManageConversationTool(),
73
84
  new CheckConnectionStatusTool(),
74
85
  new RetrieveConnectionsTool(),
75
86
  new SendConnectionRequestTool(),
76
87
  new WithdrawConnectionRequestTool(),
77
88
  new RetrievePendingRequestsTool(),
89
+ new RetrieveConnectionRequestsTool(),
90
+ new AcceptConnectionRequestTool(),
91
+ new IgnoreConnectionRequestTool(),
78
92
  new RemoveConnectionTool(),
79
93
  new SearchCompaniesTool(),
80
94
  new SearchPeopleTool(),
@@ -91,6 +105,8 @@ export class LinkedApiTools {
91
105
  // Sales Navigator tools
92
106
  new NvSendMessageTool(),
93
107
  new NvGetConversationTool(),
108
+ new NvSyncInboxTool(),
109
+ new NvManageConversationTool(),
94
110
  new NvSearchCompaniesTool(),
95
111
  new NvSearchPeopleTool(),
96
112
  new NvFetchCompanyTool(),
@@ -0,0 +1,35 @@
1
+ import { OPERATION_NAME, TAcceptConnectionRequestParams } 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 AcceptConnectionRequestTool extends OperationTool<
8
+ TAcceptConnectionRequestParams,
9
+ unknown
10
+ > {
11
+ public override readonly name = 'accept_connection_request';
12
+ public override readonly operationName = OPERATION_NAME.acceptConnectionRequest;
13
+ protected override readonly schema = z.object({
14
+ personUrl: z.string(),
15
+ });
16
+
17
+ public override getTool(): Tool {
18
+ return {
19
+ name: this.name,
20
+ description:
21
+ 'Allows you to accept an incoming connection request from a person (st.acceptConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate accept attempts for the same person.',
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ personUrl: {
26
+ type: 'string',
27
+ description:
28
+ "Public or hashed LinkedIn URL of the person whose connection request you want to accept. (e.g., 'https://www.linkedin.com/in/john-doe')",
29
+ },
30
+ },
31
+ required: ['personUrl'],
32
+ },
33
+ };
34
+ }
35
+ }
@@ -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
+ }
@@ -0,0 +1,35 @@
1
+ import { OPERATION_NAME, TIgnoreConnectionRequestParams } 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 IgnoreConnectionRequestTool extends OperationTool<
8
+ TIgnoreConnectionRequestParams,
9
+ unknown
10
+ > {
11
+ public override readonly name = 'ignore_connection_request';
12
+ public override readonly operationName = OPERATION_NAME.ignoreConnectionRequest;
13
+ protected override readonly schema = z.object({
14
+ personUrl: z.string(),
15
+ });
16
+
17
+ public override getTool(): Tool {
18
+ return {
19
+ name: this.name,
20
+ description:
21
+ 'Allows you to ignore an incoming connection request from a person (st.ignoreConnectionRequest action). If this workflow is still running, do not retry this tool; retrying can queue duplicate ignore attempts for the same person.',
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ personUrl: {
26
+ type: 'string',
27
+ description:
28
+ "Public or hashed LinkedIn URL of the person whose connection request you want to ignore. (e.g., 'https://www.linkedin.com/in/john-doe')",
29
+ },
30
+ },
31
+ required: ['personUrl'],
32
+ },
33
+ };
34
+ }
35
+ }
@@ -0,0 +1,37 @@
1
+ import { OPERATION_NAME, TManageConversationParams } 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 ManageConversationTool extends OperationTool<TManageConversationParams, unknown> {
8
+ public override readonly name = 'manage_conversation';
9
+ public override readonly operationName = OPERATION_NAME.manageConversation;
10
+ protected override readonly schema = z.object({
11
+ threadId: z.string(),
12
+ operation: z.enum(['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute']),
13
+ });
14
+
15
+ public override getTool(): Tool {
16
+ return {
17
+ name: this.name,
18
+ description:
19
+ 'Archive, star, or mute a conversation thread by threadId (st.manageConversation action). Provide the threadId as returned by get_inbox and the operation to perform.',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ threadId: {
24
+ type: 'string',
25
+ description: 'Conversation thread identifier, as returned by get_inbox.',
26
+ },
27
+ operation: {
28
+ type: 'string',
29
+ description: 'Operation to perform on the conversation thread.',
30
+ enum: ['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute'],
31
+ },
32
+ },
33
+ required: ['threadId', 'operation'],
34
+ },
35
+ };
36
+ }
37
+ }
@@ -0,0 +1,37 @@
1
+ import { OPERATION_NAME, TNvManageConversationParams } 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 NvManageConversationTool extends OperationTool<TNvManageConversationParams, unknown> {
8
+ public override readonly name = 'nv_manage_conversation';
9
+ public override readonly operationName = OPERATION_NAME.nvManageConversation;
10
+ protected override readonly schema = z.object({
11
+ threadId: z.string(),
12
+ operation: z.enum(['archive', 'unarchive']),
13
+ });
14
+
15
+ public override getTool(): Tool {
16
+ return {
17
+ name: this.name,
18
+ description:
19
+ 'Archive or unarchive a Sales Navigator conversation thread by threadId (nv.manageConversation action). Provide the threadId as returned by get_inbox and the operation to perform.',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ threadId: {
24
+ type: 'string',
25
+ description: 'Conversation thread identifier, as returned by get_inbox.',
26
+ },
27
+ operation: {
28
+ type: 'string',
29
+ description: 'Operation to perform on the Sales Navigator conversation thread.',
30
+ enum: ['archive', 'unarchive'],
31
+ },
32
+ },
33
+ required: ['threadId', 'operation'],
34
+ },
35
+ };
36
+ }
37
+ }
@@ -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
+ }
@@ -0,0 +1,23 @@
1
+ import { OPERATION_NAME } 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 RetrieveConnectionRequestsTool extends OperationTool<unknown, unknown> {
8
+ public override readonly name = 'retrieve_connection_requests';
9
+ public override readonly operationName = OPERATION_NAME.retrieveConnectionRequests;
10
+ protected override readonly schema = z.object({});
11
+
12
+ public override getTool(): Tool {
13
+ return {
14
+ name: this.name,
15
+ description:
16
+ 'Allows you to retrieve incoming connection requests received by your account. (st.retrieveConnectionRequests action).',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {},
20
+ },
21
+ };
22
+ }
23
+ }
@@ -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
+ }