@apify/actors-mcp-server 0.1.22-beta.1 → 0.1.22-beta.2
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 +65 -2
- package/dist/actor/server.d.ts +1 -1
- package/dist/actor/server.d.ts.map +1 -1
- package/dist/actor/server.js +4 -3
- package/dist/actor/server.js.map +1 -1
- package/dist/actor/types.d.ts +0 -7
- package/dist/actor/types.d.ts.map +1 -1
- package/dist/actor/utils.d.ts +1 -9
- package/dist/actor/utils.d.ts.map +1 -1
- package/dist/actor/utils.js +0 -24
- package/dist/actor/utils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js.map +1 -0
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/mcp/actors.d.ts +3 -0
- package/dist/mcp/actors.d.ts.map +1 -0
- package/dist/mcp/actors.js +12 -0
- package/dist/mcp/actors.js.map +1 -0
- package/dist/mcp/client.d.ts +6 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +33 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/const.d.ts +3 -0
- package/dist/mcp/const.d.ts.map +1 -0
- package/dist/mcp/const.js +3 -0
- package/dist/mcp/const.js.map +1 -0
- package/dist/{mcp-server.d.ts → mcp/mcp-server.d.ts} +5 -3
- package/dist/mcp/mcp-server.d.ts.map +1 -0
- package/dist/{mcp-server.js → mcp/mcp-server.js} +32 -10
- package/dist/mcp/mcp-server.js.map +1 -0
- package/dist/mcp/proxy.d.ts +4 -0
- package/dist/mcp/proxy.d.ts.map +1 -0
- package/dist/mcp/proxy.js +29 -0
- package/dist/mcp/proxy.js.map +1 -0
- package/dist/mcp/utils.d.ts +26 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/utils.js +52 -0
- package/dist/mcp/utils.js.map +1 -0
- package/dist/stdio.js +2 -2
- package/dist/stdio.js.map +1 -1
- package/dist/tools/actor.d.ts +4 -1
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +43 -1
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/helpers.js +2 -2
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +25 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/actor/input.d.ts.map +0 -1
- package/dist/actor/input.js.map +0 -1
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js.map +0 -1
- /package/dist/{actor/input.d.ts → input.d.ts} +0 -0
- /package/dist/{actor/input.js → input.js} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { MAX_TOOL_NAME_LENGTH, SERVER_ID_LENGTH } from "./const";
|
|
3
|
+
import { parse } from 'node:querystring';
|
|
4
|
+
import { processInput } from '../input.js';
|
|
5
|
+
import { addTool, getActorsAsTools, removeTool } from '../tools/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Generates a unique server ID based on the provided URL.
|
|
8
|
+
*
|
|
9
|
+
* URL is used instead of Actor ID becase one Actor may expose multiple servers - legacy SSE / streamable HTTP.
|
|
10
|
+
*
|
|
11
|
+
* @param url The URL to generate the server ID from.
|
|
12
|
+
* @returns A unique server ID.
|
|
13
|
+
*/
|
|
14
|
+
export function getMCPServerID(url) {
|
|
15
|
+
const serverHashDigest = createHash('sha256').update(url).digest('hex');
|
|
16
|
+
return serverHashDigest.slice(0, SERVER_ID_LENGTH);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generates a unique tool name based on the provided URL and tool name.
|
|
20
|
+
* @param url The URL to generate the tool name from.
|
|
21
|
+
* @param toolName The tool name to generate the tool name from.
|
|
22
|
+
* @returns A unique tool name.
|
|
23
|
+
*/
|
|
24
|
+
export function getProxyMCPServerToolName(url, toolName) {
|
|
25
|
+
const prefix = getMCPServerID(url);
|
|
26
|
+
const fullName = `${prefix}-${toolName}`;
|
|
27
|
+
return fullName.slice(0, MAX_TOOL_NAME_LENGTH);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Process input parameters and get tools
|
|
31
|
+
* If URL contains query parameter `actors`, return tools from Actors otherwise return null.
|
|
32
|
+
* @param url
|
|
33
|
+
*/
|
|
34
|
+
export async function processParamsGetTools(url, apifyToken) {
|
|
35
|
+
const input = parseInputParamsFromUrl(url);
|
|
36
|
+
let tools = [];
|
|
37
|
+
if (input.actors) {
|
|
38
|
+
const actors = input.actors;
|
|
39
|
+
// Normal Actors as a tool
|
|
40
|
+
tools = await getActorsAsTools(actors, apifyToken);
|
|
41
|
+
}
|
|
42
|
+
if (input.enableActorAutoLoading) {
|
|
43
|
+
tools.push(addTool, removeTool);
|
|
44
|
+
}
|
|
45
|
+
return tools;
|
|
46
|
+
}
|
|
47
|
+
export function parseInputParamsFromUrl(url) {
|
|
48
|
+
const query = url.split('?')[1] || '';
|
|
49
|
+
const params = parse(query);
|
|
50
|
+
return processInput(params);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG1E;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAExE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,QAAgB;IACnE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;IACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,UAAkB;IACvE,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAkB,CAAC;QACxC,0BAA0B;QAC1B,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAqB,CAAC;IAChD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/stdio.js
CHANGED
|
@@ -15,7 +15,7 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
15
15
|
import minimist from 'minimist';
|
|
16
16
|
import log from '@apify/log';
|
|
17
17
|
import { defaults } from './const.js';
|
|
18
|
-
import { ActorsMcpServer } from './mcp-server.js';
|
|
18
|
+
import { ActorsMcpServer } from './mcp/mcp-server.js';
|
|
19
19
|
import { addTool, removeTool, getActorsAsTools } from './tools/index.js';
|
|
20
20
|
// Configure logging, set to ERROR
|
|
21
21
|
log.setLevel(log.LEVELS.ERROR);
|
|
@@ -30,7 +30,7 @@ if (!process.env.APIFY_TOKEN) {
|
|
|
30
30
|
async function main() {
|
|
31
31
|
const mcpServer = new ActorsMcpServer();
|
|
32
32
|
// Initialize tools
|
|
33
|
-
const tools = await getActorsAsTools(actorList.length ? actorList : defaults.actors);
|
|
33
|
+
const tools = await getActorsAsTools(actorList.length ? actorList : defaults.actors, process.env.APIFY_TOKEN);
|
|
34
34
|
if (enableActorAutoLoading) {
|
|
35
35
|
tools.push(addTool, removeTool);
|
|
36
36
|
}
|
package/dist/stdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,kCAAkC;AAClC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE/B,+BAA+B;AAC/B,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,sBAAsB,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAE/E,uBAAuB;AACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,mBAAmB;IACnB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC;IACxH,IAAI,sBAAsB,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7B,eAAe;IACf,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
package/dist/tools/actor.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ import type { ToolWrap } from '../types.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function callActorGetDataset(actorName: string, input: unknown, apifyToken: string, callOptions?: ActorCallOptions | undefined): Promise<object[]>;
|
|
18
18
|
/**
|
|
19
|
+
* This function is used to fetch normal non-MCP server Actors as a tool.
|
|
20
|
+
*
|
|
19
21
|
* Fetches actor input schemas by Actor IDs or Actor full names and creates MCP tools.
|
|
20
22
|
*
|
|
21
23
|
* This function retrieves the input schemas for the specified actors and compiles them into MCP tools.
|
|
@@ -33,5 +35,6 @@ export declare function callActorGetDataset(actorName: string, input: unknown, a
|
|
|
33
35
|
* @param {string[]} actors - An array of actor IDs or Actor full names.
|
|
34
36
|
* @returns {Promise<Tool[]>} - A promise that resolves to an array of MCP tools.
|
|
35
37
|
*/
|
|
36
|
-
export declare function
|
|
38
|
+
export declare function getNormalActorsAsTools(actors: string[]): Promise<ToolWrap[]>;
|
|
39
|
+
export declare function getActorsAsTools(actors: string[], apifyToken: string): Promise<ToolWrap[]>;
|
|
37
40
|
//# sourceMappingURL=actor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/tools/actor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/tools/actor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkB5C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,gBAAgB,GAAG,SAAqB,GACtD,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgClF;AAuBD,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAsBrB"}
|
package/dist/tools/actor.js
CHANGED
|
@@ -4,6 +4,9 @@ import { getActorDefinition } from './build.js';
|
|
|
4
4
|
import { ACTOR_ADDITIONAL_INSTRUCTIONS, ACTOR_MAX_MEMORY_MBYTES } from '../const.js';
|
|
5
5
|
import { ApifyClient } from './mcp-apify-client.js';
|
|
6
6
|
import { actorNameToToolName, addEnumsToDescriptionsWithExamples, buildNestedProperties, filterSchemaProperties, markInputPropertiesAsRequired, shortenProperties, } from './utils.js';
|
|
7
|
+
import { getActorsMCPServerURL, isActorMCPServer } from '../mcp/actors.js';
|
|
8
|
+
import { createMCPClient } from '../mcp/client.js';
|
|
9
|
+
import { getMCPServerTools } from '../mcp/proxy.js';
|
|
7
10
|
/**
|
|
8
11
|
* Calls an Apify actor and retrieves the dataset items.
|
|
9
12
|
*
|
|
@@ -35,6 +38,8 @@ export async function callActorGetDataset(actorName, input, apifyToken, callOpti
|
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
/**
|
|
41
|
+
* This function is used to fetch normal non-MCP server Actors as a tool.
|
|
42
|
+
*
|
|
38
43
|
* Fetches actor input schemas by Actor IDs or Actor full names and creates MCP tools.
|
|
39
44
|
*
|
|
40
45
|
* This function retrieves the input schemas for the specified actors and compiles them into MCP tools.
|
|
@@ -52,7 +57,7 @@ export async function callActorGetDataset(actorName, input, apifyToken, callOpti
|
|
|
52
57
|
* @param {string[]} actors - An array of actor IDs or Actor full names.
|
|
53
58
|
* @returns {Promise<Tool[]>} - A promise that resolves to an array of MCP tools.
|
|
54
59
|
*/
|
|
55
|
-
export async function
|
|
60
|
+
export async function getNormalActorsAsTools(actors) {
|
|
56
61
|
const ajv = new Ajv({ coerceTypes: 'array', strict: false });
|
|
57
62
|
const results = await Promise.all(actors.map(getActorDefinition));
|
|
58
63
|
const tools = [];
|
|
@@ -86,4 +91,41 @@ export async function getActorsAsTools(actors) {
|
|
|
86
91
|
}
|
|
87
92
|
return tools;
|
|
88
93
|
}
|
|
94
|
+
async function getMCPServersAsTools(actors, apifyToken) {
|
|
95
|
+
const actorsMCPServerTools = [];
|
|
96
|
+
for (const actorID of actors) {
|
|
97
|
+
const serverUrl = await getActorsMCPServerURL(actorID);
|
|
98
|
+
let client;
|
|
99
|
+
try {
|
|
100
|
+
client = await createMCPClient(serverUrl, apifyToken);
|
|
101
|
+
const serverTools = await getMCPServerTools(actorID, client, serverUrl);
|
|
102
|
+
actorsMCPServerTools.push(...serverTools);
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
if (client)
|
|
106
|
+
await client.close();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return actorsMCPServerTools;
|
|
110
|
+
}
|
|
111
|
+
export async function getActorsAsTools(actors, apifyToken) {
|
|
112
|
+
console.log('Fetching actors as tools...');
|
|
113
|
+
console.log(actors);
|
|
114
|
+
// Actorized MCP servers
|
|
115
|
+
const actorsMCPServer = [];
|
|
116
|
+
for (const actorID of actors) {
|
|
117
|
+
if (await isActorMCPServer(actorID)) {
|
|
118
|
+
actorsMCPServer.push(actorID);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Normal Actors as a tool
|
|
122
|
+
const toolActors = actors.filter((actorID) => !actorsMCPServer.includes(actorID));
|
|
123
|
+
console.log('actorsMCPserver', actorsMCPServer);
|
|
124
|
+
console.log('toolActors', toolActors);
|
|
125
|
+
// Normal Actors as a tool
|
|
126
|
+
const normalTools = await getNormalActorsAsTools(toolActors);
|
|
127
|
+
// Tools from Actorized MCP servers
|
|
128
|
+
const mcpServerTools = await getMCPServersAsTools(actorsMCPServer, apifyToken);
|
|
129
|
+
return [...normalTools, ...mcpServerTools];
|
|
130
|
+
}
|
|
89
131
|
//# sourceMappingURL=actor.js.map
|
package/dist/tools/actor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/tools/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,GAAG,MAAM,YAAY,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACH,mBAAmB,EACnB,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,GACpB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/tools/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,GAAG,MAAM,YAAY,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACH,mBAAmB,EACnB,kCAAkC,EAClC,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,SAAiB,EACjB,KAAc,EACd,UAAkB,EAClB,cAA4C,SAAS;IAErD,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,IAAI,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3E,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,kBAAkB,OAAO,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAEtE,OAAO,OAAO,CAAC,KAAK,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAgB;IACzD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,MAAM,CAAC,KAAK,IAAI,YAAY,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACzE,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC1E,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,kCAAkC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,EAAE,YAAY,IAAI,uBAAuB,CAAC;gBACvF,KAAK,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE;wBACF,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC;wBAC/C,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,kBAAkB,6BAA6B,EAAE;wBACnF,WAAW,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;wBAC/B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC5C,YAAY,EAAE,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY;qBAChG;iBACJ,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBACvB,GAAG,CAAC,KAAK,CAAC,2CAA2C,MAAM,CAAC,aAAa,YAAY,eAAe,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,MAAgB,EAChB,UAAkB;IAElB,MAAM,oBAAoB,GAAe,EAAE,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACvE,oBAAoB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,CAAC;gBAAS,CAAC;YACP,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;IACL,CAAC;IAED,OAAO,oBAAoB,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAgB,EAChB,UAAkB;IAElB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,wBAAwB;IACxB,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IACD,0BAA0B;IAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAEtC,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE7D,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAE/E,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC;AAC/C,CAAC"}
|
package/dist/tools/helpers.js
CHANGED
|
@@ -22,9 +22,9 @@ export const addTool = {
|
|
|
22
22
|
ajvValidate: ajv.compile(zodToJsonSchema(AddToolArgsSchema)),
|
|
23
23
|
// TODO: I don't like that we are passing apifyMcpServer and mcpServer to the tool
|
|
24
24
|
call: async (toolArgs) => {
|
|
25
|
-
const { apifyMcpServer, mcpServer, args } = toolArgs;
|
|
25
|
+
const { apifyMcpServer, mcpServer, apifyToken, args } = toolArgs;
|
|
26
26
|
const parsed = AddToolArgsSchema.parse(args);
|
|
27
|
-
const tools = await getActorsAsTools([parsed.actorName]);
|
|
27
|
+
const tools = await getActorsAsTools([parsed.actorName], apifyToken);
|
|
28
28
|
const toolsAdded = apifyMcpServer.updateTools(tools);
|
|
29
29
|
await mcpServer.notification({ method: 'notifications/tools/list_changed' });
|
|
30
30
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,QAAQ,CAAC,6DAA6D;UACjE,mDAAmD,CAAC;CACjE,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,OAAO,GAAa;IAC7B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE;QACF,IAAI,EAAE,WAAW,CAAC,QAAQ;QAC1B,WAAW,EAAE,2DAA2D;cAClE,uEAAuE;cACvE,2CAA2C;cAC3C,2FAA2F;QACjG,WAAW,EAAE,eAAe,CAAC,iBAAiB,CAAC;QAC/C,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC5D,kFAAkF;QAClF,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACrB,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"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"}
|