@apify/actors-mcp-server 0.1.10 → 0.1.12
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 +9 -7
- package/dist/actors.d.ts +12 -5
- package/dist/actors.d.ts.map +1 -1
- package/dist/actors.js +37 -16
- package/dist/actors.js.map +1 -1
- package/dist/const.d.ts +1 -0
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +1 -0
- package/dist/const.js.map +1 -1
- package/dist/examples/clientSse.js +2 -1
- package/dist/examples/clientSse.js.map +1 -1
- package/dist/examples/clientStdio.js +2 -1
- package/dist/examples/clientStdio.js.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +5 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +15 -9
- package/dist/server.js.map +1 -1
- package/dist/tools.d.ts +9 -6
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +26 -21
- package/dist/tools.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -53,11 +53,11 @@ MCP is an open protocol that enables secure, controlled interactions between AI
|
|
|
53
53
|
|
|
54
54
|
For more information, see the [Model Context Protocol](https://modelcontextprotocol.org/) website or blogpost [What is MCP and why does it matter?](https://blog.apify.com/what-is-model-context-protocol/).
|
|
55
55
|
|
|
56
|
-
# 🤖 How is
|
|
56
|
+
# 🤖 How is MCP Server related to AI Agents?
|
|
57
57
|
|
|
58
58
|
The Apify MCP Server exposes Apify's Actors through the MCP protocol, allowing AI Agents or frameworks that implement the MCP protocol to access all Apify Actors as tools for data extraction, web searching, and other tasks.
|
|
59
59
|
|
|
60
|
-
To learn more,
|
|
60
|
+
To learn more about AI Agents, explore our blog post: [What are AI Agents?](https://blog.apify.com/what-are-ai-agents/) and browse Apify's curated [AI Agent collection](https://apify.com/store/collections/ai_agents). Wondering if AI Agents are suitable for your specific needs? Our guide [AI agent workflow: building an agent to query Apify datasets](https://blog.apify.com/ai-agent-workflow/) walks you through practical implementation considerations and use cases.
|
|
61
61
|
|
|
62
62
|
# 🧱 Components
|
|
63
63
|
|
|
@@ -93,10 +93,10 @@ You can refer to the specific Actor's documentation for a list of available argu
|
|
|
93
93
|
### Helper tools
|
|
94
94
|
|
|
95
95
|
The server provides a set of helper tools to discover available Actors and retrieve their details:
|
|
96
|
-
- `get-actor-details`: Retrieves documentation, input schema, and
|
|
96
|
+
- `get-actor-details`: Retrieves documentation, input schema, and details about a specific Actor.
|
|
97
97
|
- `discover-actors`: Searches for relevant Actors using keywords and returns their details.
|
|
98
98
|
|
|
99
|
-
There are also tools to manage the available tools list. However, dynamically adding and removing tools requires the MCP client to have the capability to
|
|
99
|
+
There are also tools to manage the available tools list. However, dynamically adding and removing tools requires the MCP client to have the capability to update tools list (handle `ToolListChangedNotificationSchema`), which is typically not supported.
|
|
100
100
|
|
|
101
101
|
You can try this functionality using the [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) Actor.
|
|
102
102
|
To enable it, set the `enableActorAutoLoading` parameter.
|
|
@@ -198,7 +198,7 @@ Alternatively, you can use simple python [client_see.py](https://github.com/apif
|
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
## ⾕ MCP Server at a local host
|
|
201
|
-
|
|
201
|
+
|
|
202
202
|
You can run the Apify MCP Server on your local machine by configuring it with Claude Desktop or any other [MCP clients](https://modelcontextprotocol.io/clients).
|
|
203
203
|
You can also use [Smithery](https://smithery.ai/server/@apify/actors-mcp-server) to install the server automatically.
|
|
204
204
|
|
|
@@ -276,7 +276,7 @@ To configure Claude Desktop to work with the MCP server, follow these steps. For
|
|
|
276
276
|
```
|
|
277
277
|
5. Restart Claude Desktop
|
|
278
278
|
|
|
279
|
-
- Fully quit Claude Desktop (ensure it
|
|
279
|
+
- Fully quit Claude Desktop (ensure it's not just minimized or closed).
|
|
280
280
|
- Restart Claude Desktop.
|
|
281
281
|
- Look for the 🔌 icon to confirm that the Exa server is connected.
|
|
282
282
|
|
|
@@ -379,7 +379,7 @@ Enum fields and titles are truncated to max 50 options.
|
|
|
379
379
|
Memory for each Actor is limited to 4GB.
|
|
380
380
|
Free users have an 8GB limit, 128MB needs to be allocated for running `Actors-MCP-Server`.
|
|
381
381
|
|
|
382
|
-
If you need other features or have any feedback,
|
|
382
|
+
If you need other features or have any feedback, [submit an issue](https://console.apify.com/actors/1lSvMAaRcadrM1Vgv/issues) in Apify Console to let us know.
|
|
383
383
|
|
|
384
384
|
# 🚀 Roadmap (March 2025)
|
|
385
385
|
|
|
@@ -392,3 +392,5 @@ If you need other features or have any feedback, please [submit an issue](https:
|
|
|
392
392
|
- [What are AI Agents?](https://blog.apify.com/what-are-ai-agents/)
|
|
393
393
|
- [What is MCP and why does it matter?](https://blog.apify.com/what-is-model-context-protocol/)
|
|
394
394
|
- [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
|
|
395
|
+
- [AI agent workflow: building an agent to query Apify datasets](https://blog.apify.com/ai-agent-workflow/)
|
|
396
|
+
- [MCP Client development guide](https://github.com/cyanheads/model-context-protocol-resources/blob/main/guides/mcp-client-development-guide.md)
|
package/dist/actors.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ActorDefinitionPruned, SchemaProperties, Tool } from './types.js';
|
|
2
2
|
export declare function actorNameToToolName(actorName: string): string;
|
|
3
|
-
export declare function toolNameToActorName(toolName: string): string;
|
|
4
3
|
/**
|
|
5
4
|
* Get actor input schema by actor name.
|
|
6
5
|
* First, fetch the actor details to get the default build tag and buildId.
|
|
7
6
|
* Then, fetch the build details and return actorName, description, and input schema.
|
|
8
|
-
* @param {string}
|
|
7
|
+
* @param {string} actorIdOrName - Actor ID or Actor full name.
|
|
8
|
+
* @param {number} limit - Truncate the README to this limit.
|
|
9
9
|
* @returns {Promise<ActorDefinitionWithDesc | null>} - The actor definition with description or null if not found.
|
|
10
10
|
*/
|
|
11
|
-
export declare function getActorDefinition(
|
|
11
|
+
export declare function getActorDefinition(actorIdOrName: string, limit?: number): Promise<ActorDefinitionPruned | null>;
|
|
12
12
|
/**
|
|
13
13
|
* Shortens the description and enum values of schema properties.
|
|
14
14
|
* @param properties
|
|
@@ -18,6 +18,13 @@ export declare function shortenProperties(properties: {
|
|
|
18
18
|
}): {
|
|
19
19
|
[key: string]: SchemaProperties;
|
|
20
20
|
};
|
|
21
|
+
/** Prune Actor README if it is too long
|
|
22
|
+
* If the README is too long
|
|
23
|
+
* - We keep the README as it is up to the limit.
|
|
24
|
+
* - After the limit, we keep heading only
|
|
25
|
+
* - We add a note that the README was truncated because it was too long.
|
|
26
|
+
*/
|
|
27
|
+
export declare function truncateActorReadme(readme: string, limit?: number): string;
|
|
21
28
|
/**
|
|
22
29
|
* Filters schema properties to include only the necessary fields.
|
|
23
30
|
* @param properties
|
|
@@ -28,14 +35,14 @@ export declare function filterSchemaProperties(properties: {
|
|
|
28
35
|
[key: string]: SchemaProperties;
|
|
29
36
|
};
|
|
30
37
|
/**
|
|
31
|
-
* Fetches actor input schemas by
|
|
38
|
+
* Fetches actor input schemas by Actor IDs or Actor full names and creates MCP tools.
|
|
32
39
|
*
|
|
33
40
|
* This function retrieves the input schemas for the specified actors and compiles them into MCP tools.
|
|
34
41
|
* It uses the AJV library to validate the input schemas.
|
|
35
42
|
*
|
|
36
43
|
* Tool name can't contain /, so it is replaced with _
|
|
37
44
|
*
|
|
38
|
-
* @param {string[]} actors - An array of actor full names.
|
|
45
|
+
* @param {string[]} actors - An array of actor IDs or Actor full names.
|
|
39
46
|
* @returns {Promise<Tool[]>} - A promise that resolves to an array of MCP tools.
|
|
40
47
|
*/
|
|
41
48
|
export declare function getActorsAsTools(actors: string[]): Promise<Tool[]>;
|
package/dist/actors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actors.d.ts","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAA2B,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzG,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"actors.d.ts","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAA2B,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzG,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,GAAE,MAAgC,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAuC9I;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAOrH;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAA0B,GAAG,MAAM,CAS3F;AACD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAE,CAO3H;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA0BxE"}
|
package/dist/actors.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { Ajv } from 'ajv';
|
|
2
2
|
import { ApifyClient } from 'apify-client';
|
|
3
|
-
import { ACTOR_ADDITIONAL_INSTRUCTIONS, defaults, MAX_DESCRIPTION_LENGTH } from './const.js';
|
|
3
|
+
import { ACTOR_ADDITIONAL_INSTRUCTIONS, defaults, MAX_DESCRIPTION_LENGTH, ACTOR_README_MAX_LENGTH } from './const.js';
|
|
4
4
|
import { log } from './logger.js';
|
|
5
5
|
export function actorNameToToolName(actorName) {
|
|
6
|
-
return actorName
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
return actorName
|
|
7
|
+
.replace(/\//g, '-slash-')
|
|
8
|
+
.replace(/\./g, '-dot-')
|
|
9
|
+
.slice(0, 64);
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Get actor input schema by actor name.
|
|
13
13
|
* First, fetch the actor details to get the default build tag and buildId.
|
|
14
14
|
* Then, fetch the build details and return actorName, description, and input schema.
|
|
15
|
-
* @param {string}
|
|
15
|
+
* @param {string} actorIdOrName - Actor ID or Actor full name.
|
|
16
|
+
* @param {number} limit - Truncate the README to this limit.
|
|
16
17
|
* @returns {Promise<ActorDefinitionWithDesc | null>} - The actor definition with description or null if not found.
|
|
17
18
|
*/
|
|
18
|
-
export async function getActorDefinition(
|
|
19
|
+
export async function getActorDefinition(actorIdOrName, limit = ACTOR_README_MAX_LENGTH) {
|
|
19
20
|
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
|
|
20
|
-
const actorClient = client.actor(
|
|
21
|
+
const actorClient = client.actor(actorIdOrName);
|
|
21
22
|
try {
|
|
22
23
|
// Fetch actor details
|
|
23
24
|
const actor = await actorClient.get();
|
|
24
25
|
if (!actor) {
|
|
25
|
-
log.error(`Failed to fetch input schema for
|
|
26
|
+
log.error(`Failed to fetch input schema for Actor: ${actorIdOrName}. Actor not found.`);
|
|
26
27
|
return null;
|
|
27
28
|
}
|
|
28
29
|
// fnesveda: The default build is not necessarily tagged, you can specify any build number as default build.
|
|
@@ -31,27 +32,31 @@ export async function getActorDefinition(actorFullName) {
|
|
|
31
32
|
const tag = actor.defaultRunOptions?.build || '';
|
|
32
33
|
const buildId = actor.taggedBuilds?.[tag]?.buildId || '';
|
|
33
34
|
if (!buildId) {
|
|
34
|
-
log.error(`Failed to fetch input schema for
|
|
35
|
+
log.error(`Failed to fetch input schema for Actor: ${actorIdOrName}. Build ID not found.`);
|
|
35
36
|
return null;
|
|
36
37
|
}
|
|
37
38
|
// Fetch build details and return the input schema
|
|
38
39
|
const buildDetails = await client.build(buildId).get();
|
|
39
40
|
if (buildDetails?.actorDefinition) {
|
|
40
41
|
const actorDefinitions = buildDetails?.actorDefinition;
|
|
42
|
+
actorDefinitions.id = actor.id;
|
|
43
|
+
actorDefinitions.readme = truncateActorReadme(actorDefinitions.readme || '', limit);
|
|
41
44
|
actorDefinitions.description = actor.description || '';
|
|
42
|
-
actorDefinitions.actorFullName =
|
|
45
|
+
actorDefinitions.actorFullName = `${actor.username}/${actor.name}`;
|
|
43
46
|
actorDefinitions.defaultRunOptions = actor.defaultRunOptions;
|
|
44
47
|
return pruneActorDefinition(actorDefinitions);
|
|
45
48
|
}
|
|
46
49
|
return null;
|
|
47
50
|
}
|
|
48
51
|
catch (error) {
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
const errorMessage = `Failed to fetch input schema for Actor: ${actorIdOrName} with error ${error}.`;
|
|
53
|
+
log.error(errorMessage);
|
|
54
|
+
throw new Error(errorMessage);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
function pruneActorDefinition(response) {
|
|
54
58
|
return {
|
|
59
|
+
id: response.id,
|
|
55
60
|
actorFullName: response.actorFullName || '',
|
|
56
61
|
buildTag: response?.buildTag || '',
|
|
57
62
|
readme: response?.readme || '',
|
|
@@ -72,6 +77,22 @@ export function shortenProperties(properties) {
|
|
|
72
77
|
}
|
|
73
78
|
return properties;
|
|
74
79
|
}
|
|
80
|
+
/** Prune Actor README if it is too long
|
|
81
|
+
* If the README is too long
|
|
82
|
+
* - We keep the README as it is up to the limit.
|
|
83
|
+
* - After the limit, we keep heading only
|
|
84
|
+
* - We add a note that the README was truncated because it was too long.
|
|
85
|
+
*/
|
|
86
|
+
export function truncateActorReadme(readme, limit = ACTOR_README_MAX_LENGTH) {
|
|
87
|
+
if (readme.length <= limit) {
|
|
88
|
+
return readme;
|
|
89
|
+
}
|
|
90
|
+
const readmeFirst = readme.slice(0, limit);
|
|
91
|
+
const readmeRest = readme.slice(limit);
|
|
92
|
+
const lines = readmeRest.split('\n');
|
|
93
|
+
const prunedReadme = lines.filter((line) => line.startsWith('#'));
|
|
94
|
+
return `${readmeFirst}\n\nREADME was truncated because it was too long. Remaining headers:\n${prunedReadme.join(', ')}`;
|
|
95
|
+
}
|
|
75
96
|
/**
|
|
76
97
|
* Filters schema properties to include only the necessary fields.
|
|
77
98
|
* @param properties
|
|
@@ -85,14 +106,14 @@ export function filterSchemaProperties(properties) {
|
|
|
85
106
|
return filteredProperties;
|
|
86
107
|
}
|
|
87
108
|
/**
|
|
88
|
-
* Fetches actor input schemas by
|
|
109
|
+
* Fetches actor input schemas by Actor IDs or Actor full names and creates MCP tools.
|
|
89
110
|
*
|
|
90
111
|
* This function retrieves the input schemas for the specified actors and compiles them into MCP tools.
|
|
91
112
|
* It uses the AJV library to validate the input schemas.
|
|
92
113
|
*
|
|
93
114
|
* Tool name can't contain /, so it is replaced with _
|
|
94
115
|
*
|
|
95
|
-
* @param {string[]} actors - An array of actor full names.
|
|
116
|
+
* @param {string[]} actors - An array of actor IDs or Actor full names.
|
|
96
117
|
* @returns {Promise<Tool[]>} - A promise that resolves to an array of MCP tools.
|
|
97
118
|
*/
|
|
98
119
|
export async function getActorsAsTools(actors) {
|
|
@@ -117,7 +138,7 @@ export async function getActorsAsTools(actors) {
|
|
|
117
138
|
});
|
|
118
139
|
}
|
|
119
140
|
catch (validationError) {
|
|
120
|
-
log.error(`Failed to compile AJV schema for
|
|
141
|
+
log.error(`Failed to compile AJV schema for Actor: ${result.actorFullName}. Error: ${validationError}`);
|
|
121
142
|
}
|
|
122
143
|
}
|
|
123
144
|
}
|
package/dist/actors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"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"}
|
package/dist/const.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const defaults: {
|
|
|
8
8
|
enableActorAutoLoading: boolean;
|
|
9
9
|
maxMemoryMbytes: number;
|
|
10
10
|
};
|
|
11
|
+
export declare const ACTOR_README_MAX_LENGTH = 5000;
|
|
11
12
|
export declare const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM = 5000;
|
|
12
13
|
export declare const ACTOR_OUTPUT_TRUNCATED_MESSAGE: string;
|
|
13
14
|
export declare const ACTOR_ADDITIONAL_INSTRUCTIONS: string;
|
package/dist/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AACjF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,eAAO,MAAM,QAAQ;;;;CAQpB,CAAC;AAEF,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QACQ,CAAC;AACpD,eAAO,MAAM,6BAA6B,QACuB,CAAC;AAElE,oBAAY,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,iBAAiB,sBAAsB;CAC1C;AAED,oBAAY,MAAM;IACd,IAAI,MAAM;IACV,GAAG,SAAS;IACZ,OAAO,aAAa;CACvB"}
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AACjF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,eAAO,MAAM,QAAQ;;;;CAQpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QACQ,CAAC;AACpD,eAAO,MAAM,6BAA6B,QACuB,CAAC;AAElE,oBAAY,aAAa;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,iBAAiB,sBAAsB;CAC1C;AAED,oBAAY,MAAM;IACd,IAAI,MAAM;IACV,GAAG,SAAS;IACZ,OAAO,aAAa;CACvB"}
|
package/dist/const.js
CHANGED
|
@@ -12,6 +12,7 @@ export const defaults = {
|
|
|
12
12
|
enableActorAutoLoading: false,
|
|
13
13
|
maxMemoryMbytes: 4096,
|
|
14
14
|
};
|
|
15
|
+
export const ACTOR_README_MAX_LENGTH = 5000;
|
|
15
16
|
export const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM = 5_000;
|
|
16
17
|
export const ACTOR_OUTPUT_TRUNCATED_MESSAGE = `Output was truncated because it will not fit into context.`
|
|
17
18
|
+ `There is no reason to call this tool again!`;
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,MAAM,EAAE;QACJ,yBAAyB;QACzB,uBAAuB;QACvB,8CAA8C;KACjD;IACD,sBAAsB,EAAE,KAAK;IAC7B,eAAe,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,4DAA4D;MACpG,6CAA6C,CAAC;AACpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,8DAA8D;MACrG,2DAA2D,CAAC;AAElE,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,oDAAmC,CAAA;IACnC,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,wDAAuC,CAAA;AAC3C,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IACd,oBAAU,CAAA;IACV,sBAAY,CAAA;IACZ,8BAAoB,CAAA;AACxB,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB"}
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,MAAM,EAAE;QACJ,yBAAyB;QACzB,uBAAuB;QACvB,8CAA8C;KACjD;IACD,sBAAsB,EAAE,KAAK;IAC7B,eAAe,EAAE,IAAI;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,4DAA4D;MACpG,6CAA6C,CAAC;AACpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,8DAA8D;MACrG,2DAA2D,CAAC;AAElE,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,oDAAmC,CAAA;IACnC,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,wDAAuC,CAAA;AAC3C,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IACd,oBAAU,CAAA;IACV,sBAAY,CAAA;IACZ,8BAAoB,CAAA;AACxB,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB"}
|
|
@@ -12,13 +12,14 @@ import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
|
|
|
12
12
|
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
13
13
|
import dotenv from 'dotenv';
|
|
14
14
|
import { EventSource } from 'eventsource';
|
|
15
|
+
import { actorNameToToolName } from '../actors.js';
|
|
15
16
|
const REQUEST_TIMEOUT = 120_000; // 2 minutes
|
|
16
17
|
const filename = fileURLToPath(import.meta.url);
|
|
17
18
|
const dirname = path.dirname(filename);
|
|
18
19
|
dotenv.config({ path: path.resolve(dirname, '../../.env') });
|
|
19
20
|
const SERVER_URL = 'https://actors-mcp-server.apify.actor/sse';
|
|
20
21
|
// We need to change forward slash / to underscore -- in the tool name as Anthropic does not allow forward slashes in the tool name
|
|
21
|
-
const SELECTED_TOOL = 'apify
|
|
22
|
+
const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
|
|
22
23
|
const QUERY = 'web browser for Anthropic';
|
|
23
24
|
if (!process.env.APIFY_TOKEN) {
|
|
24
25
|
console.error('APIFY_TOKEN is required but not set in the environment variables.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,YAAY;AAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAE7D,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAC/D,mIAAmI;AACnI,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
|
12
12
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
13
13
|
import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
14
14
|
import dotenv from 'dotenv';
|
|
15
|
+
import { actorNameToToolName } from '../actors.js';
|
|
15
16
|
// Resolve dirname equivalent in ES module
|
|
16
17
|
const filename = fileURLToPath(import.meta.url);
|
|
17
18
|
const dirname = path.dirname(filename);
|
|
@@ -19,7 +20,7 @@ dotenv.config({ path: path.resolve(dirname, '../../.env') });
|
|
|
19
20
|
const SERVER_PATH = path.resolve(dirname, '../../dist/index.js');
|
|
20
21
|
const NODE_PATH = execSync(process.platform === 'win32' ? 'where node' : 'which node').toString().trim();
|
|
21
22
|
const TOOLS = 'apify/rag-web-browser,lukaskrivka/google-maps-with-contact-details';
|
|
22
|
-
const SELECTED_TOOL = 'apify
|
|
23
|
+
const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
|
|
23
24
|
if (!process.env.APIFY_TOKEN) {
|
|
24
25
|
console.error('APIFY_TOKEN is required but not set in the environment variables.');
|
|
25
26
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,0CAA0C;AAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AACjE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;AAEzG,MAAM,KAAK,GAAG,oEAAoE,CAAC;AACnF,MAAM,aAAa,GAAG,
|
|
1
|
+
{"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,9 +15,11 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
|
15
15
|
import minimist from 'minimist';
|
|
16
16
|
import { log } from './logger.js';
|
|
17
17
|
import { ApifyMcpServer } from './server.js';
|
|
18
|
+
import { getActorDiscoveryTools, getActorAutoLoadingTools } from './tools.js';
|
|
18
19
|
log.setLevel(log.LEVELS.ERROR);
|
|
19
20
|
const argv = minimist(process.argv.slice(2));
|
|
20
21
|
const argActors = argv.actors?.split(',').map((actor) => actor.trim()) || [];
|
|
22
|
+
const argEnableActorAutoLoading = argv.enableActorAutoLoading || false;
|
|
21
23
|
if (!process.env.APIFY_TOKEN) {
|
|
22
24
|
log.error('APIFY_TOKEN is required but not set in the environment variables.');
|
|
23
25
|
process.exit(1);
|
|
@@ -27,9 +29,12 @@ async function main() {
|
|
|
27
29
|
await (argActors.length !== 0
|
|
28
30
|
? server.addToolsFromActors(argActors)
|
|
29
31
|
: server.addToolsFromDefaultActors());
|
|
32
|
+
server.updateTools(getActorDiscoveryTools());
|
|
33
|
+
if (argEnableActorAutoLoading) {
|
|
34
|
+
server.updateTools(getActorAutoLoadingTools());
|
|
35
|
+
}
|
|
30
36
|
const transport = new StdioServerTransport();
|
|
31
37
|
await server.connect(transport);
|
|
32
|
-
console.error('Actors MCP Server running on stdio'); // eslint-disable-line no-console
|
|
33
38
|
}
|
|
34
39
|
main().catch((error) => {
|
|
35
40
|
console.error('Server error:', error); // eslint-disable-line no-console
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE9E,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AACrF,MAAM,yBAAyB,GAAG,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC;AAEvE,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,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7C,IAAI,yBAAyB,EAAE,CAAC;QAC5B,MAAM,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,iCAAiC;IACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -28,9 +28,13 @@ export declare class ApifyMcpServer {
|
|
|
28
28
|
* @throws {Error} - Throws an error if the `APIFY_TOKEN` is not set
|
|
29
29
|
*/
|
|
30
30
|
callActorGetDataset(actorName: string, input: unknown, callOptions?: ActorCallOptions | undefined): Promise<object[]>;
|
|
31
|
-
addToolsFromActors(actors: string[]): Promise<
|
|
31
|
+
addToolsFromActors(actors: string[]): Promise<Tool[]>;
|
|
32
32
|
addToolsFromDefaultActors(): Promise<void>;
|
|
33
33
|
updateTools(tools: Tool[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Returns an array of tool names.
|
|
36
|
+
* @returns {string[]} - An array of tool names.
|
|
37
|
+
*/
|
|
34
38
|
getToolNames(): string[];
|
|
35
39
|
private setupErrorHandling;
|
|
36
40
|
private setupToolHandlers;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAI/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA2BrD,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAoB;;IAmBjC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;;;;;;;;OAWG;IACU,mBAAmB,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,WAAW,GAAE,gBAAgB,GAAG,SAAqB,GACtD,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBP,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE;IAMnC,yBAAyB;IAI/B,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAOvC;;;OAGG;IACI,YAAY,IAAI,MAAM,EAAE;IAI/B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;IA2EnB,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
|
package/dist/server.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
6
6
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
7
7
|
import { Actor } from 'apify';
|
|
8
8
|
import { ApifyClient } from 'apify-client';
|
|
9
|
-
import {
|
|
9
|
+
import { filterSchemaProperties, getActorDefinition, getActorsAsTools, shortenProperties, } from './actors.js';
|
|
10
10
|
import { ACTOR_OUTPUT_MAX_CHARS_PER_ITEM, ACTOR_OUTPUT_TRUNCATED_MESSAGE, defaults, InternalTools, SERVER_NAME, SERVER_VERSION, USER_AGENT_ORIGIN, } from './const.js';
|
|
11
11
|
import { log } from './logger.js';
|
|
12
12
|
import { RemoveActorToolArgsSchema, AddActorToToolsArgsSchema, DiscoverActorsArgsSchema, searchActorsByKeywords, GetActorDefinition, } from './tools.js';
|
|
@@ -22,7 +22,7 @@ export class ApifyMcpServer {
|
|
|
22
22
|
version: SERVER_VERSION,
|
|
23
23
|
}, {
|
|
24
24
|
capabilities: {
|
|
25
|
-
tools: {},
|
|
25
|
+
tools: { listChanged: true },
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
28
|
this.tools = new Map();
|
|
@@ -53,7 +53,7 @@ export class ApifyMcpServer {
|
|
|
53
53
|
* @throws {Error} - Throws an error if the `APIFY_TOKEN` is not set
|
|
54
54
|
*/
|
|
55
55
|
async callActorGetDataset(actorName, input, callOptions = undefined) {
|
|
56
|
-
const name =
|
|
56
|
+
const name = actorName;
|
|
57
57
|
try {
|
|
58
58
|
log.info(`Calling actor ${name} with input: ${JSON.stringify(input)}`);
|
|
59
59
|
const options = { requestInterceptors: [this.addUserAgent] };
|
|
@@ -76,6 +76,7 @@ export class ApifyMcpServer {
|
|
|
76
76
|
async addToolsFromActors(actors) {
|
|
77
77
|
const tools = await getActorsAsTools(actors);
|
|
78
78
|
this.updateTools(tools);
|
|
79
|
+
return tools;
|
|
79
80
|
}
|
|
80
81
|
async addToolsFromDefaultActors() {
|
|
81
82
|
await this.addToolsFromActors(defaults.actors);
|
|
@@ -83,9 +84,13 @@ export class ApifyMcpServer {
|
|
|
83
84
|
updateTools(tools) {
|
|
84
85
|
for (const tool of tools) {
|
|
85
86
|
this.tools.set(tool.name, tool);
|
|
86
|
-
log.info(`Added/Updated tool: ${tool.name}`);
|
|
87
|
+
log.info(`Added/Updated tool: ${tool.actorFullName} (tool: ${tool.name})`);
|
|
87
88
|
}
|
|
88
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Returns an array of tool names.
|
|
92
|
+
* @returns {string[]} - An array of tool names.
|
|
93
|
+
*/
|
|
89
94
|
getToolNames() {
|
|
90
95
|
return Array.from(this.tools.keys());
|
|
91
96
|
}
|
|
@@ -109,8 +114,7 @@ export class ApifyMcpServer {
|
|
|
109
114
|
*/
|
|
110
115
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
111
116
|
const { name, arguments: args } = request.params;
|
|
112
|
-
|
|
113
|
-
const tool = this.tools.get(name) || this.tools.get(actorNameToToolName(name));
|
|
117
|
+
const tool = Array.from(this.tools.values()).find((t) => t.name === name || t.actorFullName === name);
|
|
114
118
|
if (!tool) {
|
|
115
119
|
throw new Error(`Unknown tool: ${name}`);
|
|
116
120
|
}
|
|
@@ -125,12 +129,14 @@ export class ApifyMcpServer {
|
|
|
125
129
|
switch (name) {
|
|
126
130
|
case InternalTools.ADD_ACTOR_TO_TOOLS: {
|
|
127
131
|
const parsed = AddActorToToolsArgsSchema.parse(args);
|
|
128
|
-
await this.addToolsFromActors([parsed.
|
|
129
|
-
|
|
132
|
+
const toolsAdded = await this.addToolsFromActors([parsed.actorName]);
|
|
133
|
+
await this.server.notification({ method: 'notifications/tools/list_changed' });
|
|
134
|
+
return { content: [{ type: 'text', text: `Actor added: ${toolsAdded.map((t) => `${t.actorFullName} (tool name: ${t.name})`).join(', ')}` }] };
|
|
130
135
|
}
|
|
131
136
|
case InternalTools.REMOVE_ACTOR_FROM_TOOLS: {
|
|
132
137
|
const parsed = RemoveActorToolArgsSchema.parse(args);
|
|
133
138
|
this.tools.delete(parsed.toolName);
|
|
139
|
+
await this.server.notification({ method: 'notifications/tools/list_changed' });
|
|
134
140
|
return { content: [{ type: 'text', text: `Tool ${parsed.toolName} was removed` }] };
|
|
135
141
|
}
|
|
136
142
|
case InternalTools.DISCOVER_ACTORS: {
|
|
@@ -140,7 +146,7 @@ export class ApifyMcpServer {
|
|
|
140
146
|
}
|
|
141
147
|
case InternalTools.GET_ACTOR_DETAILS: {
|
|
142
148
|
const parsed = GetActorDefinition.parse(args);
|
|
143
|
-
const v = await getActorDefinition(parsed.
|
|
149
|
+
const v = await getActorDefinition(parsed.actorName, parsed.limit);
|
|
144
150
|
if (v && v.input && 'properties' in v.input && v.input) {
|
|
145
151
|
const properties = filterSchemaProperties(v.input.properties);
|
|
146
152
|
v.input.properties = shortenProperties(properties);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -24,18 +24,21 @@ export declare const RemoveActorToolArgsSchema: z.ZodObject<{
|
|
|
24
24
|
toolName: string;
|
|
25
25
|
}>;
|
|
26
26
|
export declare const AddActorToToolsArgsSchema: z.ZodObject<{
|
|
27
|
-
|
|
27
|
+
actorName: z.ZodString;
|
|
28
28
|
}, "strip", z.ZodTypeAny, {
|
|
29
|
-
|
|
29
|
+
actorName: string;
|
|
30
30
|
}, {
|
|
31
|
-
|
|
31
|
+
actorName: string;
|
|
32
32
|
}>;
|
|
33
33
|
export declare const GetActorDefinition: z.ZodObject<{
|
|
34
|
-
|
|
34
|
+
actorName: z.ZodString;
|
|
35
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
35
36
|
}, "strip", z.ZodTypeAny, {
|
|
36
|
-
|
|
37
|
+
limit: number;
|
|
38
|
+
actorName: string;
|
|
37
39
|
}, {
|
|
38
|
-
|
|
40
|
+
actorName: string;
|
|
41
|
+
limit?: number | undefined;
|
|
39
42
|
}>;
|
|
40
43
|
export declare function getActorAutoLoadingTools(): Tool[];
|
|
41
44
|
export declare function getActorDiscoveryTools(): Tool[];
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,gBAAgB,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAqBnC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,gBAAgB,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAqBnC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;EAIpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;EAIpC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;EAQ7B,CAAC;AAEH,wBAAgB,wBAAwB,IAAI,IAAI,EAAE,CAsBjD;AAED,wBAAgB,sBAAsB,IAAI,IAAI,EAAE,CA0B/C;AA4BD,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,SAAqB,EACrC,MAAM,GAAE,MAAM,GAAG,SAAqB,GACvC,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAIpC"}
|