@apify/actors-mcp-server 0.7.1 → 0.8.1

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 (99) hide show
  1. package/README.md +12 -0
  2. package/dist/actor/server.d.ts.map +1 -1
  3. package/dist/actor/server.js +18 -10
  4. package/dist/actor/server.js.map +1 -1
  5. package/dist/apify-client.d.ts +12 -0
  6. package/dist/apify-client.d.ts.map +1 -1
  7. package/dist/apify-client.js +14 -0
  8. package/dist/apify-client.js.map +1 -1
  9. package/dist/const.d.ts +7 -1
  10. package/dist/const.d.ts.map +1 -1
  11. package/dist/const.js +19 -55
  12. package/dist/const.js.map +1 -1
  13. package/dist/mcp/server.d.ts.map +1 -1
  14. package/dist/mcp/server.js +78 -143
  15. package/dist/mcp/server.js.map +1 -1
  16. package/dist/resources/resource_service.d.ts +23 -0
  17. package/dist/resources/resource_service.d.ts.map +1 -0
  18. package/dist/resources/resource_service.js +108 -0
  19. package/dist/resources/resource_service.js.map +1 -0
  20. package/dist/{utils → resources}/widgets.d.ts +19 -16
  21. package/dist/resources/widgets.d.ts.map +1 -0
  22. package/dist/resources/widgets.js.map +1 -0
  23. package/dist/tools/actor.d.ts +6 -2
  24. package/dist/tools/actor.d.ts.map +1 -1
  25. package/dist/tools/actor.js +47 -35
  26. package/dist/tools/actor.js.map +1 -1
  27. package/dist/tools/categories.d.ts +1 -0
  28. package/dist/tools/categories.d.ts.map +1 -1
  29. package/dist/tools/categories.js +8 -1
  30. package/dist/tools/categories.js.map +1 -1
  31. package/dist/tools/dataset.d.ts.map +1 -1
  32. package/dist/tools/dataset.js +34 -11
  33. package/dist/tools/dataset.js.map +1 -1
  34. package/dist/tools/fetch-actor-details-internal.d.ts +3 -0
  35. package/dist/tools/fetch-actor-details-internal.d.ts.map +1 -0
  36. package/dist/tools/fetch-actor-details-internal.js +63 -0
  37. package/dist/tools/fetch-actor-details-internal.js.map +1 -0
  38. package/dist/tools/fetch-actor-details.d.ts.map +1 -1
  39. package/dist/tools/fetch-actor-details.js +25 -108
  40. package/dist/tools/fetch-actor-details.js.map +1 -1
  41. package/dist/tools/get-actor-output.d.ts.map +1 -1
  42. package/dist/tools/get-actor-output.js +15 -22
  43. package/dist/tools/get-actor-output.js.map +1 -1
  44. package/dist/tools/key_value_store.d.ts.map +1 -1
  45. package/dist/tools/key_value_store.js +22 -10
  46. package/dist/tools/key_value_store.js.map +1 -1
  47. package/dist/tools/run.d.ts.map +1 -1
  48. package/dist/tools/run.js +39 -13
  49. package/dist/tools/run.js.map +1 -1
  50. package/dist/tools/search-actors-internal.d.ts +3 -0
  51. package/dist/tools/search-actors-internal.d.ts.map +1 -0
  52. package/dist/tools/search-actors-internal.js +81 -0
  53. package/dist/tools/search-actors-internal.js.map +1 -0
  54. package/dist/tools/store_collection.d.ts +13 -0
  55. package/dist/tools/store_collection.d.ts.map +1 -1
  56. package/dist/tools/store_collection.js +21 -13
  57. package/dist/tools/store_collection.js.map +1 -1
  58. package/dist/tools/structured-output-schemas.d.ts +189 -0
  59. package/dist/tools/structured-output-schemas.d.ts.map +1 -1
  60. package/dist/tools/structured-output-schemas.js +100 -0
  61. package/dist/tools/structured-output-schemas.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/types.d.ts +14 -6
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/utils/actor-details.d.ts +96 -0
  66. package/dist/utils/actor-details.d.ts.map +1 -1
  67. package/dist/utils/actor-details.js +209 -0
  68. package/dist/utils/actor-details.js.map +1 -1
  69. package/dist/utils/actor-response.d.ts +21 -5
  70. package/dist/utils/actor-response.d.ts.map +1 -1
  71. package/dist/utils/actor-response.js +26 -5
  72. package/dist/utils/actor-response.js.map +1 -1
  73. package/dist/utils/actor-search.d.ts +23 -0
  74. package/dist/utils/actor-search.d.ts.map +1 -0
  75. package/dist/utils/actor-search.js +20 -0
  76. package/dist/utils/actor-search.js.map +1 -0
  77. package/dist/utils/generic.d.ts +0 -7
  78. package/dist/utils/generic.d.ts.map +1 -1
  79. package/dist/utils/generic.js +0 -28
  80. package/dist/utils/generic.js.map +1 -1
  81. package/dist/utils/server-instructions.d.ts +14 -0
  82. package/dist/utils/server-instructions.d.ts.map +1 -0
  83. package/dist/utils/server-instructions.js +87 -0
  84. package/dist/utils/server-instructions.js.map +1 -0
  85. package/dist/utils/skyfire.d.ts +12 -0
  86. package/dist/utils/skyfire.d.ts.map +1 -0
  87. package/dist/utils/skyfire.js +19 -0
  88. package/dist/utils/skyfire.js.map +1 -0
  89. package/dist/utils/tools-loader.d.ts.map +1 -1
  90. package/dist/utils/tools-loader.js +15 -2
  91. package/dist/utils/tools-loader.js.map +1 -1
  92. package/dist/web/dist/actor-run-widget.js +2765 -16
  93. package/dist/web/dist/search-actors-widget.js +2766 -17
  94. package/manifest.json +1 -1
  95. package/package.json +13 -11
  96. package/server.json +4 -5
  97. package/dist/utils/widgets.d.ts.map +0 -1
  98. package/dist/utils/widgets.js.map +0 -1
  99. /package/dist/{utils → resources}/widgets.js +0 -0
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ import { ApifyClient } from '../apify-client.js';
3
+ import { HelperTools } from '../const.js';
4
+ import { actorDetailsOutputOptionsSchema, buildActorDetailsTextResponse, buildActorNotFoundResponse, buildCardOptions, fetchActorDetails, resolveOutputOptions, } from '../utils/actor-details.js';
5
+ import { compileSchema } from '../utils/ajv.js';
6
+ import { buildMCPResponse } from '../utils/mcp.js';
7
+ import { actorDetailsOutputSchema } from './structured-output-schemas.js';
8
+ const fetchActorDetailsInternalArgsSchema = z.object({
9
+ actor: z.string()
10
+ .min(1)
11
+ .describe(`Actor ID or full name in the format "username/name", e.g., "apify/rag-web-browser".`),
12
+ output: actorDetailsOutputOptionsSchema.optional()
13
+ .describe('Specify which information to include in the response to save tokens.'),
14
+ });
15
+ export const fetchActorDetailsInternalTool = {
16
+ type: 'internal',
17
+ name: HelperTools.ACTOR_GET_DETAILS_INTERNAL,
18
+ openaiOnly: true,
19
+ description: `Fetch Actor details with flexible output options (UI mode internal tool).
20
+
21
+ This tool is available because the LLM is operating in UI mode. Use it for internal lookups
22
+ where data presentation to the user is NOT needed - this tool does NOT render a widget.
23
+
24
+ Use 'output' parameter with boolean flags to control returned information:
25
+ - Default: Fields: description, stats, pricing, rating, metadata, inputSchema, readme - excepts McpTools
26
+ - Selective: Set desired fields to true to save tokens (e.g., output: { inputSchema: true, readme: false })
27
+ - Common patterns: inputSchema only for execution prep, readme + inputSchema for documentation, etc.
28
+
29
+ Use this instead of fetch-actor-details when you need Actor information to prepare execution
30
+ but the user did NOT explicitly ask for Actor details presentation.`,
31
+ inputSchema: z.toJSONSchema(fetchActorDetailsInternalArgsSchema),
32
+ outputSchema: actorDetailsOutputSchema,
33
+ ajvValidate: compileSchema(z.toJSONSchema(fetchActorDetailsInternalArgsSchema)),
34
+ annotations: {
35
+ title: 'Fetch Actor details internal',
36
+ readOnlyHint: true,
37
+ idempotentHint: true,
38
+ openWorldHint: false,
39
+ },
40
+ call: async (toolArgs) => {
41
+ const { args, apifyToken, apifyMcpServer, actorOutputSchema } = toolArgs;
42
+ const parsed = fetchActorDetailsInternalArgsSchema.parse(args);
43
+ const apifyClient = new ApifyClient({ token: apifyToken });
44
+ const resolvedOutput = resolveOutputOptions(parsed.output);
45
+ const cardOptions = buildCardOptions(resolvedOutput);
46
+ const details = await fetchActorDetails(apifyClient, parsed.actor, cardOptions);
47
+ if (!details) {
48
+ return buildActorNotFoundResponse(parsed.actor);
49
+ }
50
+ const { texts, structuredContent } = await buildActorDetailsTextResponse({
51
+ actorName: parsed.actor,
52
+ details,
53
+ output: resolvedOutput,
54
+ cardOptions,
55
+ apifyClient,
56
+ apifyToken,
57
+ actorOutputSchema,
58
+ skyfireMode: apifyMcpServer === null || apifyMcpServer === void 0 ? void 0 : apifyMcpServer.options.skyfireMode,
59
+ });
60
+ return buildMCPResponse({ texts, structuredContent });
61
+ },
62
+ };
63
+ //# sourceMappingURL=fetch-actor-details-internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-actor-details-internal.js","sourceRoot":"","sources":["../../src/tools/fetch-actor-details-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,qFAAqF,CAAC;IACpG,MAAM,EAAE,+BAA+B,CAAC,QAAQ,EAAE;SAC7C,QAAQ,CAAC,sEAAsE,CAAC;CACxF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAc;IACpD,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,0BAA0B;IAC5C,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE;;;;;;;;;;;oEAWmD;IAChE,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,mCAAmC,CAAoB;IACnF,YAAY,EAAE,wBAAwB;IACtC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;IAC/E,WAAW,EAAE;QACT,KAAK,EAAE,8BAA8B;QACrC,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC;QACzE,MAAM,MAAM,GAAG,mCAAmC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAErD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,6BAA6B,CAAC;YACrE,SAAS,EAAE,MAAM,CAAC,KAAK;YACvB,OAAO;YACP,MAAM,EAAE,cAAc;YACtB,WAAW;YACX,WAAW;YACX,UAAU;YACV,iBAAiB;YACjB,WAAW,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,WAAW;SACnD,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;CACK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-actor-details.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAsC,SAAS,EAAmB,MAAM,aAAa,CAAC;AA4ElG,eAAO,MAAM,qBAAqB,EAAE,SA8H1B,CAAC"}
1
+ {"version":3,"file":"fetch-actor-details.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAsBhF,eAAO,MAAM,qBAAqB,EAAE,SAuF1B,CAAC"}
@@ -1,69 +1,17 @@
1
1
  var _a;
2
2
  import { z } from 'zod';
3
3
  import { ApifyClient } from '../apify-client.js';
4
- import { HelperTools, TOOL_STATUS } from '../const.js';
5
- import { connectMCPClient } from '../mcp/client.js';
6
- import { getActorMcpUrlCached } from '../utils/actor.js';
7
- import { fetchActorDetails, processActorDetailsForResponse } from '../utils/actor-details.js';
4
+ import { HelperTools } from '../const.js';
5
+ import { getWidgetConfig, WIDGET_URIS } from '../resources/widgets.js';
6
+ import { actorDetailsOutputOptionsSchema, buildActorDetailsTextResponse, buildActorNotFoundResponse, buildCardOptions, fetchActorDetails, processActorDetailsForResponse, resolveOutputOptions, } from '../utils/actor-details.js';
8
7
  import { compileSchema } from '../utils/ajv.js';
9
8
  import { buildMCPResponse } from '../utils/mcp.js';
10
- import { getWidgetConfig, WIDGET_URIS } from '../utils/widgets.js';
11
9
  import { actorDetailsOutputSchema } from './structured-output-schemas.js';
12
- /**
13
- * Gets MCP tools information for an Actor.
14
- * Returns a message about available tools, error, or that the Actor is not an MCP server.
15
- */
16
- async function getMcpToolsMessage(actorName, apifyClient, apifyToken, apifyMcpServer) {
17
- const mcpServerUrl = await getActorMcpUrlCached(actorName, apifyClient);
18
- // Early return: not an MCP server
19
- if (!mcpServerUrl || typeof mcpServerUrl !== 'string') {
20
- return `Note: This Actor is not an MCP server and does not expose MCP tools.`;
21
- }
22
- // Early return: Skyfire mode restriction
23
- if (apifyMcpServer.options.skyfireMode) {
24
- return `This Actor is an MCP server and cannot be accessed in Skyfire mode.`;
25
- }
26
- // Connect and list tools
27
- const client = await connectMCPClient(mcpServerUrl, apifyToken);
28
- if (!client) {
29
- return `Failed to connect to MCP server for Actor '${actorName}'.`;
30
- }
31
- try {
32
- const toolsResponse = await client.listTools();
33
- const mcpToolsInfo = toolsResponse.tools
34
- .map((tool) => `**${tool.name}**\n${tool.description || 'No description'}\nInput schema:\n\`\`\`json\n${JSON.stringify(tool.inputSchema)}\n\`\`\``)
35
- .join('\n\n');
36
- return `# Available MCP Tools\nThis Actor is an MCP server with ${toolsResponse.tools.length} tools.\nTo call a tool, use: "${actorName}:{toolName}"\n\n${mcpToolsInfo}`;
37
- }
38
- finally {
39
- await client.close();
40
- }
41
- }
42
10
  const fetchActorDetailsToolArgsSchema = z.object({
43
11
  actor: z.string()
44
12
  .min(1)
45
13
  .describe(`Actor ID or full name in the format "username/name", e.g., "apify/rag-web-browser".`),
46
- output: z.object({
47
- description: z.boolean().default(true).optional().describe('Include Actor description text only.'),
48
- stats: z.boolean().default(true).optional().describe('Include usage statistics (users, runs, success rate).'),
49
- pricing: z.boolean().default(true).optional().describe('Include pricing model and costs.'),
50
- rating: z.boolean().default(true).optional().describe('Include user rating (out of 5 stars).'),
51
- metadata: z.boolean().default(true).optional().describe('Include developer, categories, last modified date, and deprecation status.'),
52
- inputSchema: z.boolean().default(true).optional().describe('Include required input parameters schema.'),
53
- readme: z.boolean().default(true).optional().describe('Include full README documentation.'),
54
- mcpTools: z.boolean().default(false).optional().describe('List available tools (only for MCP server Actors).'),
55
- })
56
- .optional()
57
- .default({
58
- description: true,
59
- stats: true,
60
- pricing: true,
61
- rating: true,
62
- metadata: true,
63
- inputSchema: true,
64
- readme: true,
65
- mcpTools: false,
66
- })
14
+ output: actorDetailsOutputOptionsSchema.optional()
67
15
  .describe('Specify which information to include in the response to save tokens.'),
68
16
  });
69
17
  export const fetchActorDetailsTool = {
@@ -95,34 +43,22 @@ EXAMPLES:
95
43
  openWorldHint: false,
96
44
  },
97
45
  call: async (toolArgs) => {
98
- const { args, apifyToken, apifyMcpServer } = toolArgs;
46
+ const { args, apifyToken, apifyMcpServer, actorOutputSchema } = toolArgs;
99
47
  const parsed = fetchActorDetailsToolArgsSchema.parse(args);
100
48
  const apifyClient = new ApifyClient({ token: apifyToken });
101
- // Build granular card options based on requested output
102
- const cardOptions = {
103
- includeDescription: parsed.output.description,
104
- includeStats: parsed.output.stats,
105
- includePricing: parsed.output.pricing,
106
- includeRating: parsed.output.rating,
107
- includeMetadata: parsed.output.metadata,
108
- };
49
+ const resolvedOutput = resolveOutputOptions(parsed.output);
50
+ const cardOptions = buildCardOptions(resolvedOutput);
109
51
  const details = await fetchActorDetails(apifyClient, parsed.actor, cardOptions);
110
52
  if (!details) {
111
- return buildMCPResponse({
112
- texts: [`Actor information for '${parsed.actor}' was not found.
113
- Please verify Actor ID or name format and ensure that the Actor exists.
114
- You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH}.`],
115
- isError: true,
116
- toolStatus: TOOL_STATUS.SOFT_FAIL,
117
- });
53
+ return buildActorNotFoundResponse(parsed.actor);
118
54
  }
119
- const { structuredContent: processedStructuredContent, formattedReadme, actorUrl } = processActorDetailsForResponse(details);
120
- const structuredContent = {
121
- actorInfo: details.actorCardStructured,
122
- readme: formattedReadme,
123
- inputSchema: details.inputSchema,
124
- };
125
55
  if (apifyMcpServer.options.uiMode === 'openai') {
56
+ const { structuredContent: processedStructuredContent, formattedReadme, actorUrl } = processActorDetailsForResponse(details);
57
+ const structuredContent = {
58
+ actorInfo: details.actorCardStructured,
59
+ readme: formattedReadme,
60
+ inputSchema: details.inputSchema,
61
+ };
126
62
  const widgetStructuredContent = {
127
63
  ...structuredContent,
128
64
  actorDetails: processedStructuredContent.actorDetails,
@@ -132,7 +68,7 @@ You can search for available Actors using the tool: ${HelperTools.STORE_SEARCH}.
132
68
  - **Actor:** ${parsed.actor}
133
69
  - **URL:** ${actorUrl}
134
70
 
135
- View the interactive widget below for detailed Actor information.
71
+ An interactive widget has been rendered with detailed Actor information.
136
72
  `];
137
73
  const widgetConfig = getWidgetConfig(WIDGET_URIS.SEARCH_ACTORS);
138
74
  return buildMCPResponse({
@@ -144,37 +80,18 @@ View the interactive widget below for detailed Actor information.
144
80
  },
145
81
  });
146
82
  }
147
- const texts = [];
148
83
  // NOTE: Data duplication between texts and structuredContent is intentional and required.
149
84
  // Some MCP clients only read text content, while others only read structured content.
150
- // Build actor card only if any card section is requested
151
- const needsCard = cardOptions.includeDescription
152
- || cardOptions.includeStats
153
- || cardOptions.includePricing
154
- || cardOptions.includeRating
155
- || cardOptions.includeMetadata;
156
- if (needsCard) {
157
- texts.push(`# Actor information\n${details.actorCard}`);
158
- }
159
- // Add README if requested
160
- if (parsed.output.readme) {
161
- texts.push(formattedReadme);
162
- }
163
- // Add input schema if requested
164
- if (parsed.output.inputSchema) {
165
- texts.push(`# [Input schema](${actorUrl}/input)\n\`\`\`json\n${JSON.stringify(details.inputSchema)}\n\`\`\``);
166
- }
167
- // Handle MCP tools
168
- if (parsed.output.mcpTools) {
169
- const message = await getMcpToolsMessage(parsed.actor, apifyClient, apifyToken, apifyMcpServer);
170
- texts.push(message);
171
- }
172
- // Update structured output
173
- const responseStructuredContent = {
174
- actorInfo: needsCard ? details.actorCardStructured : undefined,
175
- readme: parsed.output.readme ? formattedReadme : undefined,
176
- inputSchema: parsed.output.inputSchema ? details.inputSchema : undefined,
177
- };
85
+ const { texts, structuredContent: responseStructuredContent } = await buildActorDetailsTextResponse({
86
+ actorName: parsed.actor,
87
+ details,
88
+ output: resolvedOutput,
89
+ cardOptions,
90
+ apifyClient,
91
+ apifyToken,
92
+ actorOutputSchema,
93
+ skyfireMode: apifyMcpServer === null || apifyMcpServer === void 0 ? void 0 : apifyMcpServer.options.skyfireMode,
94
+ });
178
95
  return buildMCPResponse({ texts, structuredContent: responseStructuredContent });
179
96
  },
180
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-actor-details.js","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-actor-details.js","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-actor-output.d.ts","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAyBhF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyB1D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAuGnB,CAAC"}
1
+ {"version":3,"file":"get-actor-output.d.ts","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AA0BhF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyB1D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SA+FnB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { z } from 'zod';
2
- import { ApifyClient } from '../apify-client.js';
3
- import { HelperTools, SKYFIRE_TOOL_INSTRUCTIONS, TOOL_MAX_OUTPUT_CHARS, TOOL_STATUS } from '../const.js';
2
+ import { createApifyClientWithSkyfireSupport } from '../apify-client.js';
3
+ import { HelperTools, TOOL_MAX_OUTPUT_CHARS, TOOL_STATUS } from '../const.js';
4
4
  import { compileSchema } from '../utils/ajv.js';
5
5
  import { getValuesByDotKeys, parseCommaSeparatedList } from '../utils/generic.js';
6
6
  import { buildMCPResponse } from '../utils/mcp.js';
7
+ import { datasetItemsOutputSchema } from './structured-output-schemas.js';
7
8
  /**
8
9
  * Zod schema for get-actor-output tool arguments
9
10
  */
@@ -75,10 +76,12 @@ USAGE EXAMPLES:
75
76
 
76
77
  Note: This tool is automatically included if the Apify MCP Server is configured with any Actor tools (e.g., "apify-slash-rag-web-browser") or tools that can interact with Actors (e.g., "call-actor", "add-actor").`,
77
78
  inputSchema: z.toJSONSchema(getActorOutputArgs),
79
+ outputSchema: datasetItemsOutputSchema,
78
80
  /**
79
81
  * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
80
82
  */
81
83
  ajvValidate: compileSchema({ ...z.toJSONSchema(getActorOutputArgs), additionalProperties: true }),
84
+ requiresSkyfirePayId: true,
82
85
  annotations: {
83
86
  title: 'Get Actor output',
84
87
  readOnlyHint: true,
@@ -87,25 +90,7 @@ Note: This tool is automatically included if the Apify MCP Server is configured
87
90
  },
88
91
  call: async (toolArgs) => {
89
92
  const { args, apifyToken, apifyMcpServer } = toolArgs;
90
- /**
91
- * In Skyfire mode, we check for the presence of `skyfire-pay-id`.
92
- * If it is missing, we return instructions to the LLM on how to create it and pass it to the tool.
93
- */
94
- if (apifyMcpServer.options.skyfireMode
95
- && args['skyfire-pay-id'] === undefined) {
96
- return {
97
- content: [{
98
- type: 'text',
99
- text: SKYFIRE_TOOL_INSTRUCTIONS,
100
- }],
101
- };
102
- }
103
- /**
104
- * Create Apify token, for Skyfire mode use `skyfire-pay-id` and for normal mode use `apifyToken`.
105
- */
106
- const apifyClient = apifyMcpServer.options.skyfireMode && typeof args['skyfire-pay-id'] === 'string'
107
- ? new ApifyClient({ skyfirePayId: args['skyfire-pay-id'] })
108
- : new ApifyClient({ token: apifyToken });
93
+ const apifyClient = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
109
94
  const parsed = getActorOutputArgs.parse(args);
110
95
  // Parse fields into array
111
96
  const fieldsArray = parseCommaSeparatedList(parsed.fields);
@@ -146,7 +131,15 @@ Note: This tool is automatically included if the Apify MCP Server is configured
146
131
  if (truncated) {
147
132
  outputText += `\n\n[Output was truncated to ${TOOL_MAX_OUTPUT_CHARS} characters to comply with the tool output limits.]`;
148
133
  }
149
- return { content: [{ type: 'text', text: outputText }] };
134
+ const structuredContent = {
135
+ datasetId: parsed.datasetId,
136
+ items: cleanedItems,
137
+ itemCount: cleanedItems.length,
138
+ totalItemCount: response.count,
139
+ offset: parsed.offset,
140
+ limit: parsed.limit,
141
+ };
142
+ return { content: [{ type: 'text', text: outputText }], structuredContent };
150
143
  },
151
144
  };
152
145
  //# sourceMappingURL=get-actor-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-actor-output.js","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2CAA2C,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,0IAA0I,CAAC;IACzJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACb,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,mDAAmD,CAAC;CACrE,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAChC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc;IACrC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,WAAW,EAAE;;;;;;;;;;;;;;;;qNAgBoM;IACjN,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAoB;IAClE;;OAEG;IACH,WAAW,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACjG,WAAW,EAAE;QACT,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;QAEtD;;;eAGO;QACP,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW;eAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAC7C,CAAC;YACC,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB;qBAClC,CAAC;aACL,CAAC;QACN,CAAC;QAED;;eAEO;QACP,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,QAAQ;YAChG,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3D,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,0BAA0B;QAC1B,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3D,gEAAgE;QAChE;;;eAGO;QACP,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACnE,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,gBAAgB,CAAC;gBACpB,KAAK,EAAE,CAAC,YAAY,MAAM,CAAC,SAAS,cAAc,CAAC;gBACnD,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,WAAW,CAAC,SAAS;aACpC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;QACzB,qCAAqC;QACrC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,GAAG,KAAK;aACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE1C,IAAI,UAAU,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC;QACvE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC5C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;YACxD,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACZ,UAAU,IAAI,gCAAgC,qBAAqB,qDAAqD,CAAC;QAC7H,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;CACK,CAAC"}
1
+ {"version":3,"file":"get-actor-output.js","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"key_value_store.d.ts","sourceRoot":"","sources":["../../src/tools/key_value_store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAShF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA2BrB,CAAC;AAeX;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SA+BzB,CAAC;AAWX;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SA2B3B,CAAC"}
1
+ {"version":3,"file":"key_value_store.d.ts","sourceRoot":"","sources":["../../src/tools/key_value_store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAShF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAgCrB,CAAC;AAeX;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAoCzB,CAAC;AAWX;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAgC3B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { ApifyClient } from '../apify-client.js';
2
+ import { createApifyClientWithSkyfireSupport } from '../apify-client.js';
3
3
  import { HelperTools } from '../const.js';
4
4
  import { compileSchema } from '../utils/ajv.js';
5
5
  const getKeyValueStoreArgs = z.object({
@@ -23,7 +23,11 @@ USAGE EXAMPLES:
23
23
  - user_input: Show info for key-value store username~my-store
24
24
  - user_input: Get details for store adb123`,
25
25
  inputSchema: z.toJSONSchema(getKeyValueStoreArgs),
26
- ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreArgs)),
26
+ /**
27
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
28
+ */
29
+ ajvValidate: compileSchema({ ...z.toJSONSchema(getKeyValueStoreArgs), additionalProperties: true }),
30
+ requiresSkyfirePayId: true,
27
31
  annotations: {
28
32
  title: 'Get key-value store',
29
33
  readOnlyHint: true,
@@ -31,9 +35,9 @@ USAGE EXAMPLES:
31
35
  openWorldHint: false,
32
36
  },
33
37
  call: async (toolArgs) => {
34
- const { args, apifyToken } = toolArgs;
38
+ const { args, apifyToken, apifyMcpServer } = toolArgs;
35
39
  const parsed = getKeyValueStoreArgs.parse(args);
36
- const client = new ApifyClient({ token: apifyToken });
40
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
37
41
  const store = await client.keyValueStore(parsed.storeId).get();
38
42
  return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(store)}\n\`\`\`` }] };
39
43
  },
@@ -67,7 +71,11 @@ USAGE EXAMPLES:
67
71
  - user_input: List first 100 keys in store username~my-store
68
72
  - user_input: Continue listing keys in store a123 from key data.json`,
69
73
  inputSchema: z.toJSONSchema(getKeyValueStoreKeysArgs),
70
- ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreKeysArgs)),
74
+ /**
75
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
76
+ */
77
+ ajvValidate: compileSchema({ ...z.toJSONSchema(getKeyValueStoreKeysArgs), additionalProperties: true }),
78
+ requiresSkyfirePayId: true,
71
79
  annotations: {
72
80
  title: 'Get key-value store keys',
73
81
  readOnlyHint: true,
@@ -75,9 +83,9 @@ USAGE EXAMPLES:
75
83
  openWorldHint: false,
76
84
  },
77
85
  call: async (toolArgs) => {
78
- const { args, apifyToken } = toolArgs;
86
+ const { args, apifyToken, apifyMcpServer } = toolArgs;
79
87
  const parsed = getKeyValueStoreKeysArgs.parse(args);
80
- const client = new ApifyClient({ token: apifyToken });
88
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
81
89
  const keys = await client.keyValueStore(parsed.storeId).listKeys({
82
90
  exclusiveStartKey: parsed.exclusiveStartKey,
83
91
  limit: parsed.limit,
@@ -109,7 +117,11 @@ USAGE EXAMPLES:
109
117
  - user_input: Get record INPUT from store abc123
110
118
  - user_input: Get record data.json from store username~my-store`,
111
119
  inputSchema: z.toJSONSchema(getKeyValueStoreRecordArgs),
112
- ajvValidate: compileSchema(z.toJSONSchema(getKeyValueStoreRecordArgs)),
120
+ /**
121
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
122
+ */
123
+ ajvValidate: compileSchema({ ...z.toJSONSchema(getKeyValueStoreRecordArgs), additionalProperties: true }),
124
+ requiresSkyfirePayId: true,
113
125
  annotations: {
114
126
  title: 'Get key-value store record',
115
127
  readOnlyHint: true,
@@ -117,9 +129,9 @@ USAGE EXAMPLES:
117
129
  openWorldHint: false,
118
130
  },
119
131
  call: async (toolArgs) => {
120
- const { args, apifyToken } = toolArgs;
132
+ const { args, apifyToken, apifyMcpServer } = toolArgs;
121
133
  const parsed = getKeyValueStoreRecordArgs.parse(args);
122
- const client = new ApifyClient({ token: apifyToken });
134
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
123
135
  const record = await client.keyValueStore(parsed.storeId).getRecord(parsed.recordKey);
124
136
  return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(record)}\n\`\`\`` }] };
125
137
  },
@@ -1 +1 @@
1
- {"version":3,"file":"key_value_store.js","sourceRoot":"","sources":["../../src/tools/key_value_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key_value_store.js","sourceRoot":"","sources":["../../src/tools/key_value_store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAoBhF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAoHhB,CAAC;AAUX;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SA8BnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SA6BlB,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAoBhF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,SAsIhB,CAAC;AAUX;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAmCnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAkClB,CAAC"}
package/dist/tools/run.js CHANGED
@@ -1,13 +1,14 @@
1
1
  var _a;
2
2
  import { z } from 'zod';
3
3
  import log from '@apify/log';
4
- import { ApifyClient } from '../apify-client.js';
4
+ import { createApifyClientWithSkyfireSupport } from '../apify-client.js';
5
5
  import { HelperTools, TOOL_STATUS } from '../const.js';
6
+ import { getWidgetConfig, WIDGET_URIS } from '../resources/widgets.js';
6
7
  import { compileSchema } from '../utils/ajv.js';
7
8
  import { logHttpError } from '../utils/logging.js';
8
9
  import { buildMCPResponse } from '../utils/mcp.js';
9
10
  import { generateSchemaFromItems } from '../utils/schema-generation.js';
10
- import { getWidgetConfig, WIDGET_URIS } from '../utils/widgets.js';
11
+ import { getActorRunOutputSchema } from './structured-output-schemas.js';
11
12
  const getActorRunArgs = z.object({
12
13
  runId: z.string()
13
14
  .min(1)
@@ -39,7 +40,12 @@ USAGE EXAMPLES:
39
40
  - user_input: Show details of run y2h7sK3Wc (where y2h7sK3Wc is an existing run)
40
41
  - user_input: What is the datasetId for run y2h7sK3Wc?`,
41
42
  inputSchema: z.toJSONSchema(getActorRunArgs),
42
- ajvValidate: compileSchema(z.toJSONSchema(getActorRunArgs)),
43
+ outputSchema: getActorRunOutputSchema,
44
+ /**
45
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
46
+ */
47
+ ajvValidate: compileSchema({ ...z.toJSONSchema(getActorRunArgs), additionalProperties: true }),
48
+ requiresSkyfirePayId: true,
43
49
  _meta: {
44
50
  ...(_a = getWidgetConfig(WIDGET_URIS.ACTOR_RUN)) === null || _a === void 0 ? void 0 : _a.meta,
45
51
  },
@@ -53,7 +59,7 @@ USAGE EXAMPLES:
53
59
  var _a, _b;
54
60
  const { args, apifyToken, apifyMcpServer } = toolArgs;
55
61
  const parsed = getActorRunArgs.parse(args);
56
- const client = new ApifyClient({ token: apifyToken });
62
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
57
63
  try {
58
64
  const run = await client.run(parsed.runId).get();
59
65
  if (!run) {
@@ -64,8 +70,21 @@ USAGE EXAMPLES:
64
70
  });
65
71
  }
66
72
  log.debug('Get actor run', { runId: parsed.runId, status: run.status });
73
+ let actorName;
74
+ if (run.actId) {
75
+ try {
76
+ const actor = await client.actor(run.actId).get();
77
+ if (actor) {
78
+ actorName = `${actor.username}/${actor.name}`;
79
+ }
80
+ }
81
+ catch (error) {
82
+ log.warning(`Failed to fetch actor name for run ${parsed.runId}`, { error });
83
+ }
84
+ }
67
85
  const structuredContent = {
68
86
  runId: run.id,
87
+ actorName,
69
88
  status: run.status,
70
89
  startedAt: ((_a = run.startedAt) === null || _a === void 0 ? void 0 : _a.toISOString()) || '',
71
90
  finishedAt: (_b = run.finishedAt) === null || _b === void 0 ? void 0 : _b.toISOString(),
@@ -86,12 +105,11 @@ USAGE EXAMPLES:
86
105
  previewItems: datasetItems.items,
87
106
  };
88
107
  }
89
- // When UI mode is enabled, return minimal text with widget metadata
90
108
  // When UI mode is disabled, return full text response without widget metadata
91
109
  if (apifyMcpServer.options.uiMode === 'openai') {
92
110
  const statusText = run.status === 'SUCCEEDED' && structuredContent.dataset
93
- ? `Actor run ${parsed.runId} completed successfully with ${structuredContent.dataset.itemCount} items. View details in the widget below.`
94
- : `Actor run ${parsed.runId} status: ${run.status}. View progress in the widget below.`;
111
+ ? `Actor run ${parsed.runId} completed successfully with ${structuredContent.dataset.itemCount} items. A widget has been rendered with the details.`
112
+ : `Actor run ${parsed.runId} status: ${run.status}. A progress widget has been rendered.`;
95
113
  const widgetConfig = getWidgetConfig(WIDGET_URIS.ACTOR_RUN);
96
114
  return buildMCPResponse({
97
115
  texts: [statusText],
@@ -142,7 +160,11 @@ USAGE EXAMPLES:
142
160
  - user_input: Get logs for run y2h7sK3Wc`,
143
161
  inputSchema: z.toJSONSchema(GetRunLogArgs),
144
162
  // It does not make sense to add structured output here since the log API just returns plain text
145
- ajvValidate: compileSchema(z.toJSONSchema(GetRunLogArgs)),
163
+ /**
164
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
165
+ */
166
+ ajvValidate: compileSchema({ ...z.toJSONSchema(GetRunLogArgs), additionalProperties: true }),
167
+ requiresSkyfirePayId: true,
146
168
  annotations: {
147
169
  title: 'Get Actor run log',
148
170
  readOnlyHint: true,
@@ -151,9 +173,9 @@ USAGE EXAMPLES:
151
173
  },
152
174
  call: async (toolArgs) => {
153
175
  var _a;
154
- const { args, apifyToken } = toolArgs;
176
+ const { args, apifyToken, apifyMcpServer } = toolArgs;
155
177
  const parsed = GetRunLogArgs.parse(args);
156
- const client = new ApifyClient({ token: apifyToken });
178
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
157
179
  const v = (_a = await client.run(parsed.runId).log().get()) !== null && _a !== void 0 ? _a : '';
158
180
  const lines = v.split('\n');
159
181
  const text = lines.slice(lines.length - parsed.lines - 1, lines.length).join('\n');
@@ -177,7 +199,11 @@ USAGE EXAMPLES:
177
199
  - user_input: Abort run y2h7sK3Wc
178
200
  - user_input: Gracefully abort run y2h7sK3Wc`,
179
201
  inputSchema: z.toJSONSchema(abortRunArgs),
180
- ajvValidate: compileSchema(z.toJSONSchema(abortRunArgs)),
202
+ /**
203
+ * Allow additional properties for Skyfire mode to pass `skyfire-pay-id`.
204
+ */
205
+ ajvValidate: compileSchema({ ...z.toJSONSchema(abortRunArgs), additionalProperties: true }),
206
+ requiresSkyfirePayId: true,
181
207
  annotations: {
182
208
  title: 'Abort Actor run',
183
209
  readOnlyHint: false,
@@ -186,9 +212,9 @@ USAGE EXAMPLES:
186
212
  openWorldHint: false,
187
213
  },
188
214
  call: async (toolArgs) => {
189
- const { args, apifyToken } = toolArgs;
215
+ const { args, apifyToken, apifyMcpServer } = toolArgs;
190
216
  const parsed = abortRunArgs.parse(args);
191
- const client = new ApifyClient({ token: apifyToken });
217
+ const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
192
218
  const v = await client.run(parsed.runId).abort({ gracefully: parsed.gracefully });
193
219
  return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(v)}\n\`\`\`` }] };
194
220
  },