@lhremote/mcp 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dist/helpers.d.ts +3 -15
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +17 -15
- package/dist/helpers.js.map +1 -1
- package/dist/tools/add-people-to-collection.test.d.ts +2 -0
- package/dist/tools/add-people-to-collection.test.d.ts.map +1 -0
- package/dist/tools/add-people-to-collection.test.js +61 -0
- package/dist/tools/add-people-to-collection.test.js.map +1 -0
- package/dist/tools/check-replies.d.ts.map +1 -1
- package/dist/tools/check-replies.js +11 -3
- package/dist/tools/check-replies.js.map +1 -1
- package/dist/tools/check-replies.test.js +10 -10
- package/dist/tools/check-replies.test.js.map +1 -1
- package/dist/tools/comment-on-post.js +2 -2
- package/dist/tools/comment-on-post.js.map +1 -1
- package/dist/tools/comment-on-post.test.d.ts +2 -0
- package/dist/tools/comment-on-post.test.d.ts.map +1 -0
- package/dist/tools/comment-on-post.test.js +64 -0
- package/dist/tools/comment-on-post.test.js.map +1 -0
- package/dist/tools/create-collection.test.d.ts +2 -0
- package/dist/tools/create-collection.test.d.ts.map +1 -0
- package/dist/tools/create-collection.test.js +55 -0
- package/dist/tools/create-collection.test.js.map +1 -0
- package/dist/tools/delete-collection.test.d.ts +2 -0
- package/dist/tools/delete-collection.test.d.ts.map +1 -0
- package/dist/tools/delete-collection.test.js +55 -0
- package/dist/tools/delete-collection.test.js.map +1 -0
- package/dist/tools/endorse-skills.d.ts.map +1 -1
- package/dist/tools/endorse-skills.js +8 -2
- package/dist/tools/endorse-skills.js.map +1 -1
- package/dist/tools/enrich-profile.d.ts.map +1 -1
- package/dist/tools/enrich-profile.js +8 -2
- package/dist/tools/enrich-profile.js.map +1 -1
- package/dist/tools/find-app.test.js +1 -1
- package/dist/tools/find-app.test.js.map +1 -1
- package/dist/tools/follow-person.d.ts.map +1 -1
- package/dist/tools/follow-person.js +8 -2
- package/dist/tools/follow-person.js.map +1 -1
- package/dist/tools/get-feed.test.js +0 -1
- package/dist/tools/get-feed.test.js.map +1 -1
- package/dist/tools/get-post.d.ts.map +1 -1
- package/dist/tools/get-post.js +4 -12
- package/dist/tools/get-post.js.map +1 -1
- package/dist/tools/get-post.test.d.ts +2 -0
- package/dist/tools/get-post.test.d.ts.map +1 -0
- package/dist/tools/get-post.test.js +90 -0
- package/dist/tools/get-post.test.js.map +1 -0
- package/dist/tools/get-profile-activity.d.ts.map +1 -1
- package/dist/tools/get-profile-activity.js +9 -12
- package/dist/tools/get-profile-activity.js.map +1 -1
- package/dist/tools/get-profile-activity.test.js +4 -5
- package/dist/tools/get-profile-activity.test.js.map +1 -1
- package/dist/tools/import-people-from-collection.test.d.ts +2 -0
- package/dist/tools/import-people-from-collection.test.d.ts.map +1 -0
- package/dist/tools/import-people-from-collection.test.js +86 -0
- package/dist/tools/import-people-from-collection.test.js.map +1 -0
- package/dist/tools/like-person-posts.d.ts.map +1 -1
- package/dist/tools/like-person-posts.js +8 -2
- package/dist/tools/like-person-posts.js.map +1 -1
- package/dist/tools/list-accounts.d.ts.map +1 -1
- package/dist/tools/list-accounts.js +19 -13
- package/dist/tools/list-accounts.js.map +1 -1
- package/dist/tools/list-collections.test.d.ts +2 -0
- package/dist/tools/list-collections.test.d.ts.map +1 -0
- package/dist/tools/list-collections.test.js +56 -0
- package/dist/tools/list-collections.test.js.map +1 -0
- package/dist/tools/message-person.d.ts.map +1 -1
- package/dist/tools/message-person.js +8 -2
- package/dist/tools/message-person.js.map +1 -1
- package/dist/tools/react-to-post.test.d.ts +2 -0
- package/dist/tools/react-to-post.test.d.ts.map +1 -0
- package/dist/tools/react-to-post.test.js +65 -0
- package/dist/tools/react-to-post.test.js.map +1 -0
- package/dist/tools/remove-connection.d.ts.map +1 -1
- package/dist/tools/remove-connection.js +8 -2
- package/dist/tools/remove-connection.js.map +1 -1
- package/dist/tools/remove-people-from-collection.test.d.ts +2 -0
- package/dist/tools/remove-people-from-collection.test.d.ts.map +1 -0
- package/dist/tools/remove-people-from-collection.test.js +60 -0
- package/dist/tools/remove-people-from-collection.test.js.map +1 -0
- package/dist/tools/scrape-messaging-history.d.ts.map +1 -1
- package/dist/tools/scrape-messaging-history.js +6 -2
- package/dist/tools/scrape-messaging-history.js.map +1 -1
- package/dist/tools/search-posts.d.ts.map +1 -1
- package/dist/tools/search-posts.js +9 -10
- package/dist/tools/search-posts.js.map +1 -1
- package/dist/tools/search-posts.test.js +12 -8
- package/dist/tools/search-posts.test.js.map +1 -1
- package/dist/tools/send-inmail.d.ts.map +1 -1
- package/dist/tools/send-inmail.js +8 -2
- package/dist/tools/send-inmail.js.map +1 -1
- package/dist/tools/send-invite.d.ts.map +1 -1
- package/dist/tools/send-invite.js +8 -2
- package/dist/tools/send-invite.js.map +1 -1
- package/dist/tools/start-instance.d.ts.map +1 -1
- package/dist/tools/start-instance.js +32 -33
- package/dist/tools/start-instance.js.map +1 -1
- package/dist/tools/stop-instance.d.ts.map +1 -1
- package/dist/tools/stop-instance.js +28 -29
- package/dist/tools/stop-instance.js.map +1 -1
- package/dist/tools/visit-profile.js +2 -2
- package/dist/tools/visit-profile.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-instance.d.ts","sourceRoot":"","sources":["../../src/tools/start-instance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,+GAA+G;AAC/G,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"start-instance.d.ts","sourceRoot":"","sources":["../../src/tools/start-instance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASzE,+GAA+G;AAC/G,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgE7D"}
|
|
@@ -1,53 +1,52 @@
|
|
|
1
1
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
2
|
// Copyright (C) 2026 Oleksii PELYKH
|
|
3
|
-
import { LauncherService, startInstanceWithRecovery, } from "@lhremote/core";
|
|
4
|
-
import { z } from "zod";
|
|
3
|
+
import { LauncherService, resolveLauncherPort, startInstanceWithRecovery, } from "@lhremote/core";
|
|
5
4
|
import { buildCdpOptions, cdpConnectionSchema, mcpCatchAll, mcpError, mcpSuccess } from "../helpers.js";
|
|
6
5
|
/** Register the {@link https://github.com/alexey-pelykh/lhremote#start-instance | start-instance} MCP tool. */
|
|
7
6
|
export function registerStartInstance(server) {
|
|
8
7
|
server.tool("start-instance", "Start a LinkedHelper instance for a LinkedIn account. Required before campaign or query operations.", {
|
|
9
|
-
accountId: z
|
|
10
|
-
.number()
|
|
11
|
-
.int()
|
|
12
|
-
.positive()
|
|
13
|
-
.optional()
|
|
14
|
-
.describe("Account ID (omit to auto-select if single account)"),
|
|
15
8
|
...cdpConnectionSchema,
|
|
16
9
|
}, async ({ accountId, cdpPort, cdpHost, allowRemote }) => {
|
|
17
|
-
const launcher = new LauncherService(cdpPort, buildCdpOptions({ cdpHost, allowRemote }));
|
|
18
10
|
try {
|
|
19
|
-
await
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
11
|
+
const port = await resolveLauncherPort(cdpPort, cdpHost);
|
|
12
|
+
const launcher = new LauncherService(port, buildCdpOptions({ cdpHost, allowRemote }));
|
|
13
|
+
try {
|
|
14
|
+
await launcher.connect();
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return mcpCatchAll(error, "Failed to connect to LinkedHelper");
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
let resolvedId = accountId;
|
|
21
|
+
if (resolvedId === undefined) {
|
|
22
|
+
const accounts = await launcher.listAccounts();
|
|
23
|
+
if (accounts.length === 0) {
|
|
24
|
+
return mcpError("No accounts found.");
|
|
25
|
+
}
|
|
26
|
+
if (accounts.length > 1) {
|
|
27
|
+
return mcpError("Multiple accounts found. Specify accountId. Use list-accounts to see available accounts.");
|
|
28
|
+
}
|
|
29
|
+
resolvedId = accounts[0].id;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
const outcome = await startInstanceWithRecovery(launcher, resolvedId, port);
|
|
32
|
+
if (outcome.status === "timeout") {
|
|
33
|
+
return mcpError("Instance started but failed to initialize within timeout.");
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
const verb = outcome.status === "already_running"
|
|
36
|
+
? "already running"
|
|
37
|
+
: "started";
|
|
38
|
+
return mcpSuccess(`Instance ${verb} for account ${String(resolvedId)} on CDP port ${String(outcome.port)}`);
|
|
35
39
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
catch (error) {
|
|
41
|
+
return mcpCatchAll(error, "Failed to start instance");
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
launcher.disconnect();
|
|
39
45
|
}
|
|
40
|
-
const verb = outcome.status === "already_running"
|
|
41
|
-
? "already running"
|
|
42
|
-
: "started";
|
|
43
|
-
return mcpSuccess(`Instance ${verb} for account ${String(resolvedId)} on CDP port ${String(outcome.port)}`);
|
|
44
46
|
}
|
|
45
47
|
catch (error) {
|
|
46
48
|
return mcpCatchAll(error, "Failed to start instance");
|
|
47
49
|
}
|
|
48
|
-
finally {
|
|
49
|
-
launcher.disconnect();
|
|
50
|
-
}
|
|
51
50
|
});
|
|
52
51
|
}
|
|
53
52
|
//# sourceMappingURL=start-instance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-instance.js","sourceRoot":"","sources":["../../src/tools/start-instance.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EAEL,eAAe,EACf,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"start-instance.js","sourceRoot":"","sources":["../../src/tools/start-instance.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExG,+GAA+G;AAC/G,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qGAAqG,EACrG;QACE,GAAG,mBAAmB;KACvB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEtF,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,UAAU,GAAG,SAAS,CAAC;gBAE3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACxC,CAAC;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAO,QAAQ,CACb,0FAA0F,CAC3F,CAAC;oBACJ,CAAC;oBACD,UAAU,GAAI,QAAQ,CAAC,CAAC,CAAa,CAAC,EAAE,CAAC;gBAC3C,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAC7C,QAAQ,EACR,UAAU,EACV,IAAI,CACL,CAAC;gBAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,QAAQ,CACb,2DAA2D,CAC5D,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GACR,OAAO,CAAC,MAAM,KAAK,iBAAiB;oBAClC,CAAC,CAAC,iBAAiB;oBACnB,CAAC,CAAC,SAAS,CAAC;gBAEhB,OAAO,UAAU,CACf,YAAY,IAAI,gBAAgB,MAAM,CAAC,UAAU,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACzF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;YACxD,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-instance.d.ts","sourceRoot":"","sources":["../../src/tools/stop-instance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,6GAA6G;AAC7G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"stop-instance.d.ts","sourceRoot":"","sources":["../../src/tools/stop-instance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,6GAA6G;AAC7G,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiD5D"}
|
|
@@ -1,47 +1,46 @@
|
|
|
1
1
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
2
2
|
// Copyright (C) 2026 Oleksii PELYKH
|
|
3
|
-
import { LauncherService, } from "@lhremote/core";
|
|
4
|
-
import { z } from "zod";
|
|
3
|
+
import { LauncherService, resolveLauncherPort, } from "@lhremote/core";
|
|
5
4
|
import { buildCdpOptions, cdpConnectionSchema, mcpCatchAll, mcpError, mcpSuccess } from "../helpers.js";
|
|
6
5
|
/** Register the {@link https://github.com/alexey-pelykh/lhremote#stop-instance | stop-instance} MCP tool. */
|
|
7
6
|
export function registerStopInstance(server) {
|
|
8
7
|
server.tool("stop-instance", "Stop a running LinkedHelper instance", {
|
|
9
|
-
accountId: z
|
|
10
|
-
.number()
|
|
11
|
-
.int()
|
|
12
|
-
.positive()
|
|
13
|
-
.optional()
|
|
14
|
-
.describe("Account ID (omit to stop the only running instance)"),
|
|
15
8
|
...cdpConnectionSchema,
|
|
16
9
|
}, async ({ accountId, cdpPort, cdpHost, allowRemote }) => {
|
|
17
|
-
const launcher = new LauncherService(cdpPort, buildCdpOptions({ cdpHost, allowRemote }));
|
|
18
10
|
try {
|
|
19
|
-
await
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
11
|
+
const port = await resolveLauncherPort(cdpPort, cdpHost);
|
|
12
|
+
const launcher = new LauncherService(port, buildCdpOptions({ cdpHost, allowRemote }));
|
|
13
|
+
try {
|
|
14
|
+
await launcher.connect();
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return mcpCatchAll(error, "Failed to connect to LinkedHelper");
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
let resolvedId = accountId;
|
|
21
|
+
if (resolvedId === undefined) {
|
|
22
|
+
const accounts = await launcher.listAccounts();
|
|
23
|
+
if (accounts.length === 0) {
|
|
24
|
+
return mcpError("No accounts found.");
|
|
25
|
+
}
|
|
26
|
+
if (accounts.length > 1) {
|
|
27
|
+
return mcpError("Multiple accounts found. Specify accountId. Use list-accounts to see available accounts.");
|
|
28
|
+
}
|
|
29
|
+
resolvedId = accounts[0].id;
|
|
33
30
|
}
|
|
34
|
-
|
|
31
|
+
await launcher.stopInstance(resolvedId);
|
|
32
|
+
return mcpSuccess(`Instance stopped for account ${String(resolvedId)}`);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return mcpCatchAll(error, "Failed to stop instance");
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
launcher.disconnect();
|
|
35
39
|
}
|
|
36
|
-
await launcher.stopInstance(resolvedId);
|
|
37
|
-
return mcpSuccess(`Instance stopped for account ${String(resolvedId)}`);
|
|
38
40
|
}
|
|
39
41
|
catch (error) {
|
|
40
42
|
return mcpCatchAll(error, "Failed to stop instance");
|
|
41
43
|
}
|
|
42
|
-
finally {
|
|
43
|
-
launcher.disconnect();
|
|
44
|
-
}
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
46
|
//# sourceMappingURL=stop-instance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-instance.js","sourceRoot":"","sources":["../../src/tools/stop-instance.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EAEL,eAAe,
|
|
1
|
+
{"version":3,"file":"stop-instance.js","sourceRoot":"","sources":["../../src/tools/stop-instance.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EAEL,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExG,6GAA6G;AAC7G,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,sCAAsC,EACtC;QACE,GAAG,mBAAmB;KACvB,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEtF,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,UAAU,GAAG,SAAS,CAAC;gBAE3B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACxC,CAAC;oBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAO,QAAQ,CACb,0FAA0F,CAC3F,CAAC;oBACJ,CAAC;oBACD,UAAU,GAAI,QAAQ,CAAC,CAAC,CAAa,CAAC,EAAE,CAAC;gBAC3C,CAAC;gBAED,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAExC,OAAO,UAAU,CACf,gCAAgC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrD,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YACvD,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -21,12 +21,12 @@ export function registerVisitProfile(server) {
|
|
|
21
21
|
.optional()
|
|
22
22
|
.describe("Extract current company info during profile visit"),
|
|
23
23
|
...cdpConnectionSchema,
|
|
24
|
-
}, async ({ personId, url, extractCurrentOrganizations, cdpPort, cdpHost, allowRemote }) => {
|
|
24
|
+
}, async ({ personId, url, extractCurrentOrganizations, cdpPort, cdpHost, allowRemote, accountId }) => {
|
|
25
25
|
if ((personId == null) === (url == null)) {
|
|
26
26
|
return mcpError("Exactly one of personId or url must be provided.");
|
|
27
27
|
}
|
|
28
28
|
try {
|
|
29
|
-
const result = await visitProfile({ personId, url, extractCurrentOrganizations, cdpPort, cdpHost, allowRemote });
|
|
29
|
+
const result = await visitProfile({ personId, url, extractCurrentOrganizations, cdpPort, cdpHost, allowRemote, accountId });
|
|
30
30
|
return mcpSuccess(JSON.stringify(result, null, 2));
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visit-profile.js","sourceRoot":"","sources":["../../src/tools/visit-profile.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EACL,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvF,6GAA6G;AAC7G,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uMAAuM,EACvM;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sHAAsH,CACvH;QACH,2BAA2B,EAAE,CAAC;aAC3B,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,mDAAmD,CACpD;QACH,GAAG,mBAAmB;KACvB,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"visit-profile.js","sourceRoot":"","sources":["../../src/tools/visit-profile.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAGpC,OAAO,EACL,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEvF,6GAA6G;AAC7G,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,IAAI,CACT,eAAe,EACf,uMAAuM,EACvM;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sHAAsH,CACvH;QACH,2BAA2B,EAAE,CAAC;aAC3B,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,mDAAmD,CACpD;QACH,GAAG,mBAAmB;KACvB,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;QACjG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,QAAQ,CACb,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5H,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lhremote/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "MCP server for LinkedHelper automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
48
48
|
"zod": "^4.3.6",
|
|
49
|
-
"@lhremote/core": "^0.
|
|
49
|
+
"@lhremote/core": "^0.10.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/node": "^25",
|