@apify/actors-mcp-server 0.19.6-beta.1 → 0.19.6-beta.3

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 (105) hide show
  1. package/README.md +4 -0
  2. package/dist/apify_client.d.ts +6 -0
  3. package/dist/apify_client.d.ts.map +1 -1
  4. package/dist/apify_client.js +12 -1
  5. package/dist/apify_client.js.map +1 -1
  6. package/dist/const.d.ts +2 -0
  7. package/dist/const.d.ts.map +1 -1
  8. package/dist/const.js +2 -0
  9. package/dist/const.js.map +1 -1
  10. package/dist/index_internals.d.ts +2 -0
  11. package/dist/index_internals.d.ts.map +1 -1
  12. package/dist/index_internals_test_kit.d.ts +1 -2
  13. package/dist/index_internals_test_kit.d.ts.map +1 -1
  14. package/dist/index_internals_test_kit.js +1 -2
  15. package/dist/index_internals_test_kit.js.map +1 -1
  16. package/dist/mcp/client.d.ts +6 -1
  17. package/dist/mcp/client.d.ts.map +1 -1
  18. package/dist/mcp/client.js +15 -12
  19. package/dist/mcp/client.js.map +1 -1
  20. package/dist/mcp/remote_tool_call.d.ts +2 -1
  21. package/dist/mcp/remote_tool_call.d.ts.map +1 -1
  22. package/dist/mcp/remote_tool_call.js +6 -6
  23. package/dist/mcp/remote_tool_call.js.map +1 -1
  24. package/dist/mcp/server.d.ts.map +1 -1
  25. package/dist/mcp/server.js +4 -2
  26. package/dist/mcp/server.js.map +1 -1
  27. package/dist/mcp/tool_call_engine.d.ts +4 -1
  28. package/dist/mcp/tool_call_engine.d.ts.map +1 -1
  29. package/dist/mcp/tool_call_engine.js +17 -18
  30. package/dist/mcp/tool_call_engine.js.map +1 -1
  31. package/dist/mcp/tool_dispatch.js +1 -1
  32. package/dist/mcp/tool_dispatch.js.map +1 -1
  33. package/dist/test_kit/cases/actors.cases.d.ts.map +1 -1
  34. package/dist/test_kit/cases/actors.cases.js +15 -78
  35. package/dist/test_kit/cases/actors.cases.js.map +1 -1
  36. package/dist/test_kit/cases/payments.cases.d.ts.map +1 -1
  37. package/dist/test_kit/cases/payments.cases.js +19 -12
  38. package/dist/test_kit/cases/payments.cases.js.map +1 -1
  39. package/dist/test_kit/cases/registration.cases.d.ts.map +1 -1
  40. package/dist/test_kit/cases/registration.cases.js +8 -2
  41. package/dist/test_kit/cases/registration.cases.js.map +1 -1
  42. package/dist/test_kit/cases/tools.cases.d.ts.map +1 -1
  43. package/dist/test_kit/cases/tools.cases.js +23 -29
  44. package/dist/test_kit/cases/tools.cases.js.map +1 -1
  45. package/dist/test_kit/tsconfig.tsbuildinfo +1 -1
  46. package/dist/tools/actor_tool_naming.d.ts +1 -1
  47. package/dist/tools/actor_tool_naming.d.ts.map +1 -1
  48. package/dist/tools/actor_tool_naming.js +2 -2
  49. package/dist/tools/actor_tool_naming.js.map +1 -1
  50. package/dist/tools/actors/actor_tools_factory.d.ts +5 -2
  51. package/dist/tools/actors/actor_tools_factory.d.ts.map +1 -1
  52. package/dist/tools/actors/actor_tools_factory.js +10 -6
  53. package/dist/tools/actors/actor_tools_factory.js.map +1 -1
  54. package/dist/tools/actors/call_actor.d.ts +10 -38
  55. package/dist/tools/actors/call_actor.d.ts.map +1 -1
  56. package/dist/tools/actors/call_actor.js +59 -145
  57. package/dist/tools/actors/call_actor.js.map +1 -1
  58. package/dist/tools/actors/call_actor_mcp_tool.d.ts +20 -0
  59. package/dist/tools/actors/call_actor_mcp_tool.d.ts.map +1 -0
  60. package/dist/tools/actors/call_actor_mcp_tool.js +150 -0
  61. package/dist/tools/actors/call_actor_mcp_tool.js.map +1 -0
  62. package/dist/tools/actors/fetch_actor_details.d.ts +2 -9
  63. package/dist/tools/actors/fetch_actor_details.d.ts.map +1 -1
  64. package/dist/tools/actors/fetch_actor_details.js +13 -26
  65. package/dist/tools/actors/fetch_actor_details.js.map +1 -1
  66. package/dist/tools/actors/fetch_actor_mcp_tool_list.d.ts +8 -0
  67. package/dist/tools/actors/fetch_actor_mcp_tool_list.d.ts.map +1 -0
  68. package/dist/tools/actors/fetch_actor_mcp_tool_list.js +83 -0
  69. package/dist/tools/actors/fetch_actor_mcp_tool_list.js.map +1 -0
  70. package/dist/tools/actors/send_server_actor_request.d.ts.map +1 -1
  71. package/dist/tools/actors/send_server_actor_request.js +4 -6
  72. package/dist/tools/actors/send_server_actor_request.js.map +1 -1
  73. package/dist/tools/registry.d.ts.map +1 -1
  74. package/dist/tools/registry.js +3 -1
  75. package/dist/tools/registry.js.map +1 -1
  76. package/dist/tools/structured_output_schemas.d.ts +12 -2
  77. package/dist/tools/structured_output_schemas.d.ts.map +1 -1
  78. package/dist/tools/structured_output_schemas.js +12 -4
  79. package/dist/tools/structured_output_schemas.js.map +1 -1
  80. package/dist/tools/versions/source_helpers.d.ts +1 -1
  81. package/dist/tools/widgets/call_actor_widget.d.ts.map +1 -1
  82. package/dist/tools/widgets/call_actor_widget.js +6 -18
  83. package/dist/tools/widgets/call_actor_widget.js.map +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/dist/types.d.ts +2 -8
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js.map +1 -1
  88. package/dist/utils/actor.d.ts +3 -6
  89. package/dist/utils/actor.d.ts.map +1 -1
  90. package/dist/utils/actor.js +10 -23
  91. package/dist/utils/actor.js.map +1 -1
  92. package/dist/utils/actor_details.d.ts +0 -6
  93. package/dist/utils/actor_details.d.ts.map +1 -1
  94. package/dist/utils/actor_details.js +0 -56
  95. package/dist/utils/actor_details.js.map +1 -1
  96. package/dist/utils/apify_errors.d.ts.map +1 -1
  97. package/dist/utils/apify_errors.js +19 -1
  98. package/dist/utils/apify_errors.js.map +1 -1
  99. package/dist/utils/server-instructions/index.d.ts.map +1 -1
  100. package/dist/utils/server-instructions/index.js +0 -1
  101. package/dist/utils/server-instructions/index.js.map +1 -1
  102. package/dist/utils/tools.d.ts.map +1 -1
  103. package/dist/utils/tools.js +1 -3
  104. package/dist/utils/tools.js.map +1 -1
  105. package/package.json +1 -1
@@ -1,37 +1,28 @@
1
- import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
2
1
  import dedent from 'dedent';
3
2
  import { z } from 'zod';
4
3
  import log from '@apify/log';
5
4
  import { ApifyClient } from '../../apify_client.js';
6
5
  import { APIFY_ERROR_TYPE_CANNOT_START_ACTOR_RUNS, APIFY_ERROR_TYPE_FULL_PERMISSION_NOT_APPROVED, APIFY_ERROR_TYPE_MEMORY_LIMIT_EXCEEDED, FAILURE_CATEGORY, HELPER_TOOLS, } from '../../const.js';
7
6
  import { ACTOR_LOAD_ERROR_KIND, ActorLoadError } from '../../errors.js';
8
- import { EXTERNAL_TOOL_CALL_TIMEOUT_MSEC } from '../../mcp/const.js';
9
- import { withRemoteMcpClient } from '../../mcp/remote_tool_call.js';
10
7
  import { ACTOR_TOOL_MODE, ALL_TOOLS_PRESENT, TOOL_TYPE } from '../../types.js';
11
8
  import { getActorDefinitionCached, getActorToolResolutionCached } from '../../utils/actor.js';
12
9
  import { compileSchema } from '../../utils/ajv.js';
13
- import { ACTOR_RUN_LIMIT_MESSAGE, isActorInputValidationError, isActorRunLimitError, isMemoryQuotaError, isPermissionApprovalError, remoteMcpFailureDetail, } from '../../utils/apify_errors.js';
10
+ import { ACTOR_RUN_LIMIT_MESSAGE, isActorInputValidationError, isActorRunLimitError, isMemoryQuotaError, isPermissionApprovalError, } from '../../utils/apify_errors.js';
14
11
  import { getConsoleLinkContext } from '../../utils/console_link.js';
15
12
  import { wrapJsonText } from '../../utils/encode_text.js';
16
13
  import { logHttpError } from '../../utils/logging.js';
17
- import { buildInvalidInputTexts, respondAborted, respondRaw, respondServerError, respondUserError, } from '../../utils/mcp.js';
14
+ import { buildInvalidInputTexts, respondAborted, respondServerError, respondUserError, } from '../../utils/mcp.js';
18
15
  import { buildPermissionApprovalTexts } from '../../utils/payment_errors.js';
19
16
  import { classifyFailureCategory, extractAjvErrorDetails } from '../../utils/tool_status.js';
20
17
  import { extractActorId } from '../../utils/tools.js';
21
- import { isActorBlockedUnderPaymentProvider } from '../actor_tool_naming.js';
18
+ import { getOwnServerRemedy, isActorBlockedUnderPaymentProvider } from '../actor_tool_naming.js';
22
19
  import { buildGetActorRunResponse } from '../runs/get_actor_run.js';
23
20
  import { actorRunOutputSchema, anyJsonObjectSchema } from '../structured_output_schemas.js';
24
21
  import { abortRunOnSignal, buildStartRunResponse, CALL_ACTOR_WAIT_SECS_DEFAULT, fetchActorRunData, } from './actor_run_response.js';
25
- import { fixActorNameInputAndLog, getActorsAsTools } from './actor_tools_factory.js';
22
+ import { fixActorNameInputAndLog, getActorsAsTools, MCP_TOOL_NAME_SUFFIX } from './actor_tools_factory.js';
26
23
  // ---------------------------------------------------------------------------
27
24
  // Shared call-actor description building blocks
28
25
  // ---------------------------------------------------------------------------
29
- export const CALL_ACTOR_MCP_MISSING_TOOL_NAME_MSG = `When calling an MCP server Actor, you must specify the tool name in the actor parameter as "{actorName}:{toolName}" in the "actor" input property.`;
30
- /** Shared MCP server instructions — identical in both modes. */
31
- export function buildCallActorMcpServerSection({ hasTool }) {
32
- return `For MCP server Actors:
33
- ${hasTool(HELPER_TOOLS.ACTOR_GET_DETAILS) ? `- Use ${HELPER_TOOLS.ACTOR_GET_DETAILS} with output={ mcpTools: true } to list available tools\n` : ''}- Call using format: "actorName:toolName" (e.g., "username/name:tool-name")`;
34
- }
35
26
  /** Points at the Actor Server for results that do not need a batch run. */
36
27
  function buildCallActorServerActorSection({ hasTool }) {
37
28
  const operations = hasTool(HELPER_TOOLS.ACTOR_GET_DETAILS)
@@ -101,7 +92,7 @@ export function buildCallActorDescription(ctx = ALL_TOOLS_PRESENT) {
101
92
  const sections = [
102
93
  'Call any Actor from the Apify Store.',
103
94
  workflowSection,
104
- buildCallActorMcpServerSection(ctx),
95
+ `MCP server Actors are not run here${hasTool(HELPER_TOOLS.ACTOR_MCP_TOOL_CALL) ? `; ${HELPER_TOOLS.ACTOR_MCP_TOOL_CALL} calls their MCP tools` : ''}.`,
105
96
  ...(hasTool(HELPER_TOOLS.ACTOR_SERVER_REQUEST) ? [buildCallActorServerActorSection(ctx)] : []),
106
97
  dedent `
107
98
  IMPORTANT:
@@ -126,8 +117,8 @@ export function buildCallActorDescription(ctx = ALL_TOOLS_PRESENT) {
126
117
  */
127
118
  function respondStandbyRejection(error, opts) {
128
119
  log.softFail('Rejecting a tool call for an unsupported standby Actor', {
129
- // The error's canonical Actor name, so both call shapes log the same value even when the
130
- // caller addressed the Actor by ID. `actorLoadErrorKind` distinguishes which cell rejected it.
120
+ // The error's canonical Actor name, not the caller's identifier, which may be an Actor ID.
121
+ // `actorLoadErrorKind` distinguishes which cell rejected it.
131
122
  actorName: error.actorName,
132
123
  mcpSessionId: opts.mcpSessionId,
133
124
  paymentProviderId: opts.paymentProviderId,
@@ -136,10 +127,7 @@ function respondStandbyRejection(error, opts) {
136
127
  });
137
128
  return respondUserError(error.message, { actorId: opts.actorId, detail: error.kind });
138
129
  }
139
- /**
140
- * Canonical "Actor not found" answer, shared by the run path and the `actor:toolName` route so an
141
- * unknown Actor gets the same response regardless of call shape.
142
- */
130
+ /** Canonical "Actor not found" answer for the run path. */
143
131
  function respondActorNotFound(actorName, loadedToolNames) {
144
132
  // See apify/apify-mcp-server#1296.
145
133
  // Only search-actors: the Actor does not exist, so buildCallFailureRecoveryHint's second
@@ -237,11 +225,9 @@ export const callOptionsSchema = z.object({
237
225
  });
238
226
  /** Zod schema for call-actor arguments — shared between default and apps variants. */
239
227
  export const callActorArgs = z.object({
240
- actor: z.string().describe(dedent `
241
- The Actor to call: its ID, or its name in the "username/name" form (e.g., "apify/rag-web-browser").
242
-
243
- For MCP server Actors, use format "actorName:toolName" to call a specific tool (e.g., "username/name:tool-name").
244
- `),
228
+ actor: z
229
+ .string()
230
+ .describe('The Actor to call: its ID, or its name in the "username/name" form (e.g., "apify/rag-web-browser").'),
245
231
  input: anyJsonObjectSchema.describe('The input JSON to pass to the Actor. Required.'),
246
232
  waitSecs: z
247
233
  .number()
@@ -270,85 +256,47 @@ export const callActorAjvValidate = compileSchema({ ...z.toJSONSchema(callActorA
270
256
  * Uses `actorDefinitionCache` — one definition fetch on a cold cache.
271
257
  */
272
258
  export async function checkPaymentProviderStandbyConflict(params) {
273
- const { actorName, paymentProvider, apifyToken, mcpSessionId } = params;
259
+ const { tool, args, paymentProvider, apifyToken, mcpSessionId } = params;
260
+ if (!paymentProvider || !tool.hasPaymentProviderStandbyCheck)
261
+ return null;
262
+ const actorName = args.actor;
263
+ if (typeof actorName !== 'string' || !actorName)
264
+ return null;
274
265
  const normalizedActorName = fixActorNameInputAndLog(actorName, { mcpSessionId });
275
- const { baseActorName } = resolveActorContext(normalizedActorName);
276
266
  // Token-based client — payment headers are only relevant for actual Actor runs.
277
267
  const apifyClientForDefinition = new ApifyClient({ token: apifyToken });
278
- const actorDefinitionWithInfo = await getActorDefinitionCached(baseActorName, apifyClientForDefinition);
268
+ const actorDefinitionWithInfo = await getActorDefinitionCached(normalizedActorName, apifyClientForDefinition);
279
269
  if (!actorDefinitionWithInfo) {
280
270
  return null;
281
271
  }
282
272
  if (!isActorBlockedUnderPaymentProvider(actorDefinitionWithInfo.info)) {
283
273
  return null;
284
274
  }
285
- // Canonical name, not the caller's identifier — it may be an Actor ID or carry a `:toolName` suffix.
275
+ // Canonical name, not the caller's identifier, which may be an Actor ID.
286
276
  const error = ActorLoadError.standbyPaymentNotSupported(actorDefinitionWithInfo.definition.actorFullName);
287
277
  return respondStandbyRejection(error, { mcpSessionId, paymentProviderId: paymentProvider.id });
288
278
  }
289
- /**
290
- * Resolves MCP URL and parses the "actor:tool" format.
291
- * Shared pre-processing step used by both default and apps variants.
292
- */
293
- export function resolveActorContext(actorName) {
294
- const mcpToolMatch = actorName.match(/^(.+):(.+)$/);
295
- if (mcpToolMatch) {
296
- return {
297
- baseActorName: mcpToolMatch[1],
298
- mcpToolName: mcpToolMatch[2],
299
- };
300
- }
301
- return { baseActorName: actorName, mcpToolName: undefined };
279
+ /** Rejection for an Actor that is an MCP server: its input interface is unused, so a run of it is a mistake. */
280
+ function respondMcpServerActor(actorFullName, route, loadedToolNames) {
281
+ const replacement = loadedToolNames.includes(HELPER_TOOLS.ACTOR_MCP_TOOL_CALL)
282
+ ? ` Its MCP tools can be called with ${HELPER_TOOLS.ACTOR_MCP_TOOL_CALL}.`
283
+ : ` Its MCP tools cannot be called in this configuration. To use them, ${getOwnServerRemedy()}`;
284
+ return respondUserError(`Actor '${actorFullName}' is an MCP server, which ${route} does not run.${replacement}`, {
285
+ detail: 'MCP server Actor',
286
+ });
302
287
  }
303
- /**
304
- * Proxies the MCP tool call flow (when actorName contains ":toolName"). The caller routes here only
305
- * for {@link ACTOR_TOOL_MODE.MCP} Actors, so `mcpServerUrl` is always known good.
306
- */
307
- export async function handleMcpToolCall(params) {
308
- const { baseActorName, mcpToolName, input, mcpServerUrl, apifyToken, mcpSessionId, signal } = params;
309
- if (!input) {
310
- return respondServerError(`Input is required for MCP tool '${mcpToolName}'. Please provide the input parameter based on the tool's input schema.`);
311
- }
312
- if (signal.aborted) {
313
- return respondAborted();
314
- }
315
- const outcome = await withRemoteMcpClient(mcpServerUrl, apifyToken, mcpSessionId, signal, async (client) => client.callTool({ name: mcpToolName, arguments: input }, CallToolResultSchema, {
316
- timeout: EXTERNAL_TOOL_CALL_TIMEOUT_MSEC,
317
- signal,
318
- }));
319
- switch (outcome.outcome) {
320
- case 'connect-failed':
321
- return respondServerError(`Failed to connect to MCP server ${mcpServerUrl}`);
322
- case 'aborted':
323
- return respondAborted();
324
- case 'error':
325
- logHttpError(outcome.error, `Failed to call MCP tool '${mcpToolName}' on Actor '${baseActorName}'`, {
326
- actorName: baseActorName,
327
- toolName: mcpToolName,
328
- });
329
- return respondServerError(`Failed to call MCP tool '${mcpToolName}' on Actor '${baseActorName}': ${remoteMcpFailureDetail(outcome.error)}`);
330
- case 'success': {
331
- // `call-actor` declares `actorRunOutputSchema`, so MCP SDK ≥ 1.11.4 rejects any response
332
- // without `structuredContent` (unless `isError: true`) with -32600. The pass-through has no
333
- // Apify run, so synthesize a sentinel `RunResponse` matching the schema's `required` keys;
334
- // the remote tool's payload still flows through `content`. Also forward `isError` so a
335
- // failing remote tool surfaces as a failure here.
336
- const isErrorFromRemote = outcome.value.isError === true;
337
- return respondRaw({
338
- content: outcome.value.content,
339
- isError: isErrorFromRemote,
340
- structuredContent: {
341
- runId: 'mcp-passthrough',
342
- actorId: baseActorName,
343
- actorName: baseActorName,
344
- status: isErrorFromRemote ? 'FAILED' : 'SUCCEEDED',
345
- storages: {},
346
- summary: `Called MCP tool '${mcpToolName}' on '${baseActorName}'.`,
347
- nextStep: 'Response content carries the remote MCP tool result; no Apify run was started.',
348
- },
349
- });
350
- }
351
- }
288
+ /** Rejects removed MCP call syntax before Actor or payment metadata is fetched. */
289
+ export function buildLegacyMcpSyntaxRejection(toolName, actor, loadedToolNames) {
290
+ if (toolName !== HELPER_TOOLS.ACTOR_CALL && toolName !== HELPER_TOOLS.ACTOR_CALL_WIDGET)
291
+ return null;
292
+ if (typeof actor !== 'string' || !MCP_TOOL_NAME_SUFFIX.test(actor))
293
+ return null;
294
+ const replacement = loadedToolNames.includes(HELPER_TOOLS.ACTOR_MCP_TOOL_CALL)
295
+ ? ` Use ${HELPER_TOOLS.ACTOR_MCP_TOOL_CALL} with separate actor and tool arguments.`
296
+ : ` MCP tools cannot be called in this configuration. To use them, ${getOwnServerRemedy()}`;
297
+ return respondUserError(`The "actor:tool" syntax is no longer supported by ${toolName}.${replacement}`, {
298
+ detail: 'legacy MCP call syntax',
299
+ });
352
300
  }
353
301
  /**
354
302
  * Validates the actor and its input, returning the resolved actor tool or an error response.
@@ -420,29 +368,25 @@ export async function resolveAndValidateActor(params) {
420
368
  return { actor };
421
369
  }
422
370
  /**
423
- * Performs the pre-execution checks common to both modes:
424
- * - Parses args
425
- * - Resolves actor/MCP context
426
- * - Handles payment provider restrictions
427
- * - Handles MCP tool calls
428
- *
429
- * Returns either an early response (error or MCP tool result) or the parsed context for mode-specific execution.
371
+ * Performs the pre-execution checks common to both modes: parses args and rejects an Actor that `call-actor`
372
+ * cannot run (a standby Actor with neither an MCP server nor an input schema, or an MCP server).
430
373
  *
431
- * Applies the same `actor` string normalization as `getActorsAsTools` **before** MCP URL lookup and routing so
432
- * clients cannot pass a clean-enough id for definition fetch but a dirty id to `apifyClient.actor()` (see Mezmo:
433
- * e.g. trailing `` ` `` on `apify/rag-web-browser`).
374
+ * Applies the same `actor` string normalization as `getActorsAsTools` **before** routing so clients cannot pass a
375
+ * clean-enough id for definition fetch but a dirty id to `apifyClient.actor()` (see Mezmo: e.g. trailing `` ` ``
376
+ * on `apify/rag-web-browser`).
434
377
  */
435
378
  export async function callActorPreExecute(toolArgs, options) {
436
379
  const { args, apifyToken, mcpSessionId, loadedToolNames } = toolArgs;
437
380
  const parsedArgs = callActorArgs.parse(args);
381
+ const legacyRejection = buildLegacyMcpSyntaxRejection(options.route, parsedArgs.actor, loadedToolNames);
382
+ if (legacyRejection)
383
+ return { earlyResponse: legacyRejection };
438
384
  const actorName = fixActorNameInputAndLog(parsedArgs.actor, { mcpSessionId, route: options.route });
439
- const parsed = { ...parsedArgs, actor: actorName };
440
- const { baseActorName, mcpToolName } = resolveActorContext(parsed.actor);
441
385
  // For definition resolution we always use a token-based client; payment provider is only for actual Actor runs.
442
386
  // Standby/MCP-server Actors under a third-party payment provider are rejected upstream by
443
387
  // `checkPaymentProviderStandbyConflict` — see src/mcp/tool_call_engine.ts.
444
388
  const apifyClientForDefinition = new ApifyClient({ token: apifyToken });
445
- const resolution = await getActorToolResolutionCached(baseActorName, apifyClientForDefinition);
389
+ const resolution = await getActorToolResolutionCached(actorName, apifyClientForDefinition);
446
390
  if ((resolution === null || resolution === void 0 ? void 0 : resolution.toolMode) === ACTOR_TOOL_MODE.SERVER_ACTOR_WITHOUT_MCP) {
447
391
  const error = ActorLoadError.serverActorWithoutMcpNotSupported(resolution.actorFullName);
448
392
  if (resolution.interfaces.server && loadedToolNames.includes(HELPER_TOOLS.ACTOR_SERVER_REQUEST)) {
@@ -452,40 +396,10 @@ export async function callActorPreExecute(toolArgs, options) {
452
396
  earlyResponse: respondStandbyRejection(error, { mcpSessionId }),
453
397
  };
454
398
  }
455
- const isActorMcpServer = (resolution === null || resolution === void 0 ? void 0 : resolution.toolMode) === ACTOR_TOOL_MODE.MCP;
456
- // Handle the case where LLM does not respect instructions when calling MCP server Actors
457
- // and does not provide the tool name.
458
- const isMcpToolNameInvalid = mcpToolName === undefined || mcpToolName.trim().length === 0;
459
- if (isActorMcpServer && isMcpToolNameInvalid) {
460
- return {
461
- earlyResponse: respondServerError(CALL_ACTOR_MCP_MISSING_TOOL_NAME_MSG),
462
- };
399
+ if ((resolution === null || resolution === void 0 ? void 0 : resolution.toolMode) === ACTOR_TOOL_MODE.MCP) {
400
+ return { earlyResponse: respondMcpServerActor(resolution.actorFullName, options.route, loadedToolNames) };
463
401
  }
464
- // A `:toolName` suffix only means anything for an MCP-server Actor; every other mode is a dead end.
465
- if (mcpToolName) {
466
- if (resolution === null) {
467
- return { earlyResponse: respondActorNotFound(baseActorName, loadedToolNames) };
468
- }
469
- if (resolution.toolMode !== ACTOR_TOOL_MODE.MCP) {
470
- return {
471
- earlyResponse: respondUserError(`Actor '${resolution.actorFullName}' is not an MCP server.`, {
472
- detail: 'tool name given for a non-MCP Actor',
473
- }),
474
- };
475
- }
476
- return {
477
- earlyResponse: await handleMcpToolCall({
478
- baseActorName,
479
- mcpToolName,
480
- input: parsed.input,
481
- mcpServerUrl: resolution.mcpServerUrl,
482
- apifyToken,
483
- mcpSessionId,
484
- signal: toolArgs.signal,
485
- }),
486
- };
487
- }
488
- return { parsed, baseActorName, mcpToolName };
402
+ return { parsed: { ...parsedArgs, actor: actorName } };
489
403
  }
490
404
  /**
491
405
  * Shared start-then-wait flow for call-actor variants (default + apps).
@@ -496,8 +410,8 @@ export async function executeCallActor(toolArgs) {
496
410
  if ('earlyResponse' in preResult) {
497
411
  return preResult.earlyResponse;
498
412
  }
499
- const { parsed, baseActorName } = preResult;
500
- const { input, callOptions } = parsed;
413
+ const { parsed } = preResult;
414
+ const { actor: actorName, input, callOptions } = parsed;
501
415
  // Task mode waits until terminal (waitSecs=undefined uses SDK default ~999999s); caller's waitSecs is ignored.
502
416
  // Non-task mode: pass waitSecs so the SDK blocks up to that many seconds before returning.
503
417
  const waitSecs = toolArgs.taskMode ? undefined : parsed.waitSecs;
@@ -505,7 +419,7 @@ export async function executeCallActor(toolArgs) {
505
419
  let resolvedInputSchema;
506
420
  try {
507
421
  const resolution = await resolveAndValidateActor({
508
- actorName: baseActorName,
422
+ actorName,
509
423
  input: input,
510
424
  toolArgs,
511
425
  });
@@ -518,9 +432,9 @@ export async function executeCallActor(toolArgs) {
518
432
  const abortSignal = toolArgs.signal;
519
433
  if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted)
520
434
  return respondAborted();
521
- const actorRun = await apifyClient.actor(baseActorName).start(input, callOptions);
435
+ const actorRun = await apifyClient.actor(actorName).start(input, callOptions);
522
436
  log.debug('Started Actor run', {
523
- actorName: baseActorName,
437
+ actorName,
524
438
  runId: actorRun.id,
525
439
  mcpSessionId: toolArgs.mcpSessionId,
526
440
  waitSecs,
@@ -533,13 +447,13 @@ export async function executeCallActor(toolArgs) {
533
447
  const linkContext = await getConsoleLinkContext(toolArgs.apifyToken, apifyClient);
534
448
  // waitSecs:0 means "fire and forget" — start() already returned the full run, skip re-fetch.
535
449
  if (waitSecs === 0) {
536
- const response = buildStartRunResponse({ actorName: baseActorName, actorRun, linkContext });
450
+ const response = buildStartRunResponse({ actorName, actorRun, linkContext });
537
451
  return { ...response, toolTelemetry: { actorId: resolvedActorId } };
538
452
  }
539
453
  const fetchResult = await fetchActorRunData({
540
454
  runId: actorRun.id,
541
455
  waitSecs,
542
- actorName: baseActorName,
456
+ actorName,
543
457
  client: apifyClient,
544
458
  progressTracker: toolArgs.progressTracker,
545
459
  abortSignal,
@@ -557,7 +471,7 @@ export async function executeCallActor(toolArgs) {
557
471
  }
558
472
  catch (error) {
559
473
  return buildCallActorErrorResponse({
560
- actorName: baseActorName,
474
+ actorName,
561
475
  error,
562
476
  actorId: resolvedActorId,
563
477
  mcpSessionId: toolArgs.mcpSessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/actors/call_actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call_actor.js","sourceRoot":"","sources":["../../../src/tools/actors/call_actor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
+ import type { InternalToolArgs, ToolEntry } from '../../types.js';
3
+ import type { ToolResponse } from '../../utils/mcp.js';
4
+ /** The MCP spec's upper bound for a tool name. */
5
+ export declare const MCP_TOOL_NAME_MAX_LENGTH = 128;
6
+ /**
7
+ * Runs one operation on an MCP server Actor's server under the caller's token: resolves the Actor, rejects one
8
+ * without the `mcp` interface before connecting, and turns a failed connection, an abort or a thrown error into
9
+ * a response. `operation` completes "Failed to … on Actor 'name'". Every response after the lookup, except an
10
+ * abort, carries the Actor ID for telemetry.
11
+ */
12
+ export declare function runOnActorMcpServer(toolArgs: InternalToolArgs, params: {
13
+ actor: string;
14
+ operation: string;
15
+ run: (client: Client) => Promise<ToolResponse>;
16
+ }): Promise<ToolResponse>;
17
+ export declare function executeCallActorMcpTool(toolArgs: InternalToolArgs): Promise<ToolResponse>;
18
+ /** Calls one tool on an MCP server Actor and passes its `CallToolResult` through. */
19
+ export declare const callActorMcpTool: ToolEntry;
20
+ //# sourceMappingURL=call_actor_mcp_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call_actor_mcp_tool.d.ts","sourceRoot":"","sources":["../../../src/tools/actors/call_actor_mcp_tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUxE,OAAO,KAAK,EAER,gBAAgB,EAEhB,SAAS,EAEZ,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,kDAAkD;AAClD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AA4C5C;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,GAC7F,OAAO,CAAC,YAAY,CAAC,CA8DvB;AAED,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqB/F;AAED,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,EAAE,SAmBpB,CAAC"}
@@ -0,0 +1,150 @@
1
+ import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
2
+ import dedent from 'dedent';
3
+ import { z } from 'zod';
4
+ import { FAILURE_CATEGORY, HELPER_TOOLS, TOOL_STATUS } from '../../const.js';
5
+ import { getActorMCPServerPath, getActorMCPServerURL } from '../../mcp/actors.js';
6
+ import { EXTERNAL_TOOL_CALL_TIMEOUT_MSEC } from '../../mcp/const.js';
7
+ import { withRemoteMcpClient } from '../../mcp/remote_tool_call.js';
8
+ import { ALL_TOOLS_PRESENT, TOOL_TYPE } from '../../types.js';
9
+ import { getActorDefinitionCached } from '../../utils/actor.js';
10
+ import { compileSchema } from '../../utils/ajv.js';
11
+ import { remoteMcpFailureDetail } from '../../utils/apify_errors.js';
12
+ import { logHttpError } from '../../utils/logging.js';
13
+ import { respondAborted, respondRaw, respondServerError, respondUserError } from '../../utils/mcp.js';
14
+ import { resolveActorInterfaces } from '../actor_tool_naming.js';
15
+ import { anyJsonObjectSchema } from '../structured_output_schemas.js';
16
+ import { fixActorNameInputAndLog } from './actor_tools_factory.js';
17
+ import { buildActorNotFoundResponse } from './fetch_actor_details.js';
18
+ /** The MCP spec's upper bound for a tool name. */
19
+ export const MCP_TOOL_NAME_MAX_LENGTH = 128;
20
+ const callActorMcpToolArgs = z.object({
21
+ actor: z.string().min(1).describe('The MCP server Actor: its ID, or its name in the "username/name" form.'),
22
+ tool: z.string().min(1).max(MCP_TOOL_NAME_MAX_LENGTH).describe("The name of the tool on the Actor's MCP server."),
23
+ arguments: anyJsonObjectSchema
24
+ .optional()
25
+ .describe("The tool's arguments, matching its input schema. Omit for a tool that takes none."),
26
+ });
27
+ function buildDescription({ hasTool }) {
28
+ const toolList = hasTool(HELPER_TOOLS.ACTOR_MCP_TOOL_LIST)
29
+ ? `\n${HELPER_TOOLS.ACTOR_MCP_TOOL_LIST} lists the Actor's MCP tools and their input schemas.`
30
+ : '';
31
+ return dedent `
32
+ Call one tool on an Actor's MCP server and return its result.${toolList}
33
+ It connects with your Apify API token. Connecting can start a Server Actor run in your account, kept until its idle timeout; a multi-tenant Server Actor charges per event. What the tool itself does depends on the Actor.
34
+
35
+ Example call: {"actor": "username/name", "tool": "search", "arguments": {"query": "apify"}}
36
+
37
+ USAGE:
38
+ - Use when the user asks to call a tool on an Actor's MCP server.
39
+
40
+ USAGE EXAMPLES:
41
+ - user_input: Use the search tool of username/name to look up apify
42
+ `;
43
+ }
44
+ /** Rejection for an Actor that is not an MCP server, pointing at the tool that serves its interface when there is one. */
45
+ function buildNotMcpServerText(actorFullName, { input, server }, loadedToolNames) {
46
+ const text = `Actor '${actorFullName}' is not an MCP server.`;
47
+ if (server && loadedToolNames.includes(HELPER_TOOLS.ACTOR_SERVER_REQUEST)) {
48
+ return `${text} Its HTTP API can be called with ${HELPER_TOOLS.ACTOR_SERVER_REQUEST}.`;
49
+ }
50
+ if (input && loadedToolNames.includes(HELPER_TOOLS.ACTOR_CALL)) {
51
+ return `${text} It can be run from an input with ${HELPER_TOOLS.ACTOR_CALL}.`;
52
+ }
53
+ return text;
54
+ }
55
+ /**
56
+ * Runs one operation on an MCP server Actor's server under the caller's token: resolves the Actor, rejects one
57
+ * without the `mcp` interface before connecting, and turns a failed connection, an abort or a thrown error into
58
+ * a response. `operation` completes "Failed to … on Actor 'name'". Every response after the lookup, except an
59
+ * abort, carries the Actor ID for telemetry.
60
+ */
61
+ export async function runOnActorMcpServer(toolArgs, params) {
62
+ const { apifyToken, apifyClient, mcpSessionId, loadedToolNames, signal } = toolArgs;
63
+ if (!apifyToken) {
64
+ return respondUserError("An Apify API token is required: the connection to the Actor's MCP server carries it.", {
65
+ category: FAILURE_CATEGORY.AUTH,
66
+ });
67
+ }
68
+ const actorName = fixActorNameInputAndLog(params.actor, { mcpSessionId });
69
+ const cached = await getActorDefinitionCached(actorName, apifyClient);
70
+ if (!cached)
71
+ return buildActorNotFoundResponse(actorName, loadedToolNames);
72
+ const { definition, info } = cached;
73
+ const { actorFullName } = definition;
74
+ const withActorId = (response) => ({
75
+ ...response,
76
+ toolTelemetry: { ...response.toolTelemetry, actorId: info.id },
77
+ });
78
+ const webServerMcpPath = getActorMCPServerPath(definition);
79
+ const interfaces = resolveActorInterfaces({ definition, actor: info, webServerMcpPath });
80
+ if (!webServerMcpPath || !interfaces.mcp) {
81
+ return withActorId(respondUserError(buildNotMcpServerText(actorFullName, interfaces, loadedToolNames), {
82
+ detail: 'not an MCP server',
83
+ }));
84
+ }
85
+ let serverUrl;
86
+ try {
87
+ serverUrl = await getActorMCPServerURL(info, webServerMcpPath);
88
+ }
89
+ catch (error) {
90
+ return withActorId(respondServerError(error.message));
91
+ }
92
+ if (signal.aborted)
93
+ return respondAborted();
94
+ const outcome = await withRemoteMcpClient(serverUrl, { token: apifyToken, requestOrigin: apifyClient.requestOrigin }, mcpSessionId, signal, params.run);
95
+ switch (outcome.outcome) {
96
+ case 'connect-failed':
97
+ return withActorId(respondServerError(`Failed to connect to MCP server ${serverUrl}`));
98
+ case 'aborted':
99
+ return respondAborted();
100
+ case 'error':
101
+ logHttpError(outcome.error, `Failed to ${params.operation} on Actor '${actorFullName}'`, {
102
+ actorName: actorFullName,
103
+ });
104
+ return withActorId(respondServerError(`Failed to ${params.operation} on Actor '${actorFullName}': ${remoteMcpFailureDetail(outcome.error)}`, { error: outcome.error }));
105
+ case 'success':
106
+ return withActorId(outcome.value);
107
+ }
108
+ }
109
+ export async function executeCallActorMcpTool(toolArgs) {
110
+ const parsed = callActorMcpToolArgs.parse(toolArgs.args);
111
+ return runOnActorMcpServer(toolArgs, {
112
+ actor: parsed.actor,
113
+ operation: `call MCP tool '${parsed.tool}'`,
114
+ run: async (client) => {
115
+ var _a;
116
+ // `toolTelemetry` is this server's internal channel, so a remote result must not set it.
117
+ const { toolTelemetry: _remoteTelemetry, ...result } = await client.callTool({ name: parsed.tool, arguments: (_a = parsed.arguments) !== null && _a !== void 0 ? _a : {} }, CallToolResultSchema, { timeout: EXTERNAL_TOOL_CALL_TIMEOUT_MSEC, signal: toolArgs.signal });
118
+ const response = respondRaw(result);
119
+ if (!result.isError)
120
+ return response;
121
+ // The remote reports no cause, so this is recorded like a proxied Actor MCP tool's error.
122
+ return {
123
+ ...response,
124
+ toolTelemetry: { toolStatus: TOOL_STATUS.SOFT_FAIL, failureCategory: FAILURE_CATEGORY.INTERNAL_ERROR },
125
+ };
126
+ },
127
+ });
128
+ }
129
+ /** Calls one tool on an MCP server Actor and passes its `CallToolResult` through. */
130
+ export const callActorMcpTool = Object.freeze({
131
+ type: TOOL_TYPE.INTERNAL,
132
+ name: HELPER_TOOLS.ACTOR_MCP_TOOL_CALL,
133
+ title: 'Call Actor MCP tool',
134
+ description: buildDescription(ALL_TOOLS_PRESENT),
135
+ buildDescription,
136
+ inputSchema: z.toJSONSchema(callActorMcpToolArgs),
137
+ ajvValidate: compileSchema(z.toJSONSchema(callActorMcpToolArgs)),
138
+ // A third-party payment provider cannot pay for a Server Actor run, so such a session is rejected before the call.
139
+ hasPaymentProviderStandbyCheck: true,
140
+ annotations: {
141
+ title: 'Call Actor MCP tool',
142
+ readOnlyHint: false,
143
+ // What the remote tool does is up to the Actor.
144
+ destructiveHint: true,
145
+ idempotentHint: false,
146
+ openWorldHint: true,
147
+ },
148
+ call: async (toolArgs) => executeCallActorMcpTool(toolArgs),
149
+ });
150
+ //# sourceMappingURL=call_actor_mcp_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call_actor_mcp_tool.js","sourceRoot":"","sources":["../../../src/tools/actors/call_actor_mcp_tool.ts"],"names":[],"mappings":"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"}