@apify/actors-mcp-server 0.1.20 → 0.1.22-beta.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.
Files changed (97) hide show
  1. package/README.md +5 -25
  2. package/dist/actor/const.d.ts +15 -0
  3. package/dist/actor/const.d.ts.map +1 -0
  4. package/dist/actor/const.js +20 -0
  5. package/dist/actor/const.js.map +1 -0
  6. package/dist/{input.d.ts → actor/input.d.ts} +1 -1
  7. package/dist/actor/input.d.ts.map +1 -0
  8. package/dist/{input.js → actor/input.js} +5 -1
  9. package/dist/actor/input.js.map +1 -0
  10. package/dist/actor/server.d.ts +4 -0
  11. package/dist/actor/server.d.ts.map +1 -0
  12. package/dist/actor/server.js +81 -0
  13. package/dist/actor/server.js.map +1 -0
  14. package/dist/actor/types.d.ts +30 -0
  15. package/dist/actor/types.d.ts.map +1 -0
  16. package/dist/actor/types.js +2 -0
  17. package/dist/actor/types.js.map +1 -0
  18. package/dist/actor/utils.d.ts +11 -0
  19. package/dist/actor/utils.d.ts.map +1 -0
  20. package/dist/actor/utils.js +50 -0
  21. package/dist/actor/utils.js.map +1 -0
  22. package/dist/const.d.ts +10 -20
  23. package/dist/const.d.ts.map +1 -1
  24. package/dist/const.js +17 -27
  25. package/dist/const.js.map +1 -1
  26. package/dist/examples/clientSse.d.ts +10 -1
  27. package/dist/examples/clientSse.d.ts.map +1 -1
  28. package/dist/examples/clientSse.js +7 -4
  29. package/dist/examples/clientSse.js.map +1 -1
  30. package/dist/examples/clientStdio.js +2 -2
  31. package/dist/examples/clientStdio.js.map +1 -1
  32. package/dist/examples/clientStdioChat.js +1 -1
  33. package/dist/index.d.ts +2 -14
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +6 -42
  36. package/dist/index.js.map +1 -1
  37. package/dist/main.d.ts +4 -0
  38. package/dist/main.d.ts.map +1 -1
  39. package/dist/main.js +21 -118
  40. package/dist/main.js.map +1 -1
  41. package/dist/mcp-server.d.ts +39 -0
  42. package/dist/mcp-server.d.ts.map +1 -0
  43. package/dist/mcp-server.js +155 -0
  44. package/dist/mcp-server.js.map +1 -0
  45. package/dist/stdio.d.ts +15 -0
  46. package/dist/stdio.d.ts.map +1 -0
  47. package/dist/stdio.js +46 -0
  48. package/dist/stdio.js.map +1 -0
  49. package/dist/tools/actor.d.ts +37 -0
  50. package/dist/tools/actor.d.ts.map +1 -0
  51. package/dist/tools/actor.js +89 -0
  52. package/dist/tools/actor.js.map +1 -0
  53. package/dist/tools/build.d.ts +12 -0
  54. package/dist/tools/build.d.ts.map +1 -0
  55. package/dist/tools/build.js +120 -0
  56. package/dist/tools/build.js.map +1 -0
  57. package/dist/tools/helpers.d.ts +19 -0
  58. package/dist/tools/helpers.d.ts.map +1 -0
  59. package/dist/tools/helpers.js +62 -0
  60. package/dist/tools/helpers.js.map +1 -0
  61. package/dist/tools/index.d.ts +6 -0
  62. package/dist/tools/index.d.ts.map +1 -0
  63. package/dist/tools/index.js +8 -0
  64. package/dist/tools/index.js.map +1 -0
  65. package/dist/tools/mcp-apify-client.d.ts +6 -0
  66. package/dist/tools/mcp-apify-client.d.ts.map +1 -0
  67. package/dist/tools/mcp-apify-client.js +22 -0
  68. package/dist/tools/mcp-apify-client.js.map +1 -0
  69. package/dist/tools/store_collection.d.ts +21 -0
  70. package/dist/tools/store_collection.d.ts.map +1 -0
  71. package/dist/tools/store_collection.js +80 -0
  72. package/dist/tools/store_collection.js.map +1 -0
  73. package/dist/tools/utils.d.ts +77 -0
  74. package/dist/tools/utils.d.ts.map +1 -0
  75. package/dist/{actors.js → tools/utils.js} +112 -241
  76. package/dist/tools/utils.js.map +1 -0
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/dist/types.d.ts +70 -9
  79. package/dist/types.d.ts.map +1 -1
  80. package/package.json +17 -14
  81. package/dist/actors.d.ts +0 -74
  82. package/dist/actors.d.ts.map +0 -1
  83. package/dist/actors.js.map +0 -1
  84. package/dist/input.d.ts.map +0 -1
  85. package/dist/input.js.map +0 -1
  86. package/dist/logger.d.ts +0 -3
  87. package/dist/logger.d.ts.map +0 -1
  88. package/dist/logger.js +0 -4
  89. package/dist/logger.js.map +0 -1
  90. package/dist/server.d.ts +0 -43
  91. package/dist/server.d.ts.map +0 -1
  92. package/dist/server.js +0 -178
  93. package/dist/server.js.map +0 -1
  94. package/dist/tools.d.ts +0 -46
  95. package/dist/tools.d.ts.map +0 -1
  96. package/dist/tools.js +0 -128
  97. package/dist/tools.js.map +0 -1
package/README.md CHANGED
@@ -7,11 +7,11 @@ Implementation of an MCP server for all [Apify Actors](https://apify.com/store).
7
7
  This server enables interaction with one or more Apify Actors that can be defined in the MCP Server configuration.
8
8
 
9
9
  The server can be used in two ways:
10
- - **🇦 [MCP Server Actor](https://apify.com/apify/actors-mcp-server)** – HTTP server accessible via Server-Sent Events (SSE).
11
- - **⾕ MCP Server Stdio** – Local server available via standard input/output (stdio).
10
+ - **🇦 [MCP Server Actor](https://apify.com/apify/actors-mcp-server)** – HTTP server accessible via Server-Sent Events (SSE), see [guide](#-mcp-server-actor)
11
+ - **⾕ MCP Server Stdio** – Local server available via standard input/output (stdio), see [guide](#-mcp-server-at-a-local-host)
12
12
 
13
13
 
14
- If can also interact with the MCP server using chat-like UI with 💬 [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
14
+ It can also interact with the MCP server using chat-like UI with 💬 [Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client)
15
15
 
16
16
  # 🎯 What does Apify MCP server do?
17
17
 
@@ -211,26 +211,6 @@ You can also use [Smithery](https://smithery.ai/server/@apify/actors-mcp-server)
211
211
  - [Node.js](https://nodejs.org/en) (v18 or higher)
212
212
  - [Apify API Token](https://docs.apify.com/platform/integrations/api#api-token) (`APIFY_TOKEN`)
213
213
 
214
- ### Install
215
-
216
- First, clone the repository using the following command:
217
-
218
- ```bash
219
- git clone git@github.com:apify/actor-mcp-server.git
220
- ```
221
- Navigate to the project directory and install the required dependencies:
222
-
223
- ```bash
224
- cd actor-mcp-server
225
- npm install
226
- ```
227
-
228
- Before running the server, you need to build the project:
229
-
230
- ```bash
231
- npm run build
232
- ```
233
-
234
214
  #### Claude Desktop
235
215
 
236
216
  To configure Claude Desktop to work with the MCP server, follow these steps. For a detailed guide, refer to the [Claude Desktop Users Guide](https://modelcontextprotocol.io/quickstart/user).
@@ -295,7 +275,7 @@ To configure Claude Desktop to work with the MCP server, follow these steps. For
295
275
  Find and analyze instagram profile of the Rock.
296
276
  ```
297
277
 
298
- #### Debugging NPM package @apify/actors-mcp-server with modelcontextprotocol/inspector
278
+ #### Debugging NPM package @apify/actors-mcp-server with @modelcontextprotocol/inspector
299
279
 
300
280
  To debug the server, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector) tool:
301
281
 
@@ -378,7 +358,7 @@ You can launch the MCP Inspector via [`npm`](https://docs.npmjs.com/downloading-
378
358
 
379
359
  ```bash
380
360
  export APIFY_TOKEN=your-apify-token
381
- npx @modelcontextprotocol/inspector node ./dist/index.js
361
+ npx @modelcontextprotocol/inspector node ./dist/stdio.js
382
362
  ```
383
363
 
384
364
  Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Constants for the Actor.
3
+ */
4
+ export declare const HEADER_READINESS_PROBE = "x-apify-container-server-readiness-probe";
5
+ export declare const defaults: {
6
+ actors: string[];
7
+ enableActorAutoLoading: boolean;
8
+ maxMemoryMbytes: number;
9
+ };
10
+ export declare enum Routes {
11
+ ROOT = "/",
12
+ SSE = "/sse",
13
+ MESSAGE = "/message"
14
+ }
15
+ //# sourceMappingURL=const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,6CAA6C,CAAC;AAEjF,eAAO,MAAM,QAAQ;;;;CAQpB,CAAC;AAEF,oBAAY,MAAM;IACd,IAAI,MAAM;IACV,GAAG,SAAS;IACZ,OAAO,aAAa;CACvB"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Constants for the Actor.
3
+ */
4
+ export const HEADER_READINESS_PROBE = 'x-apify-container-server-readiness-probe';
5
+ export const defaults = {
6
+ actors: [
7
+ 'apify/instagram-scraper',
8
+ 'apify/rag-web-browser',
9
+ 'lukaskrivka/google-maps-with-contact-details',
10
+ ],
11
+ enableActorAutoLoading: false,
12
+ maxMemoryMbytes: 4096,
13
+ };
14
+ export var Routes;
15
+ (function (Routes) {
16
+ Routes["ROOT"] = "/";
17
+ Routes["SSE"] = "/sse";
18
+ Routes["MESSAGE"] = "/message";
19
+ })(Routes || (Routes = {}));
20
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/actor/const.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AAEjF,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,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IACd,oBAAU,CAAA;IACV,sBAAY,CAAA;IACZ,8BAAoB,CAAA;AACxB,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB"}
@@ -4,5 +4,5 @@ import type { Input } from './types.js';
4
4
  * @param originalInput
5
5
  * @returns input
6
6
  */
7
- export declare function processInput(originalInput: Partial<Input>): Promise<Input>;
7
+ export declare function processInput(originalInput: Partial<Input>): Input;
8
8
  //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/actor/input.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAejE"}
@@ -3,12 +3,16 @@
3
3
  * @param originalInput
4
4
  * @returns input
5
5
  */
6
- export async function processInput(originalInput) {
6
+ export function processInput(originalInput) {
7
7
  const input = originalInput;
8
8
  // actors can be a string or an array of strings
9
9
  if (input.actors && typeof input.actors === 'string') {
10
10
  input.actors = input.actors.split(',').map((format) => format.trim());
11
11
  }
12
+ // Convert string boolean to actual boolean
13
+ if (input.enableActorAutoLoading && typeof input.enableActorAutoLoading === 'string') {
14
+ input.enableActorAutoLoading = input.enableActorAutoLoading === 'true';
15
+ }
12
16
  if (!input.enableActorAutoLoading) {
13
17
  input.enableActorAutoLoading = false;
14
18
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/actor/input.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,aAA6B;IACtD,MAAM,KAAK,GAAG,aAAsB,CAAC;IAErC,gDAAgD;IAChD,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnD,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAa,CAAC;IAC9F,CAAC;IACD,2CAA2C;IAC3C,IAAI,KAAK,CAAC,sBAAsB,IAAI,OAAO,KAAK,CAAC,sBAAsB,KAAK,QAAQ,EAAE,CAAC;QACnF,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,KAAK,MAAM,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAChC,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import express from 'express';
2
+ import { type ActorsMcpServer } from '../mcp-server.js';
3
+ export declare function createExpressApp(host: string, mcpServer: ActorsMcpServer): express.Express;
4
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"AAMA,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,OAAO,CA0EjB"}
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Express server implementation used for standby Actor mode.
3
+ */
4
+ import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
5
+ import express from 'express';
6
+ import log from '@apify/log';
7
+ import { HEADER_READINESS_PROBE, Routes } from './const.js';
8
+ import { getActorRunData, processParamsGetTools } from './utils.js';
9
+ export function createExpressApp(host, mcpServer) {
10
+ const HELP_MESSAGE = `Connect to the server with GET request to ${host}/sse?token=YOUR-APIFY-TOKEN`
11
+ + ` and then send POST requests to ${host}/message?token=YOUR-APIFY-TOKEN`;
12
+ const app = express();
13
+ let transport;
14
+ app.route(Routes.ROOT)
15
+ .get(async (req, res) => {
16
+ if (req.headers && req.get(HEADER_READINESS_PROBE) !== undefined) {
17
+ log.debug('Received readiness probe');
18
+ res.status(200).json({ message: 'Server is ready' }).end();
19
+ return;
20
+ }
21
+ try {
22
+ log.info(`Received GET message at: ${Routes.ROOT}`);
23
+ const tools = await processParamsGetTools(req.url);
24
+ if (tools) {
25
+ mcpServer.updateTools(tools);
26
+ }
27
+ res.setHeader('Content-Type', 'text/event-stream');
28
+ res.setHeader('Cache-Control', 'no-cache');
29
+ res.setHeader('Connection', 'keep-alive');
30
+ res.status(200).json({ message: `Actor is using Model Context Protocol. ${HELP_MESSAGE}`, data: getActorRunData() }).end();
31
+ }
32
+ catch (error) {
33
+ log.error(`Error in GET ${Routes.ROOT} ${error}`);
34
+ res.status(500).json({ message: 'Internal Server Error' }).end();
35
+ }
36
+ })
37
+ .head((_req, res) => {
38
+ res.status(200).end();
39
+ });
40
+ app.route(Routes.SSE)
41
+ .get(async (req, res) => {
42
+ try {
43
+ log.info(`Received GET message at: ${Routes.SSE}`);
44
+ const tools = await processParamsGetTools(req.url);
45
+ if (tools) {
46
+ mcpServer.updateTools(tools);
47
+ }
48
+ transport = new SSEServerTransport(Routes.MESSAGE, res);
49
+ await mcpServer.connect(transport);
50
+ }
51
+ catch (error) {
52
+ log.error(`Error in GET ${Routes.SSE}: ${error}`);
53
+ res.status(500).json({ message: 'Internal Server Error' }).end();
54
+ }
55
+ });
56
+ app.route(Routes.MESSAGE)
57
+ .post(async (req, res) => {
58
+ try {
59
+ log.info(`Received POST message at: ${Routes.MESSAGE}`);
60
+ if (transport) {
61
+ await transport.handlePostMessage(req, res);
62
+ }
63
+ else {
64
+ res.status(400).json({
65
+ message: 'Server is not connected to the client. '
66
+ + 'Connect to the server with GET request to /sse endpoint',
67
+ });
68
+ }
69
+ }
70
+ catch (error) {
71
+ log.error(`Error in POST ${Routes.MESSAGE}: ${error}`);
72
+ res.status(500).json({ message: 'Internal Server Error' }).end();
73
+ }
74
+ });
75
+ // Catch-all for undefined routes
76
+ app.use((req, res) => {
77
+ res.status(404).json({ message: `There is nothing at route ${req.method} ${req.originalUrl}. ${HELP_MESSAGE}` }).end();
78
+ });
79
+ return app;
80
+ }
81
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/actor/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export type Input = {
2
+ actors: string[] | string;
3
+ enableActorAutoLoading?: boolean;
4
+ maxActorMemoryBytes?: number;
5
+ debugActor?: string;
6
+ debugActorInput?: unknown;
7
+ };
8
+ export interface ActorRunData {
9
+ id?: string;
10
+ actId?: string;
11
+ userId?: string;
12
+ startedAt?: string;
13
+ finishedAt: null;
14
+ status: 'RUNNING';
15
+ meta: {
16
+ origin?: string;
17
+ };
18
+ options: {
19
+ build?: string;
20
+ memoryMbytes?: string;
21
+ };
22
+ buildId?: string;
23
+ defaultKeyValueStoreId?: string;
24
+ defaultDatasetId?: string;
25
+ defaultRequestQueueId?: string;
26
+ buildNumber?: string;
27
+ containerUrl?: string;
28
+ standbyUrl?: string;
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actor/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/actor/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { ActorRunData, Input } from './types.js';
2
+ import type { ToolWrap } from '../types.js';
3
+ export declare function parseInputParamsFromUrl(url: string): Input;
4
+ /**
5
+ * Process input parameters and get tools
6
+ * If URL contains query parameter `actors`, return tools from Actors otherwise return null.
7
+ * @param url
8
+ */
9
+ export declare function processParamsGetTools(url: string): Promise<ToolWrap[]>;
10
+ export declare function getActorRunData(): ActorRunData | null;
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAI1D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,uBAUtD;AAED,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAuBrD"}
@@ -0,0 +1,50 @@
1
+ import { parse } from 'node:querystring';
2
+ import { Actor } from 'apify';
3
+ import { processInput } from './input.js';
4
+ import { addTool, getActorsAsTools, removeTool } from '../tools/index.js';
5
+ export function parseInputParamsFromUrl(url) {
6
+ const query = url.split('?')[1] || '';
7
+ const params = parse(query);
8
+ return processInput(params);
9
+ }
10
+ /**
11
+ * Process input parameters and get tools
12
+ * If URL contains query parameter `actors`, return tools from Actors otherwise return null.
13
+ * @param url
14
+ */
15
+ export async function processParamsGetTools(url) {
16
+ const input = parseInputParamsFromUrl(url);
17
+ let tools = [];
18
+ if (input.actors) {
19
+ tools = await getActorsAsTools(input.actors);
20
+ }
21
+ if (input.enableActorAutoLoading) {
22
+ tools.push(addTool, removeTool);
23
+ }
24
+ return tools;
25
+ }
26
+ export function getActorRunData() {
27
+ return Actor.isAtHome() ? {
28
+ id: process.env.ACTOR_RUN_ID,
29
+ actId: process.env.ACTOR_ID,
30
+ userId: process.env.APIFY_USER_ID,
31
+ startedAt: process.env.ACTOR_STARTED_AT,
32
+ finishedAt: null,
33
+ status: 'RUNNING',
34
+ meta: {
35
+ origin: process.env.APIFY_META_ORIGIN,
36
+ },
37
+ options: {
38
+ build: process.env.ACTOR_BUILD_NUMBER,
39
+ memoryMbytes: process.env.ACTOR_MEMORY_MBYTES,
40
+ },
41
+ buildId: process.env.ACTOR_BUILD_ID,
42
+ defaultKeyValueStoreId: process.env.ACTOR_DEFAULT_KEY_VALUE_STORE_ID,
43
+ defaultDatasetId: process.env.ACTOR_DEFAULT_DATASET_ID,
44
+ defaultRequestQueueId: process.env.ACTOR_DEFAULT_REQUEST_QUEUE_ID,
45
+ buildNumber: process.env.ACTOR_BUILD_NUMBER,
46
+ containerUrl: process.env.ACTOR_WEB_SERVER_URL,
47
+ standbyUrl: process.env.ACTOR_STANDBY_URL,
48
+ } : null;
49
+ }
50
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/actor/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG1E,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;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACnD,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAe,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,MAAkB,CAAC,CAAC;IAC7D,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,eAAe;IAC3B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAC5B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;QAC3B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACjC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;SACxC;QACD,OAAO,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACrC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;SAChD;QACD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;QACnC,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;QACpE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACtD,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;QACjE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC3C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAC9C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;KAC5C,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
package/dist/const.d.ts CHANGED
@@ -1,27 +1,17 @@
1
- export declare const SERVER_NAME = "apify-mcp-server";
2
- export declare const SERVER_VERSION = "0.1.0";
3
- export declare const HEADER_READINESS_PROBE = "x-apify-container-server-readiness-probe";
4
- export declare const MAX_DESCRIPTION_LENGTH = 500;
5
- export declare const USER_AGENT_ORIGIN = "Origin/mcp-server";
6
- export declare const defaults: {
7
- actors: string[];
8
- enableActorAutoLoading: boolean;
9
- maxMemoryMbytes: number;
10
- };
11
1
  export declare const ACTOR_README_MAX_LENGTH = 5000;
12
2
  export declare const ACTOR_ENUM_MAX_LENGTH = 200;
3
+ export declare const ACTOR_MAX_DESCRIPTION_LENGTH = 500;
13
4
  export declare const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM = 5000;
14
5
  export declare const ACTOR_OUTPUT_TRUNCATED_MESSAGE: string;
15
6
  export declare const ACTOR_ADDITIONAL_INSTRUCTIONS: string;
16
- export declare enum InternalTools {
17
- DISCOVER_ACTORS = "discover-actors",
18
- ADD_ACTOR_TO_TOOLS = "add-actor-to-tools",
19
- REMOVE_ACTOR_FROM_TOOLS = "remove-actor-from-tools",
20
- GET_ACTOR_DETAILS = "get-actor-details"
21
- }
22
- export declare enum Routes {
23
- ROOT = "/",
24
- SSE = "/sse",
25
- MESSAGE = "/message"
7
+ export declare const ACTOR_MAX_MEMORY_MBYTES = 4096;
8
+ export declare const SERVER_NAME = "apify-mcp-server";
9
+ export declare const SERVER_VERSION = "0.1.0";
10
+ export declare const USER_AGENT_ORIGIN = "Origin/mcp-server";
11
+ export declare enum HelperTools {
12
+ SEARCH = "search",
13
+ ADD_TOOL = "add-tool",
14
+ REMOVE_TOOL = "remove-tool",
15
+ GET_TOOL_DETAILS = "get-tool-details"
26
16
  }
27
17
  //# sourceMappingURL=const.d.ts.map
@@ -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,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,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":"AACA,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AACrD,eAAO,MAAM,8BAA8B,QACQ,CAAC;AAEpD,eAAO,MAAM,6BAA6B,QACuB,CAAC;AAGlE,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAC9C,eAAO,MAAM,cAAc,UAAU,CAAC;AAGtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,oBAAY,WAAW;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;CACxC"}
package/dist/const.js CHANGED
@@ -1,35 +1,25 @@
1
- export const SERVER_NAME = 'apify-mcp-server';
2
- export const SERVER_VERSION = '0.1.0';
3
- export const HEADER_READINESS_PROBE = 'x-apify-container-server-readiness-probe';
4
- export const MAX_DESCRIPTION_LENGTH = 500;
5
- export const USER_AGENT_ORIGIN = 'Origin/mcp-server';
6
- export const defaults = {
7
- actors: [
8
- 'apify/instagram-scraper',
9
- 'apify/rag-web-browser',
10
- 'lukaskrivka/google-maps-with-contact-details',
11
- ],
12
- enableActorAutoLoading: false,
13
- maxMemoryMbytes: 4096,
14
- };
1
+ // Actor input const
15
2
  export const ACTOR_README_MAX_LENGTH = 5_000;
16
3
  export const ACTOR_ENUM_MAX_LENGTH = 200;
4
+ export const ACTOR_MAX_DESCRIPTION_LENGTH = 500;
5
+ // Actor output const
17
6
  export const ACTOR_OUTPUT_MAX_CHARS_PER_ITEM = 5_000;
18
7
  export const ACTOR_OUTPUT_TRUNCATED_MESSAGE = `Output was truncated because it will not fit into context.`
19
8
  + `There is no reason to call this tool again!`;
20
9
  export const ACTOR_ADDITIONAL_INSTRUCTIONS = 'Never call/execute tool/Actor unless confirmed by the user. '
21
10
  + 'Always limit the number of results in the call arguments.';
22
- export var InternalTools;
23
- (function (InternalTools) {
24
- InternalTools["DISCOVER_ACTORS"] = "discover-actors";
25
- InternalTools["ADD_ACTOR_TO_TOOLS"] = "add-actor-to-tools";
26
- InternalTools["REMOVE_ACTOR_FROM_TOOLS"] = "remove-actor-from-tools";
27
- InternalTools["GET_ACTOR_DETAILS"] = "get-actor-details";
28
- })(InternalTools || (InternalTools = {}));
29
- export var Routes;
30
- (function (Routes) {
31
- Routes["ROOT"] = "/";
32
- Routes["SSE"] = "/sse";
33
- Routes["MESSAGE"] = "/message";
34
- })(Routes || (Routes = {}));
11
+ // Actor run const
12
+ export const ACTOR_MAX_MEMORY_MBYTES = 4_096; // If the Actor requires 8GB of memory, free users can't run actors-mcp-server and requested Actor
13
+ // MCP Server
14
+ export const SERVER_NAME = 'apify-mcp-server';
15
+ export const SERVER_VERSION = '0.1.0';
16
+ // User agent headers
17
+ export const USER_AGENT_ORIGIN = 'Origin/mcp-server';
18
+ export var HelperTools;
19
+ (function (HelperTools) {
20
+ HelperTools["SEARCH"] = "search";
21
+ HelperTools["ADD_TOOL"] = "add-tool";
22
+ HelperTools["REMOVE_TOOL"] = "remove-tool";
23
+ HelperTools["GET_TOOL_DETAILS"] = "get-tool-details";
24
+ })(HelperTools || (HelperTools = {}));
35
25
  //# sourceMappingURL=const.js.map
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,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,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,oBAAoB;AACpB,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,qBAAqB;AACrB,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,4DAA4D;MACpG,6CAA6C,CAAC;AAEpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,8DAA8D;MACrG,2DAA2D,CAAC;AAElE,kBAAkB;AAClB,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,CAAC,kGAAkG;AAEhJ,aAAa;AACb,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,qBAAqB;AACrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,0CAA2B,CAAA;IAC3B,oDAAqC,CAAA;AACzC,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
@@ -4,5 +4,14 @@
4
4
  *
5
5
  * It requires the `APIFY_TOKEN` in the `.env` file.
6
6
  */
7
- export {};
7
+ import { EventSource, EventSourceInit } from 'eventsource';
8
+ declare global {
9
+ var EventSource: {
10
+ new (url: string, eventSourceInitDict?: EventSourceInit): EventSource;
11
+ prototype: EventSource;
12
+ CONNECTING: 0;
13
+ OPEN: 1;
14
+ CLOSED: 2;
15
+ };
16
+ }
8
17
  //# sourceMappingURL=clientSse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientSse.d.ts","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AACA;;;;;GAKG"}
1
+ {"version":3,"file":"clientSse.d.ts","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AASH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsB3D,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,WAAW,EAAE;QACb,KAAI,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;QACrE,SAAS,EAAE,WAAW,CAAC;QACvB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,CAAC,CAAC;KACb,CAAC;CACL"}
@@ -12,15 +12,16 @@ 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
+ import { actorNameToToolName } from '../tools/utils.js';
16
16
  const REQUEST_TIMEOUT = 120_000; // 2 minutes
17
17
  const filename = fileURLToPath(import.meta.url);
18
18
  const dirname = path.dirname(filename);
19
19
  dotenv.config({ path: path.resolve(dirname, '../../.env') });
20
- const SERVER_URL = 'https://actors-mcp-server.apify.actor/sse';
20
+ const SERVER_URL = process.env.MCP_SERVER_URL_BASE || 'https://actors-mcp-server.apify.actor/sse';
21
21
  // We need to change forward slash / to underscore -- in the tool name as Anthropic does not allow forward slashes in the tool name
22
22
  const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
23
- const QUERY = 'web browser for Anthropic';
23
+ // const QUERY = 'web browser for Anthropic';
24
+ const QUERY = 'apify';
24
25
  if (!process.env.APIFY_TOKEN) {
25
26
  console.error('APIFY_TOKEN is required but not set in the environment variables.');
26
27
  process.exit(1);
@@ -71,12 +72,14 @@ async function main() {
71
72
  catch (error) {
72
73
  if (error instanceof Error) {
73
74
  console.error('Error:', error.message);
74
- console.error(error.stack);
75
75
  }
76
76
  else {
77
77
  console.error('An unknown error occurred:', error);
78
78
  }
79
79
  }
80
+ finally {
81
+ await client.close();
82
+ }
80
83
  }
81
84
  await main();
82
85
  //# sourceMappingURL=clientSse.js.map
@@ -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,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,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,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;AACnE,MAAM,KAAK,GAAG,2BAA2B,CAAC;AAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;IAChD,UAAU,CAAC,WAAW,GAAG,WAAuD,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,SAAS,GAAG,IAAI,kBAAkB,CACpC,IAAI,GAAG,CAAC,UAAU,CAAC,EACnB;QACI,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;aACrD;SACJ;QACD,eAAe,EAAE;YACb,6EAA6E;YAC7E,sEAAsE;YACtE,2FAA2F;YAC3F,KAAK,CAAC,KAAK,CAAC,KAA6B,EAAE,IAAkB;gBACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;YACL,8DAA8D;SACtD,EAAE,yDAAyD;KACtE,CACJ,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC5C,EAAE,YAAY,EAAE,EAAE,EAAE,CACvB,CAAC;IAEF,IAAI,CAAC;QACD,4BAA4B;QAC5B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,uBAAuB;QACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,uBAAuB,YAAY,6BAA6B,CAAC,CAAC;YAChF,OAAO;QACX,CAAC;QAED,cAAc;QACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAChC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EACpD,oBAAoB,EACpB,EAAE,OAAO,EAAE,eAAe,EAAE,CAC/B,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ 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
+ import { actorNameToToolName } from '../tools/utils.js';
16
16
  // Resolve dirname equivalent in ES module
17
17
  const filename = fileURLToPath(import.meta.url);
18
18
  const dirname = path.dirname(filename);
19
19
  dotenv.config({ path: path.resolve(dirname, '../../.env') });
20
- const SERVER_PATH = path.resolve(dirname, '../../dist/index.js');
20
+ const SERVER_PATH = path.resolve(dirname, '../../dist/stdio.js');
21
21
  const NODE_PATH = execSync(process.platform === 'win32' ? 'where node' : 'which node').toString().trim();
22
22
  const TOOLS = 'apify/rag-web-browser,lukaskrivka/google-maps-with-contact-details';
23
23
  const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
@@ -1 +1 @@
1
- {"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ const MAX_TOKENS = 2048; // Maximum tokens for Claude response
34
34
  // const CLAUDE_MODEL = 'claude-3-5-haiku-20241022'; // a fastest model
35
35
  const CLAUDE_MODEL = 'claude-3-haiku-20240307'; // a fastest and most compact model for near-instant responsiveness
36
36
  const DEBUG = true;
37
- const DEBUG_SERVER_PATH = path.resolve(dirname, '../../dist/index.js');
37
+ const DEBUG_SERVER_PATH = path.resolve(dirname, '../../dist/stdio.js');
38
38
  const NODE_PATH = execSync('which node').toString().trim();
39
39
  dotenv.config(); // Load environment variables from .env
40
40
  class MCPClient {
package/dist/index.d.ts CHANGED
@@ -1,15 +1,3 @@
1
- #!/usr/bin/env node
2
- /**
3
- * This script initializes and starts the Apify MCP server using the Stdio transport.
4
- *
5
- * Usage:
6
- * node <script_name> --actors=<actor1,actor2,...>
7
- *
8
- * Command-line arguments:
9
- * --actors - A comma-separated list of actor full names to add to the server.
10
- *
11
- * Example:
12
- * node index.js --actors=apify/google-search-scraper,apify/instagram-scraper
13
- */
14
- export {};
1
+ import { ActorsMcpServer } from './mcp-server.js';
2
+ export default ActorsMcpServer;
15
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,eAAe,eAAe,CAAC"}