@apify/actors-mcp-server 0.5.2 → 0.5.6
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 +8 -0
- package/dist/actor/server.d.ts.map +1 -1
- package/dist/actor/server.js +12 -4
- package/dist/actor/server.js.map +1 -1
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +37 -30
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/utils.d.ts +3 -2
- package/dist/mcp/utils.d.ts.map +1 -1
- package/dist/mcp/utils.js +3 -2
- package/dist/mcp/utils.js.map +1 -1
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +31 -18
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/build.d.ts +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +8 -2
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/dataset.d.ts.map +1 -1
- package/dist/tools/dataset.js +19 -4
- package/dist/tools/dataset.js.map +1 -1
- package/dist/tools/dataset_collection.d.ts.map +1 -1
- package/dist/tools/dataset_collection.js +5 -0
- package/dist/tools/dataset_collection.js.map +1 -1
- package/dist/tools/fetch-actor-details.d.ts.map +1 -1
- package/dist/tools/fetch-actor-details.js +16 -8
- package/dist/tools/fetch-actor-details.js.map +1 -1
- package/dist/tools/fetch-apify-docs.d.ts.map +1 -1
- package/dist/tools/fetch-apify-docs.js +22 -26
- package/dist/tools/fetch-apify-docs.js.map +1 -1
- package/dist/tools/get-actor-output.d.ts.map +1 -1
- package/dist/tools/get-actor-output.js +6 -1
- package/dist/tools/get-actor-output.js.map +1 -1
- package/dist/tools/get-html-skeleton.d.ts.map +1 -1
- package/dist/tools/get-html-skeleton.js +9 -4
- package/dist/tools/get-html-skeleton.js.map +1 -1
- package/dist/tools/helpers.d.ts.map +1 -1
- package/dist/tools/helpers.js +4 -0
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/key_value_store.d.ts.map +1 -1
- package/dist/tools/key_value_store.js +15 -0
- package/dist/tools/key_value_store.js.map +1 -1
- package/dist/tools/key_value_store_collection.d.ts.map +1 -1
- package/dist/tools/key_value_store_collection.js +5 -0
- package/dist/tools/key_value_store_collection.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +15 -1
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/run_collection.d.ts.map +1 -1
- package/dist/tools/run_collection.js +5 -0
- package/dist/tools/run_collection.js.map +1 -1
- package/dist/tools/search-apify-docs.d.ts.map +1 -1
- package/dist/tools/search-apify-docs.js +24 -26
- package/dist/tools/search-apify-docs.js.map +1 -1
- package/dist/tools/store_collection.d.ts.map +1 -1
- package/dist/tools/store_collection.js +13 -12
- package/dist/tools/store_collection.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/actor-details.d.ts.map +1 -1
- package/dist/utils/actor-details.js +2 -14
- package/dist/utils/actor-details.js.map +1 -1
- package/dist/utils/logging.d.ts +15 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +51 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/mcp.d.ts +4 -1
- package/dist/utils/mcp.d.ts.map +1 -1
- package/dist/utils/mcp.js +4 -1
- package/dist/utils/mcp.js.map +1 -1
- package/dist/utils/tools-loader.d.ts +2 -1
- package/dist/utils/tools-loader.d.ts.map +1 -1
- package/dist/utils/tools-loader.js +2 -1
- package/dist/utils/tools-loader.js.map +1 -1
- package/dist/utils/tools.d.ts +7 -0
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +1 -0
- package/dist/utils/tools.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-details.d.ts","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"actor-details.d.ts","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAyBvH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import log from '@apify/log';
|
|
2
1
|
import { filterSchemaProperties, shortenProperties } from '../tools/utils.js';
|
|
3
2
|
import { formatActorToActorCard } from './actor-card.js';
|
|
3
|
+
import { logHttpError } from './logging.js';
|
|
4
4
|
export async function fetchActorDetails(apifyClient, actorName) {
|
|
5
5
|
try {
|
|
6
6
|
const [actorInfo, buildInfo] = await Promise.all([
|
|
@@ -25,19 +25,7 @@ export async function fetchActorDetails(apifyClient, actorName) {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
catch (error) {
|
|
28
|
-
|
|
29
|
-
const is404 = typeof error === 'object'
|
|
30
|
-
&& error !== null
|
|
31
|
-
&& 'statusCode' in error
|
|
32
|
-
&& error.statusCode === 404;
|
|
33
|
-
if (is404) {
|
|
34
|
-
// Log 404 errors at info level since they're expected (user may query non-existent actors)
|
|
35
|
-
log.info(`Actor '${actorName}' not found`, { actorName });
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
// Log other errors at error level
|
|
39
|
-
log.error(`Failed to fetch actor details for '${actorName}'`, { actorName, error });
|
|
40
|
-
}
|
|
28
|
+
logHttpError(error, `Failed to fetch actor details for '${actorName}'`, { actorName });
|
|
41
29
|
return null;
|
|
42
30
|
}
|
|
43
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actor-details.js","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actor-details.js","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAW5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAwB,EAAE,SAAiB;IAC/E,IAAI,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAA2C,MAAM,OAAO,CAAC,GAAG,CAAC;YACrF,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE;YAClC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACxE,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI;YACpD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACjB,CAAsB,CAAC;QACxB,WAAW,CAAC,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxE,WAAW,CAAC,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO;YACH,SAAS;YACT,SAAS;YACT,SAAS;YACT,WAAW;YACX,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,qBAAqB;SACpE,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,YAAY,CAAC,KAAK,EAAE,sCAAsC,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safely extract HTTP status code from errors.
|
|
3
|
+
* Checks both `statusCode` and `code` properties for compatibility.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getHttpStatusCode(error: unknown): number | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Logs HTTP errors based on status code, following apify-core pattern.
|
|
8
|
+
* Uses `softFail` for status < 500 (API client errors) and `exception` for status >= 500 (API server errors).
|
|
9
|
+
*
|
|
10
|
+
* @param error - The error object
|
|
11
|
+
* @param message - The log message
|
|
12
|
+
* @param data - Additional data to include in the log
|
|
13
|
+
*/
|
|
14
|
+
export declare function logHttpError<T extends object>(error: unknown, message: string, data?: T): void;
|
|
15
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAsBpE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAe9F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import log from '@apify/log';
|
|
2
|
+
/**
|
|
3
|
+
* Safely extract HTTP status code from errors.
|
|
4
|
+
* Checks both `statusCode` and `code` properties for compatibility.
|
|
5
|
+
*/
|
|
6
|
+
export function getHttpStatusCode(error) {
|
|
7
|
+
if (typeof error !== 'object' || error === null) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
// Check for statusCode property (used by apify-client)
|
|
11
|
+
if ('statusCode' in error) {
|
|
12
|
+
const { statusCode } = error;
|
|
13
|
+
if (typeof statusCode === 'number' && statusCode >= 100 && statusCode < 600) {
|
|
14
|
+
return statusCode;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Check for code property (used by some error types)
|
|
18
|
+
if ('code' in error) {
|
|
19
|
+
const { code } = error;
|
|
20
|
+
if (typeof code === 'number' && code >= 100 && code < 600) {
|
|
21
|
+
return code;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Logs HTTP errors based on status code, following apify-core pattern.
|
|
28
|
+
* Uses `softFail` for status < 500 (API client errors) and `exception` for status >= 500 (API server errors).
|
|
29
|
+
*
|
|
30
|
+
* @param error - The error object
|
|
31
|
+
* @param message - The log message
|
|
32
|
+
* @param data - Additional data to include in the log
|
|
33
|
+
*/
|
|
34
|
+
export function logHttpError(error, message, data) {
|
|
35
|
+
const statusCode = getHttpStatusCode(error);
|
|
36
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
37
|
+
if (statusCode !== undefined && statusCode < 500) {
|
|
38
|
+
// Client errors (< 500) - log as softFail without stack trace
|
|
39
|
+
log.softFail(message, { error: errorMessage, statusCode, ...data });
|
|
40
|
+
}
|
|
41
|
+
else if (statusCode !== undefined && statusCode >= 500) {
|
|
42
|
+
// Server errors (>= 500) - log as exception with full error (includes stack trace)
|
|
43
|
+
const errorObj = error instanceof Error ? error : new Error(String(error));
|
|
44
|
+
log.exception(errorObj, message, { statusCode, ...data });
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// No status code available - log as error
|
|
48
|
+
log.error(message, { error, ...data });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uDAAuD;IACvD,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,UAAU,EAAE,GAAI,KAAkC,CAAC;QAC3D,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC1E,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QAClB,MAAM,EAAE,IAAI,EAAE,GAAI,KAA4B,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAmB,KAAc,EAAE,OAAe,EAAE,IAAQ;IACpF,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5E,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QAC/C,8DAA8D;QAC9D,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACvD,mFAAmF;QACnF,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,0CAA0C;QAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC"}
|
package/dist/utils/mcp.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helper to build a response for MCP from an array of text strings.
|
|
3
|
+
* @param texts - Array of text strings to include in the response
|
|
4
|
+
* @param isError - Optional flag to mark the response as an error (default: false)
|
|
3
5
|
*/
|
|
4
|
-
export declare function buildMCPResponse(texts: string[]): {
|
|
6
|
+
export declare function buildMCPResponse(texts: string[], isError?: boolean): {
|
|
5
7
|
content: {
|
|
6
8
|
type: string;
|
|
7
9
|
text: string;
|
|
8
10
|
}[];
|
|
11
|
+
isError: boolean;
|
|
9
12
|
};
|
|
10
13
|
//# sourceMappingURL=mcp.d.ts.map
|
package/dist/utils/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/utils/mcp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/utils/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,UAAQ;;;;;;EAKhE"}
|
package/dist/utils/mcp.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Helper to build a response for MCP from an array of text strings.
|
|
3
|
+
* @param texts - Array of text strings to include in the response
|
|
4
|
+
* @param isError - Optional flag to mark the response as an error (default: false)
|
|
3
5
|
*/
|
|
4
|
-
export function buildMCPResponse(texts) {
|
|
6
|
+
export function buildMCPResponse(texts, isError = false) {
|
|
5
7
|
return {
|
|
6
8
|
content: texts.map((text) => ({ type: 'text', text })),
|
|
9
|
+
isError,
|
|
7
10
|
};
|
|
8
11
|
}
|
|
9
12
|
//# sourceMappingURL=mcp.js.map
|
package/dist/utils/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/utils/mcp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/utils/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,OAAO,GAAG,KAAK;IAC7D,OAAO;QACH,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO;KACV,CAAC;AACN,CAAC"}
|
|
@@ -10,7 +10,8 @@ import type { Input, ToolEntry } from '../types.js';
|
|
|
10
10
|
* This function is used by both the stdio.ts and the processParamsGetTools function.
|
|
11
11
|
*
|
|
12
12
|
* @param input The processed Input object
|
|
13
|
-
* @param
|
|
13
|
+
* @param apifyClient The Apify client instance
|
|
14
|
+
* @param _initializeRequestData Optional initialize request data
|
|
14
15
|
* @returns An array of tool entries
|
|
15
16
|
*/
|
|
16
17
|
export declare function loadToolsFromInput(input: Input, apifyClient: ApifyClient, _initializeRequestData?: InitializeRequest): Promise<ToolEntry[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AASzC,OAAO,KAAK,EAAE,KAAK,EAAkC,SAAS,EAAE,MAAM,aAAa,CAAC;AAepF
|
|
1
|
+
{"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AASzC,OAAO,KAAK,EAAE,KAAK,EAAkC,SAAS,EAAE,MAAM,aAAa,CAAC;AAepF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,sBAAsB,CAAC,EAAE,iBAAiB,GAC3C,OAAO,CAAC,SAAS,EAAE,CAAC,CAkJtB"}
|
|
@@ -23,7 +23,8 @@ function getInternalToolByNameMap() {
|
|
|
23
23
|
* This function is used by both the stdio.ts and the processParamsGetTools function.
|
|
24
24
|
*
|
|
25
25
|
* @param input The processed Input object
|
|
26
|
-
* @param
|
|
26
|
+
* @param apifyClient The Apify client instance
|
|
27
|
+
* @param _initializeRequestData Optional initialize request data
|
|
27
28
|
* @returns An array of tool entries
|
|
28
29
|
*/
|
|
29
30
|
export async function loadToolsFromInput(input, apifyClient, _initializeRequestData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,iFAAiF;AACjF,IAAI,2BAA2B,GAAkC,IAAI,CAAC;AACtE,SAAS,wBAAwB;IAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAmB,CAAC,CAAC;QAChG,2BAA2B,GAAG,IAAI,GAAG,CACjC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAClD,CAAC;IACN,CAAC;IACD,OAAO,2BAA2B,CAAC;AACvC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tools.d.ts
CHANGED
|
@@ -13,6 +13,13 @@ export declare function getToolPublicFieldOnly(tool: ToolBase): {
|
|
|
13
13
|
} & {
|
|
14
14
|
[k: string]: unknown;
|
|
15
15
|
};
|
|
16
|
+
annotations: import("zod").objectOutputType<{
|
|
17
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
18
|
+
readOnlyHint: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
19
|
+
destructiveHint: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
20
|
+
idempotentHint: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
21
|
+
openWorldHint: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
22
|
+
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
16
23
|
};
|
|
17
24
|
/**
|
|
18
25
|
* Returns the tool objects for the given category names using toolCategories.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ;;;;;;;;;;;;;;;;;EAOpD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAGpF;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAErF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAkB9D"}
|
package/dist/utils/tools.js
CHANGED
package/dist/utils/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAChC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAA0B;IACnE,OAAO,UAAU;SACZ,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAA0B;IACvE,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAoB;IAC/C,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC;IAClD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC/D,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAc,CAAC;IAEjB,iCAAiC;IACjC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;IACzC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,YAAY,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAChC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAA0B;IACnE,OAAO,UAAU;SACZ,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAA0B;IACvE,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAoB;IAC/C,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC;IAClD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC/D,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAc,CAAC;IAEjB,iCAAiC;IACjC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;IACzC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,YAAY,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.2",
|
|
3
3
|
"name": "apify-mcp-server",
|
|
4
4
|
"display_name": "Apify MCP server",
|
|
5
|
-
"version": "0.5.
|
|
5
|
+
"version": "0.5.6",
|
|
6
6
|
"description": "Extract data from any website using thousands of tools from the Apify Store.",
|
|
7
7
|
"long_description": "Apify is the world's largest marketplace of tools for web scraping, data extraction, and web automation. You can extract structured data from social media, e-commerce, search engines, maps, travel sites, or any other website.",
|
|
8
8
|
"keywords": [
|
package/package.json
CHANGED