@linkedapi/mcp 2.0.1 → 2.1.1

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 (67) hide show
  1. package/dist/linked-api-tools.d.ts.map +1 -1
  2. package/dist/linked-api-tools.js +24 -0
  3. package/dist/linked-api-tools.js.map +1 -1
  4. package/dist/tools/admin-cancel-connection-session.d.ts +16 -0
  5. package/dist/tools/admin-cancel-connection-session.d.ts.map +1 -0
  6. package/dist/tools/admin-cancel-connection-session.js +35 -0
  7. package/dist/tools/admin-cancel-connection-session.js.map +1 -0
  8. package/dist/tools/admin-cancel-subscription.d.ts +14 -0
  9. package/dist/tools/admin-cancel-subscription.d.ts.map +1 -0
  10. package/dist/tools/admin-cancel-subscription.js +27 -0
  11. package/dist/tools/admin-cancel-subscription.js.map +1 -0
  12. package/dist/tools/admin-create-reconnection-session.d.ts +16 -0
  13. package/dist/tools/admin-create-reconnection-session.d.ts.map +1 -0
  14. package/dist/tools/admin-create-reconnection-session.js +35 -0
  15. package/dist/tools/admin-create-reconnection-session.js.map +1 -0
  16. package/dist/tools/admin-delete-limits.d.ts +24 -0
  17. package/dist/tools/admin-delete-limits.d.ts.map +1 -0
  18. package/dist/tools/admin-delete-limits.js +58 -0
  19. package/dist/tools/admin-delete-limits.js.map +1 -0
  20. package/dist/tools/admin-get-billing-link.d.ts +14 -0
  21. package/dist/tools/admin-get-billing-link.d.ts.map +1 -0
  22. package/dist/tools/admin-get-billing-link.js +27 -0
  23. package/dist/tools/admin-get-billing-link.js.map +1 -0
  24. package/dist/tools/admin-get-connection-session.d.ts +16 -0
  25. package/dist/tools/admin-get-connection-session.d.ts.map +1 -0
  26. package/dist/tools/admin-get-connection-session.js +35 -0
  27. package/dist/tools/admin-get-connection-session.js.map +1 -0
  28. package/dist/tools/admin-get-limits-defaults.d.ts +18 -0
  29. package/dist/tools/admin-get-limits-defaults.d.ts.map +1 -0
  30. package/dist/tools/admin-get-limits-defaults.js +27 -0
  31. package/dist/tools/admin-get-limits-defaults.js.map +1 -0
  32. package/dist/tools/admin-get-limits.d.ts +20 -0
  33. package/dist/tools/admin-get-limits.d.ts.map +1 -0
  34. package/dist/tools/admin-get-limits.js +35 -0
  35. package/dist/tools/admin-get-limits.js.map +1 -0
  36. package/dist/tools/admin-get-subscription-pricing.d.ts +18 -0
  37. package/dist/tools/admin-get-subscription-pricing.d.ts.map +1 -0
  38. package/dist/tools/admin-get-subscription-pricing.js +27 -0
  39. package/dist/tools/admin-get-subscription-pricing.js.map +1 -0
  40. package/dist/tools/admin-reparse-account-info.d.ts +16 -0
  41. package/dist/tools/admin-reparse-account-info.d.ts.map +1 -0
  42. package/dist/tools/admin-reparse-account-info.js +35 -0
  43. package/dist/tools/admin-reparse-account-info.js.map +1 -0
  44. package/dist/tools/fetch-job.d.ts +13 -0
  45. package/dist/tools/fetch-job.d.ts.map +1 -0
  46. package/dist/tools/fetch-job.js +31 -0
  47. package/dist/tools/fetch-job.js.map +1 -0
  48. package/dist/tools/get-workflow-result.d.ts +2 -0
  49. package/dist/tools/get-workflow-result.d.ts.map +1 -1
  50. package/dist/tools/search-jobs.d.ts +54 -0
  51. package/dist/tools/search-jobs.d.ts.map +1 -0
  52. package/dist/tools/search-jobs.js +165 -0
  53. package/dist/tools/search-jobs.js.map +1 -0
  54. package/package.json +3 -3
  55. package/src/linked-api-tools.ts +24 -0
  56. package/src/tools/admin-cancel-connection-session.ts +42 -0
  57. package/src/tools/admin-cancel-subscription.ts +30 -0
  58. package/src/tools/admin-create-reconnection-session.ts +47 -0
  59. package/src/tools/admin-delete-limits.ts +65 -0
  60. package/src/tools/admin-get-billing-link.ts +30 -0
  61. package/src/tools/admin-get-connection-session.ts +46 -0
  62. package/src/tools/admin-get-limits-defaults.ts +33 -0
  63. package/src/tools/admin-get-limits.ts +39 -0
  64. package/src/tools/admin-get-subscription-pricing.ts +33 -0
  65. package/src/tools/admin-reparse-account-info.ts +47 -0
  66. package/src/tools/fetch-job.ts +32 -0
  67. package/src/tools/search-jobs.ts +172 -0
@@ -0,0 +1,27 @@
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.AdminGetSubscriptionPricingTool = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const admin_tool_js_1 = require("../utils/admin-tool.js");
9
+ class AdminGetSubscriptionPricingTool extends admin_tool_js_1.AdminTool {
10
+ name = 'admin_get_subscription_pricing';
11
+ schema = zod_1.default.object({});
12
+ async execute({ admin, }) {
13
+ return await admin.subscription.getPricing();
14
+ }
15
+ getTool() {
16
+ return {
17
+ name: this.name,
18
+ description: 'Get available subscription products and prices.',
19
+ inputSchema: {
20
+ type: 'object',
21
+ properties: {},
22
+ },
23
+ };
24
+ }
25
+ }
26
+ exports.AdminGetSubscriptionPricingTool = AdminGetSubscriptionPricingTool;
27
+ //# sourceMappingURL=admin-get-subscription-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-get-subscription-pricing.js","sourceRoot":"","sources":["../../src/tools/admin-get-subscription-pricing.ts"],"names":[],"mappings":";;;;;;AAEA,8CAAoB;AAEpB,0DAAmD;AAEnD,MAAa,+BAAgC,SAAQ,yBAGpD;IACiB,IAAI,GAAG,gCAAgC,CAAC;IACrC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzB,KAAK,CAAC,OAAO,CAAC,EAC5B,KAAK,GAIN;QACC,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,iDAAiD;YAC9D,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;IACJ,CAAC;CACF;AA1BD,0EA0BC"}
@@ -0,0 +1,16 @@
1
+ import { LinkedApiAdmin, TReparseAccountInfoParams, TReparseAccountInfoResult } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import z from 'zod';
4
+ import { AdminTool } from '../utils/admin-tool.js';
5
+ export declare class AdminReparseAccountInfoTool extends AdminTool<TReparseAccountInfoParams, TReparseAccountInfoResult> {
6
+ readonly name = "admin_reparse_account_info";
7
+ protected readonly schema: z.ZodObject<{
8
+ accountId: z.ZodString;
9
+ }, z.core.$strip>;
10
+ execute({ admin, args, }: {
11
+ admin: LinkedApiAdmin;
12
+ args: TReparseAccountInfoParams;
13
+ }): Promise<TReparseAccountInfoResult>;
14
+ getTool(): Tool;
15
+ }
16
+ //# sourceMappingURL=admin-reparse-account-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-reparse-account-info.d.ts","sourceRoot":"","sources":["../../src/tools/admin-reparse-account-info.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,qBAAa,2BAA4B,SAAQ,SAAS,CACxD,yBAAyB,EACzB,yBAAyB,CAC1B;IACC,SAAgB,IAAI,gCAAgC;IACpD,SAAS,CAAC,QAAQ,CAAC,MAAM;;sBAEtB;IAEmB,OAAO,CAAC,EAC5B,KAAK,EACL,IAAI,GACL,EAAE;QACD,KAAK,EAAE,cAAc,CAAC;QACtB,IAAI,EAAE,yBAAyB,CAAC;KACjC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAItB,OAAO,IAAI,IAAI;CAiBhC"}
@@ -0,0 +1,35 @@
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.AdminReparseAccountInfoTool = void 0;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const admin_tool_js_1 = require("../utils/admin-tool.js");
9
+ class AdminReparseAccountInfoTool extends admin_tool_js_1.AdminTool {
10
+ name = 'admin_reparse_account_info';
11
+ schema = zod_1.default.object({
12
+ accountId: zod_1.default.string(),
13
+ });
14
+ async execute({ admin, args, }) {
15
+ return await admin.accounts.reparseAccountInfo(args);
16
+ }
17
+ getTool() {
18
+ return {
19
+ name: this.name,
20
+ description: 'Refresh stored profile information for a connected account. Starts a background reparse workflow and returns workflowId.',
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ accountId: {
25
+ type: 'string',
26
+ description: 'UUID of the account to refresh',
27
+ },
28
+ },
29
+ required: ['accountId'],
30
+ },
31
+ };
32
+ }
33
+ }
34
+ exports.AdminReparseAccountInfoTool = AdminReparseAccountInfoTool;
35
+ //# sourceMappingURL=admin-reparse-account-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-reparse-account-info.js","sourceRoot":"","sources":["../../src/tools/admin-reparse-account-info.ts"],"names":[],"mappings":";;;;;;AAMA,8CAAoB;AAEpB,0DAAmD;AAEnD,MAAa,2BAA4B,SAAQ,yBAGhD;IACiB,IAAI,GAAG,4BAA4B,CAAC;IACjC,MAAM,GAAG,aAAC,CAAC,MAAM,CAAC;QACnC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CAAC;IAEa,KAAK,CAAC,OAAO,CAAC,EAC5B,KAAK,EACL,IAAI,GAIL;QACC,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEe,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,0HAA0H;YAC5H,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;qBAC9C;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;SACF,CAAC;IACJ,CAAC;CACF;AApCD,kEAoCC"}
@@ -0,0 +1,13 @@
1
+ import { TBaseFetchJobParams } 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 FetchJobTool extends OperationTool<TBaseFetchJobParams, unknown> {
6
+ readonly name = "fetch_job";
7
+ readonly operationName: "fetchJob";
8
+ protected readonly schema: z.ZodObject<{
9
+ jobUrl: z.ZodString;
10
+ }, z.core.$strip>;
11
+ getTool(): Tool;
12
+ }
13
+ //# sourceMappingURL=fetch-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-job.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtE,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,YAAa,SAAQ,aAAa,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAC3E,SAAyB,IAAI,eAAe;IAC5C,SAAyB,aAAa,aAA2B;IACjE,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.FetchJobTool = 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 FetchJobTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'fetch_job';
9
+ operationName = node_1.OPERATION_NAME.fetchJob;
10
+ schema = zod_1.z.object({
11
+ jobUrl: zod_1.z.string(),
12
+ });
13
+ getTool() {
14
+ return {
15
+ name: this.name,
16
+ description: 'Open a LinkedIn job and retrieve its details such as company, location, salary, and description (st.openJob action).',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ jobUrl: {
21
+ type: 'string',
22
+ description: "LinkedIn URL of the job. (e.g., 'https://www.linkedin.com/jobs/view/4416248954/')",
23
+ },
24
+ },
25
+ required: ['jobUrl'],
26
+ },
27
+ };
28
+ }
29
+ }
30
+ exports.FetchJobTool = FetchJobTool;
31
+ //# sourceMappingURL=fetch-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-job.js","sourceRoot":"","sources":["../../src/tools/fetch-job.ts"],"names":[],"mappings":";;;AAAA,0CAAsE;AAEtE,6BAAwB;AAExB,oEAA4D;AAE5D,MAAa,YAAa,SAAQ,kCAA2C;IAClD,IAAI,GAAG,WAAW,CAAC;IACnB,aAAa,GAAG,qBAAc,CAAC,QAAQ,CAAC;IACrC,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CAAC;IAEa,OAAO;QACrB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EACT,sHAAsH;YACxH,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,mFAAmF;qBACtF;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF,CAAC;IACJ,CAAC;CACF;AAzBD,oCAyBC"}
@@ -24,9 +24,11 @@ export declare class GetWorkflowResultTool extends LinkedApiTool<IGetWorkflowRes
24
24
  removeConnection: "removeConnection";
25
25
  searchCompanies: "searchCompanies";
26
26
  searchPeople: "searchPeople";
27
+ searchJobs: "searchJobs";
27
28
  fetchPerson: "fetchPerson";
28
29
  fetchCompany: "fetchCompany";
29
30
  fetchPost: "fetchPost";
31
+ fetchJob: "fetchJob";
30
32
  reactToPost: "reactToPost";
31
33
  commentOnPost: "commentOnPost";
32
34
  createPost: "createPost";
@@ -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,54 @@
1
+ import { TSearchJobsParams } 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 SearchJobsTool extends OperationTool<TSearchJobsParams, unknown> {
6
+ readonly name = "search_jobs";
7
+ readonly operationName: "searchJobs";
8
+ protected readonly schema: z.ZodObject<{
9
+ term: z.ZodOptional<z.ZodString>;
10
+ limit: z.ZodOptional<z.ZodNumber>;
11
+ filter: z.ZodOptional<z.ZodObject<{
12
+ location: z.ZodOptional<z.ZodString>;
13
+ datePosted: z.ZodOptional<z.ZodEnum<{
14
+ anyTime: "anyTime";
15
+ past24Hours: "past24Hours";
16
+ pastWeek: "pastWeek";
17
+ pastMonth: "pastMonth";
18
+ }>>;
19
+ experienceLevels: z.ZodOptional<z.ZodArray<z.ZodEnum<{
20
+ internship: "internship";
21
+ entryLevel: "entryLevel";
22
+ associate: "associate";
23
+ midSeniorLevel: "midSeniorLevel";
24
+ director: "director";
25
+ executive: "executive";
26
+ }>>>;
27
+ employmentTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
28
+ internship: "internship";
29
+ fullTime: "fullTime";
30
+ partTime: "partTime";
31
+ contract: "contract";
32
+ temporary: "temporary";
33
+ volunteer: "volunteer";
34
+ other: "other";
35
+ }>>>;
36
+ workplaceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
37
+ onSite: "onSite";
38
+ remote: "remote";
39
+ hybrid: "hybrid";
40
+ }>>>;
41
+ companies: z.ZodOptional<z.ZodArray<z.ZodString>>;
42
+ industries: z.ZodOptional<z.ZodArray<z.ZodString>>;
43
+ jobFunctions: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
+ easyApply: z.ZodOptional<z.ZodBoolean>;
45
+ hasVerifications: z.ZodOptional<z.ZodBoolean>;
46
+ under10Applicants: z.ZodOptional<z.ZodBoolean>;
47
+ inYourNetwork: z.ZodOptional<z.ZodBoolean>;
48
+ fairChanceEmployer: z.ZodOptional<z.ZodBoolean>;
49
+ }, z.core.$strip>>;
50
+ customSearchUrl: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ getTool(): Tool;
53
+ }
54
+ //# sourceMappingURL=search-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-jobs.d.ts","sourceRoot":"","sources":["../../src/tools/search-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,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,cAAe,SAAQ,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC3E,SAAyB,IAAI,iBAAiB;IAC9C,SAAyB,aAAa,eAA6B;IACnE,mBAA4B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA4C/B;IAEa,OAAO,IAAI,IAAI;CAoHhC"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchJobsTool = 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 SearchJobsTool extends linked_api_tool_js_1.OperationTool {
8
+ name = 'search_jobs';
9
+ operationName = node_1.OPERATION_NAME.searchJobs;
10
+ schema = zod_1.z.object({
11
+ term: zod_1.z.string().optional(),
12
+ limit: zod_1.z.number().min(1).max(1000).optional(),
13
+ filter: zod_1.z
14
+ .object({
15
+ location: zod_1.z.string().optional(),
16
+ datePosted: zod_1.z.enum(['anyTime', 'past24Hours', 'pastWeek', 'pastMonth']).optional(),
17
+ experienceLevels: zod_1.z
18
+ .array(zod_1.z.enum([
19
+ 'internship',
20
+ 'entryLevel',
21
+ 'associate',
22
+ 'midSeniorLevel',
23
+ 'director',
24
+ 'executive',
25
+ ]))
26
+ .optional(),
27
+ employmentTypes: zod_1.z
28
+ .array(zod_1.z.enum([
29
+ 'fullTime',
30
+ 'partTime',
31
+ 'contract',
32
+ 'temporary',
33
+ 'volunteer',
34
+ 'internship',
35
+ 'other',
36
+ ]))
37
+ .optional(),
38
+ workplaceTypes: zod_1.z.array(zod_1.z.enum(['onSite', 'remote', 'hybrid'])).optional(),
39
+ companies: zod_1.z.array(zod_1.z.string()).optional(),
40
+ industries: zod_1.z.array(zod_1.z.string()).optional(),
41
+ jobFunctions: zod_1.z.array(zod_1.z.string()).optional(),
42
+ easyApply: zod_1.z.boolean().optional(),
43
+ hasVerifications: zod_1.z.boolean().optional(),
44
+ under10Applicants: zod_1.z.boolean().optional(),
45
+ inYourNetwork: zod_1.z.boolean().optional(),
46
+ fairChanceEmployer: zod_1.z.boolean().optional(),
47
+ })
48
+ .optional(),
49
+ customSearchUrl: zod_1.z.string().optional(),
50
+ });
51
+ getTool() {
52
+ return {
53
+ name: this.name,
54
+ description: 'Allows you to search jobs applying various filtering criteria (st.searchJobs action).',
55
+ inputSchema: {
56
+ type: 'object',
57
+ properties: {
58
+ term: {
59
+ type: 'string',
60
+ description: 'Optional. Keyword or phrase to search.',
61
+ },
62
+ limit: {
63
+ type: 'number',
64
+ description: 'Optional. Number of search results to return. Defaults to 10, with a maximum value of 1000.',
65
+ },
66
+ filter: {
67
+ type: 'object',
68
+ description: 'Optional. Object that specifies filtering criteria for jobs. When multiple filter fields are specified, they are combined using AND logic.',
69
+ properties: {
70
+ location: {
71
+ type: 'string',
72
+ description: 'Optional. Free-form location string.',
73
+ },
74
+ datePosted: {
75
+ type: 'string',
76
+ enum: ['anyTime', 'past24Hours', 'pastWeek', 'pastMonth'],
77
+ description: 'Optional. How recently the job was posted.',
78
+ },
79
+ experienceLevels: {
80
+ type: 'array',
81
+ description: 'Optional. Array of experience levels.',
82
+ items: {
83
+ type: 'string',
84
+ enum: [
85
+ 'internship',
86
+ 'entryLevel',
87
+ 'associate',
88
+ 'midSeniorLevel',
89
+ 'director',
90
+ 'executive',
91
+ ],
92
+ },
93
+ },
94
+ employmentTypes: {
95
+ type: 'array',
96
+ description: 'Optional. Array of employment types.',
97
+ items: {
98
+ type: 'string',
99
+ enum: [
100
+ 'fullTime',
101
+ 'partTime',
102
+ 'contract',
103
+ 'temporary',
104
+ 'volunteer',
105
+ 'internship',
106
+ 'other',
107
+ ],
108
+ },
109
+ },
110
+ workplaceTypes: {
111
+ type: 'array',
112
+ description: 'Optional. Array of workplace types.',
113
+ items: {
114
+ type: 'string',
115
+ enum: ['onSite', 'remote', 'hybrid'],
116
+ },
117
+ },
118
+ companies: {
119
+ type: 'array',
120
+ description: 'Optional. Array of company names.',
121
+ items: { type: 'string' },
122
+ },
123
+ industries: {
124
+ type: 'array',
125
+ description: 'Optional. Array of industry names.',
126
+ items: { type: 'string' },
127
+ },
128
+ jobFunctions: {
129
+ type: 'array',
130
+ description: 'Optional. Array of job function names.',
131
+ items: { type: 'string' },
132
+ },
133
+ easyApply: {
134
+ type: 'boolean',
135
+ description: 'Optional. When true, only jobs with Easy Apply.',
136
+ },
137
+ hasVerifications: {
138
+ type: 'boolean',
139
+ description: 'Optional. When true, only jobs with verification signals.',
140
+ },
141
+ under10Applicants: {
142
+ type: 'boolean',
143
+ description: 'Optional. When true, only jobs with fewer than 10 applicants.',
144
+ },
145
+ inYourNetwork: {
146
+ type: 'boolean',
147
+ description: 'Optional. When true, only jobs from your network.',
148
+ },
149
+ fairChanceEmployer: {
150
+ type: 'boolean',
151
+ description: 'Optional. When true, only fair chance employer jobs.',
152
+ },
153
+ },
154
+ },
155
+ customSearchUrl: {
156
+ type: 'string',
157
+ description: 'Optional. URL copied from a LinkedIn jobs search page. When specified, overrides term and filter.',
158
+ },
159
+ },
160
+ },
161
+ };
162
+ }
163
+ }
164
+ exports.SearchJobsTool = SearchJobsTool;
165
+ //# sourceMappingURL=search-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-jobs.js","sourceRoot":"","sources":["../../src/tools/search-jobs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkedapi/mcp",
3
- "version": "2.0.1",
3
+ "version": "2.1.1",
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": {
@@ -17,7 +17,7 @@
17
17
  "clean": "rm -rf dist",
18
18
  "typecheck": "tsc --noEmit",
19
19
  "lint": "eslint src --fix",
20
- "format": "prettier --write \"src/**/*.ts\"",
20
+ "format": "prettier --write --log-level warn \"src/**/*.ts\"",
21
21
  "prepublishOnly": "npm run clean && npm run build",
22
22
  "prepare": "husky"
23
23
  },
@@ -30,7 +30,7 @@
30
30
  "author": "Linked API",
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@linkedapi/node": "^2.0.0",
33
+ "@linkedapi/node": "^2.0.4",
34
34
  "@modelcontextprotocol/sdk": "^1.17.4",
35
35
  "zod": "^4.1.1"
36
36
  },
@@ -1,13 +1,23 @@
1
1
  import LinkedApi from '@linkedapi/node';
2
2
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
3
 
4
+ import { AdminCancelConnectionSessionTool } from './tools/admin-cancel-connection-session.js';
5
+ import { AdminCancelSubscriptionTool } from './tools/admin-cancel-subscription.js';
4
6
  import { AdminConnectAccountTool } from './tools/admin-connect-account.js';
7
+ import { AdminCreateReconnectionSessionTool } from './tools/admin-create-reconnection-session.js';
8
+ import { AdminDeleteLimitsTool } from './tools/admin-delete-limits.js';
5
9
  import { AdminDisconnectAccountTool } from './tools/admin-disconnect-account.js';
6
10
  import { AdminGetAccountsTool } from './tools/admin-get-accounts.js';
11
+ import { AdminGetBillingLinkTool } from './tools/admin-get-billing-link.js';
12
+ import { AdminGetConnectionSessionTool } from './tools/admin-get-connection-session.js';
13
+ import { AdminGetLimitsDefaultsTool } from './tools/admin-get-limits-defaults.js';
7
14
  import { AdminGetLimitsUsageTool } from './tools/admin-get-limits-usage.js';
15
+ import { AdminGetLimitsTool } from './tools/admin-get-limits.js';
8
16
  import { AdminGetSeatsTool } from './tools/admin-get-seats.js';
17
+ import { AdminGetSubscriptionPricingTool } from './tools/admin-get-subscription-pricing.js';
9
18
  import { AdminGetSubscriptionStatusTool } from './tools/admin-get-subscription-status.js';
10
19
  import { AdminRegenerateTokenTool } from './tools/admin-regenerate-token.js';
20
+ import { AdminReparseAccountInfoTool } from './tools/admin-reparse-account-info.js';
11
21
  import { AdminResetLimitsTool } from './tools/admin-reset-limits.js';
12
22
  import { AdminSetLimitsTool } from './tools/admin-set-limits.js';
13
23
  import { AdminSetSeatsTool } from './tools/admin-set-seats.js';
@@ -16,6 +26,7 @@ import { CommentOnPostTool } from './tools/comment-on-post.js';
16
26
  import { CreatePostTool } from './tools/create-post.js';
17
27
  import { ExecuteCustomWorkflowTool } from './tools/execute-custom-workflow.js';
18
28
  import { FetchCompanyTool } from './tools/fetch-company.js';
29
+ import { FetchJobTool } from './tools/fetch-job.js';
19
30
  import { FetchPersonTool } from './tools/fetch-person.js';
20
31
  import { FetchPostTool } from './tools/fetch-post.js';
21
32
  import { GetApiUsageTool } from './tools/get-api-usage-stats.js';
@@ -34,6 +45,7 @@ import { RetrievePendingRequestsTool } from './tools/retrieve-pending-requests.j
34
45
  import { RetrievePerformanceTool } from './tools/retrieve-performance.js';
35
46
  import { RetrieveSSITool } from './tools/retrieve-ssi.js';
36
47
  import { SearchCompaniesTool } from './tools/search-companies.js';
48
+ import { SearchJobsTool } from './tools/search-jobs.js';
37
49
  import { SearchPeopleTool } from './tools/search-people.js';
38
50
  import { SendConnectionRequestTool } from './tools/send-connection-request.js';
39
51
  import { SendMessageTool } from './tools/send-message.js';
@@ -69,9 +81,11 @@ export class LinkedApiTools {
69
81
  new RemoveConnectionTool(),
70
82
  new SearchCompaniesTool(),
71
83
  new SearchPeopleTool(),
84
+ new SearchJobsTool(),
72
85
  new FetchCompanyTool(),
73
86
  new FetchPersonTool(),
74
87
  new FetchPostTool(),
88
+ new FetchJobTool(),
75
89
  new ReactToPostTool(),
76
90
  new CommentOnPostTool(),
77
91
  new CreatePostTool(),
@@ -94,12 +108,22 @@ export class LinkedApiTools {
94
108
  new AdminGetSubscriptionStatusTool(),
95
109
  new AdminGetSeatsTool(),
96
110
  new AdminSetSeatsTool(),
111
+ new AdminGetSubscriptionPricingTool(),
112
+ new AdminGetBillingLinkTool(),
113
+ new AdminCancelSubscriptionTool(),
97
114
  new AdminGetAccountsTool(),
115
+ new AdminReparseAccountInfoTool(),
116
+ new AdminCreateReconnectionSessionTool(),
98
117
  new AdminConnectAccountTool(),
118
+ new AdminGetConnectionSessionTool(),
119
+ new AdminCancelConnectionSessionTool(),
99
120
  new AdminDisconnectAccountTool(),
100
121
  new AdminRegenerateTokenTool(),
122
+ new AdminGetLimitsDefaultsTool(),
123
+ new AdminGetLimitsTool(),
101
124
  new AdminGetLimitsUsageTool(),
102
125
  new AdminSetLimitsTool(),
126
+ new AdminDeleteLimitsTool(),
103
127
  new AdminResetLimitsTool(),
104
128
  ];
105
129
  }
@@ -0,0 +1,42 @@
1
+ import { LinkedApiAdmin, TCancelConnectionSessionParams } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import z from 'zod';
4
+
5
+ import { AdminTool } from '../utils/admin-tool.js';
6
+
7
+ export class AdminCancelConnectionSessionTool extends AdminTool<
8
+ TCancelConnectionSessionParams,
9
+ void
10
+ > {
11
+ public readonly name = 'admin_cancel_connection_session';
12
+ protected readonly schema = z.object({
13
+ sessionId: z.string(),
14
+ });
15
+
16
+ public override async execute({
17
+ admin,
18
+ args,
19
+ }: {
20
+ admin: LinkedApiAdmin;
21
+ args: TCancelConnectionSessionParams;
22
+ }): Promise<void> {
23
+ await admin.accounts.cancelConnectionSession(args);
24
+ }
25
+
26
+ public override getTool(): Tool {
27
+ return {
28
+ name: this.name,
29
+ description: 'Cancel a pending connection or reconnection session.',
30
+ inputSchema: {
31
+ type: 'object',
32
+ properties: {
33
+ sessionId: {
34
+ type: 'string',
35
+ description: 'Connection session UUID',
36
+ },
37
+ },
38
+ required: ['sessionId'],
39
+ },
40
+ };
41
+ }
42
+ }
@@ -0,0 +1,30 @@
1
+ import { LinkedApiAdmin, TCancelResult } from '@linkedapi/node';
2
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import z from 'zod';
4
+
5
+ import { AdminTool } from '../utils/admin-tool.js';
6
+
7
+ export class AdminCancelSubscriptionTool extends AdminTool<Record<string, never>, TCancelResult> {
8
+ public readonly name = 'admin_cancel_subscription';
9
+ protected readonly schema = z.object({});
10
+
11
+ public override async execute({
12
+ admin,
13
+ }: {
14
+ admin: LinkedApiAdmin;
15
+ args: Record<string, never>;
16
+ }): Promise<TCancelResult> {
17
+ return await admin.subscription.cancel();
18
+ }
19
+
20
+ public override getTool(): Tool {
21
+ return {
22
+ name: this.name,
23
+ description: 'Cancel the current subscription at the end of the billing period.',
24
+ inputSchema: {
25
+ type: 'object',
26
+ properties: {},
27
+ },
28
+ };
29
+ }
30
+ }
@@ -0,0 +1,47 @@
1
+ import {
2
+ LinkedApiAdmin,
3
+ TCreateReconnectionSessionParams,
4
+ TCreateReconnectionSessionResult,
5
+ } from '@linkedapi/node';
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import z from 'zod';
8
+
9
+ import { AdminTool } from '../utils/admin-tool.js';
10
+
11
+ export class AdminCreateReconnectionSessionTool extends AdminTool<
12
+ TCreateReconnectionSessionParams,
13
+ TCreateReconnectionSessionResult
14
+ > {
15
+ public readonly name = 'admin_create_reconnection_session';
16
+ protected readonly schema = z.object({
17
+ accountId: z.string(),
18
+ });
19
+
20
+ public override async execute({
21
+ admin,
22
+ args,
23
+ }: {
24
+ admin: LinkedApiAdmin;
25
+ args: TCreateReconnectionSessionParams;
26
+ }): Promise<TCreateReconnectionSessionResult> {
27
+ return await admin.accounts.createReconnectionSession(args);
28
+ }
29
+
30
+ public override getTool(): Tool {
31
+ return {
32
+ name: this.name,
33
+ description:
34
+ 'Create a reconnection session for an account with status reconnection_required. Returns reconnectionSessionId and reconnectionLink.',
35
+ inputSchema: {
36
+ type: 'object',
37
+ properties: {
38
+ accountId: {
39
+ type: 'string',
40
+ description: 'UUID of the account to reconnect',
41
+ },
42
+ },
43
+ required: ['accountId'],
44
+ },
45
+ };
46
+ }
47
+ }