@apify/actors-mcp-server 0.3.9 → 0.4.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 (75) hide show
  1. package/README.md +88 -22
  2. package/dist/actor/server.d.ts +1 -5
  3. package/dist/actor/server.d.ts.map +1 -1
  4. package/dist/actor/server.js +7 -24
  5. package/dist/actor/server.js.map +1 -1
  6. package/dist/const.d.ts +1 -1
  7. package/dist/const.d.ts.map +1 -1
  8. package/dist/const.js +1 -1
  9. package/dist/const.js.map +1 -1
  10. package/dist/index-internals.d.ts +6 -4
  11. package/dist/index-internals.d.ts.map +1 -1
  12. package/dist/index-internals.js +6 -4
  13. package/dist/index-internals.js.map +1 -1
  14. package/dist/input.d.ts +11 -3
  15. package/dist/input.d.ts.map +1 -1
  16. package/dist/input.js +64 -20
  17. package/dist/input.js.map +1 -1
  18. package/dist/main.js +3 -15
  19. package/dist/main.js.map +1 -1
  20. package/dist/mcp/server.d.ts +6 -30
  21. package/dist/mcp/server.d.ts.map +1 -1
  22. package/dist/mcp/server.js +14 -82
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/stdio.js +25 -25
  25. package/dist/stdio.js.map +1 -1
  26. package/dist/tools/actor.d.ts.map +1 -1
  27. package/dist/tools/actor.js +75 -40
  28. package/dist/tools/actor.js.map +1 -1
  29. package/dist/tools/fetch-actor-details.d.ts +3 -0
  30. package/dist/tools/fetch-actor-details.d.ts.map +1 -0
  31. package/dist/tools/fetch-actor-details.js +45 -0
  32. package/dist/tools/fetch-actor-details.js.map +1 -0
  33. package/dist/tools/helpers.d.ts.map +1 -1
  34. package/dist/tools/helpers.js +3 -5
  35. package/dist/tools/helpers.js.map +1 -1
  36. package/dist/tools/index.d.ts +2 -2
  37. package/dist/tools/index.d.ts.map +1 -1
  38. package/dist/tools/index.js +12 -13
  39. package/dist/tools/index.js.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/dist/types.d.ts +17 -3
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/utils/actor-details.d.ts +11 -0
  44. package/dist/utils/actor-details.d.ts.map +1 -0
  45. package/dist/utils/actor-details.js +27 -0
  46. package/dist/utils/actor-details.js.map +1 -0
  47. package/dist/utils/tools-loader.d.ts +1 -2
  48. package/dist/utils/tools-loader.d.ts.map +1 -1
  49. package/dist/utils/tools-loader.js +98 -24
  50. package/dist/utils/tools-loader.js.map +1 -1
  51. package/dist/utils/tools.d.ts +9 -1
  52. package/dist/utils/tools.d.ts.map +1 -1
  53. package/dist/utils/tools.js +14 -0
  54. package/dist/utils/tools.js.map +1 -1
  55. package/package.json +5 -5
  56. package/dist/examples/clientSse.d.ts +0 -18
  57. package/dist/examples/clientSse.d.ts.map +0 -1
  58. package/dist/examples/clientSse.js +0 -85
  59. package/dist/examples/clientSse.js.map +0 -1
  60. package/dist/examples/clientStdio.d.ts +0 -8
  61. package/dist/examples/clientStdio.d.ts.map +0 -1
  62. package/dist/examples/clientStdio.js +0 -68
  63. package/dist/examples/clientStdio.js.map +0 -1
  64. package/dist/examples/clientStdioChat.d.ts +0 -23
  65. package/dist/examples/clientStdioChat.d.ts.map +0 -1
  66. package/dist/examples/clientStdioChat.js +0 -216
  67. package/dist/examples/clientStdioChat.js.map +0 -1
  68. package/dist/examples/clientStreamableHttp.d.ts +0 -2
  69. package/dist/examples/clientStreamableHttp.d.ts.map +0 -1
  70. package/dist/examples/clientStreamableHttp.js +0 -96
  71. package/dist/examples/clientStreamableHttp.js.map +0 -1
  72. package/dist/tools/get-actor-details.d.ts +0 -3
  73. package/dist/tools/get-actor-details.d.ts.map +0 -1
  74. package/dist/tools/get-actor-details.js +0 -59
  75. package/dist/tools/get-actor-details.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -183,8 +183,17 @@ export interface InternalTool extends ToolBase {
183
183
  call: (toolArgs: InternalToolArgs) => Promise<object>;
184
184
  }
185
185
  export type ToolCategory = keyof typeof toolCategories;
186
+ /**
187
+ * Selector for tools input - can be a category key or a specific tool name.
188
+ */
189
+ export type ToolSelector = ToolCategory | string;
186
190
  export type Input = {
187
- actors: string[] | string;
191
+ /**
192
+ * When `actors` is undefined that means the default Actors should be loaded.
193
+ * If it as empty string or empty array then no Actors should be loaded.
194
+ * Otherwise the specified Actors should be loaded.
195
+ */
196
+ actors?: string[] | string;
188
197
  /**
189
198
  * @deprecated Use `enableAddingActors` instead.
190
199
  */
@@ -193,8 +202,13 @@ export type Input = {
193
202
  maxActorMemoryBytes?: number;
194
203
  debugActor?: string;
195
204
  debugActorInput?: unknown;
196
- /** Tool categories to include */
197
- tools?: ToolCategory[] | string;
205
+ /**
206
+ * Tool selectors to include (category keys or concrete tool names).
207
+ * When `tools` is undefined that means the default tool categories should be loaded.
208
+ * If it is an empty string or empty array then no internal tools should be loaded.
209
+ * Otherwise the specified categories and/or concrete tool names should be loaded.
210
+ */
211
+ tools?: ToolSelector[] | string;
198
212
  };
199
213
  export type ActorPricingModel = (typeof ACTOR_PRICING_MODEL)[keyof typeof ACTOR_PRICING_MODEL];
200
214
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Actor, Build } from 'apify-client';
2
+ import type { IActorInputSchema } from '../types.js';
3
+ export interface ActorDetailsResult {
4
+ actorInfo: Actor;
5
+ buildInfo: Build;
6
+ actorCard: string;
7
+ inputSchema: IActorInputSchema;
8
+ readme: string;
9
+ }
10
+ export declare function fetchActorDetails(apifyToken: string, actorName: string): Promise<ActorDetailsResult | null>;
11
+ //# sourceMappingURL=actor-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-details.d.ts","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqBjH"}
@@ -0,0 +1,27 @@
1
+ import { ApifyClient } from '../apify-client.js';
2
+ import { filterSchemaProperties, shortenProperties } from '../tools/utils.js';
3
+ import { formatActorToActorCard } from './actor-card.js';
4
+ export async function fetchActorDetails(apifyToken, actorName) {
5
+ const client = new ApifyClient({ token: apifyToken });
6
+ const [actorInfo, buildInfo] = await Promise.all([
7
+ client.actor(actorName).get(),
8
+ client.actor(actorName).defaultBuild().then(async (build) => build.get()),
9
+ ]);
10
+ if (!actorInfo || !buildInfo || !buildInfo.actorDefinition)
11
+ return null;
12
+ const inputSchema = (buildInfo.actorDefinition.input || {
13
+ type: 'object',
14
+ properties: {},
15
+ });
16
+ inputSchema.properties = filterSchemaProperties(inputSchema.properties);
17
+ inputSchema.properties = shortenProperties(inputSchema.properties);
18
+ const actorCard = formatActorToActorCard(actorInfo);
19
+ return {
20
+ actorInfo,
21
+ buildInfo,
22
+ actorCard,
23
+ inputSchema,
24
+ readme: buildInfo.actorDefinition.readme || 'No README provided.',
25
+ };
26
+ }
27
+ //# sourceMappingURL=actor-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-details.js","sourceRoot":"","sources":["../../src/utils/actor-details.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAWzD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,SAAiB;IACzE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAA2C,MAAM,OAAO,CAAC,GAAG,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE;QAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;KAC5E,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACxE,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI;QACpD,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACjB,CAAsB,CAAC;IACxB,WAAW,CAAC,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxE,WAAW,CAAC,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,OAAO;QACH,SAAS;QACT,SAAS;QACT,SAAS;QACT,WAAW;QACX,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,MAAM,IAAI,qBAAqB;KACpE,CAAC;AACN,CAAC"}
@@ -9,8 +9,7 @@ import type { Input, ToolEntry } from '../types.js';
9
9
  *
10
10
  * @param input The processed Input object
11
11
  * @param apifyToken The Apify API token
12
- * @param useDefaultActors Whether to use default actors if no actors are specified
13
12
  * @returns An array of tool entries
14
13
  */
15
- export declare function loadToolsFromInput(input: Input, apifyToken: string, useDefaultActors?: boolean): Promise<ToolEntry[]>;
14
+ export declare function loadToolsFromInput(input: Input, apifyToken: string): Promise<ToolEntry[]>;
16
15
  //# sourceMappingURL=tools-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,gBAAgB,UAAQ,GACzB,OAAO,CAAC,SAAS,EAAE,CAAC,CA2BtB"}
1
+ {"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAgB,SAAS,EAAE,MAAM,aAAa,CAAC;AAelE;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAwFtB"}
@@ -3,39 +3,113 @@
3
3
  * This eliminates duplication between stdio.ts and processParamsGetTools.
4
4
  */
5
5
  import { defaults } from '../const.js';
6
- import { addRemoveTools, getActorsAsTools, toolCategories } from '../tools/index.js';
6
+ import { addTool } from '../tools/helpers.js';
7
+ import { getActorsAsTools, toolCategories, toolCategoriesEnabledByDefault } from '../tools/index.js';
8
+ import { getExpectedToolsByCategories } from './tools.js';
9
+ // Lazily-computed cache of internal tools by name to avoid circular init issues.
10
+ let INTERNAL_TOOL_BY_NAME_CACHE = null;
11
+ function getInternalToolByNameMap() {
12
+ if (!INTERNAL_TOOL_BY_NAME_CACHE) {
13
+ const allInternal = getExpectedToolsByCategories(Object.keys(toolCategories));
14
+ INTERNAL_TOOL_BY_NAME_CACHE = new Map(allInternal.map((entry) => [entry.tool.name, entry]));
15
+ }
16
+ return INTERNAL_TOOL_BY_NAME_CACHE;
17
+ }
7
18
  /**
8
19
  * Load tools based on the provided Input object.
9
20
  * This function is used by both the stdio.ts and the processParamsGetTools function.
10
21
  *
11
22
  * @param input The processed Input object
12
23
  * @param apifyToken The Apify API token
13
- * @param useDefaultActors Whether to use default actors if no actors are specified
14
24
  * @returns An array of tool entries
15
25
  */
16
- export async function loadToolsFromInput(input, apifyToken, useDefaultActors = false) {
17
- let tools = [];
18
- // Load actors as tools
19
- if (input.actors && (Array.isArray(input.actors) ? input.actors.length > 0 : input.actors)) {
20
- const actors = Array.isArray(input.actors) ? input.actors : [input.actors];
21
- tools = await getActorsAsTools(actors, apifyToken);
22
- }
23
- else if (useDefaultActors) {
24
- // Use default actors if no actors are specified and useDefaultActors is true
25
- tools = await getActorsAsTools(defaults.actors, apifyToken);
26
- }
27
- // Add tools for adding/removing actors if enabled
28
- if (input.enableAddingActors) {
29
- tools.push(...addRemoveTools);
30
- }
31
- // Add tools from enabled categories
32
- if (input.tools) {
33
- const toolKeys = Array.isArray(input.tools) ? input.tools : [input.tools];
34
- for (const toolKey of toolKeys) {
35
- const keyTools = toolCategories[toolKey] || [];
36
- tools.push(...keyTools);
26
+ export async function loadToolsFromInput(input, apifyToken) {
27
+ // Helpers for readability
28
+ const normalizeSelectors = (value) => {
29
+ if (value === undefined)
30
+ return undefined;
31
+ return (Array.isArray(value) ? value : [value]).map(String).map((s) => s.trim()).filter((s) => s !== '');
32
+ };
33
+ const selectors = normalizeSelectors(input.tools);
34
+ const selectorsProvided = selectors !== undefined;
35
+ const selectorsExplicitEmpty = selectorsProvided && selectors.length === 0;
36
+ const addActorEnabled = input.enableAddingActors === true;
37
+ const actorsExplicitlyEmpty = (Array.isArray(input.actors) && input.actors.length === 0) || input.actors === '';
38
+ // Partition selectors into internal picks (by category or by name) and actor names
39
+ const internalSelections = [];
40
+ const actorSelectorsFromTools = [];
41
+ if (selectorsProvided && !selectorsExplicitEmpty) {
42
+ for (const selector of selectors) {
43
+ const categoryTools = toolCategories[selector];
44
+ if (categoryTools) {
45
+ internalSelections.push(...categoryTools);
46
+ continue;
47
+ }
48
+ const internalByName = getInternalToolByNameMap().get(String(selector));
49
+ if (internalByName) {
50
+ internalSelections.push(internalByName);
51
+ continue;
52
+ }
53
+ // Treat unknown selectors as Actor IDs/full names.
54
+ // Potential heuristic (future): if (String(selector).includes('/')) => definitely an Actor.
55
+ actorSelectorsFromTools.push(String(selector));
56
+ }
57
+ }
58
+ // Decide which Actors to load
59
+ let actorsFromField;
60
+ if (input.actors === undefined) {
61
+ actorsFromField = undefined;
62
+ }
63
+ else if (Array.isArray(input.actors)) {
64
+ actorsFromField = input.actors;
65
+ }
66
+ else {
67
+ actorsFromField = [input.actors];
68
+ }
69
+ let actorNamesToLoad = [];
70
+ if (actorsFromField !== undefined) {
71
+ actorNamesToLoad = actorsFromField;
72
+ }
73
+ else if (actorSelectorsFromTools.length > 0) {
74
+ actorNamesToLoad = actorSelectorsFromTools;
75
+ }
76
+ else if (!selectorsProvided) {
77
+ // No selectors supplied: use defaults unless add-actor mode is enabled
78
+ actorNamesToLoad = addActorEnabled ? [] : defaults.actors;
79
+ } // else: selectors provided but none are actors => do not load defaults
80
+ // Compose final tool list
81
+ const result = [];
82
+ // Internal tools
83
+ if (selectorsProvided) {
84
+ result.push(...internalSelections);
85
+ // If add-actor mode is enabled, ensure add-actor tool is available alongside selected tools.
86
+ if (addActorEnabled && !selectorsExplicitEmpty && !actorsExplicitlyEmpty) {
87
+ const hasAddActor = result.some((e) => e.tool.name === addTool.tool.name);
88
+ if (!hasAddActor)
89
+ result.push(addTool);
37
90
  }
38
91
  }
39
- return tools;
92
+ else if (addActorEnabled && !actorsExplicitlyEmpty) {
93
+ // No selectors: either expose only add-actor (when enabled), or default categories
94
+ result.push(addTool);
95
+ }
96
+ else if (!actorsExplicitlyEmpty) {
97
+ result.push(...getExpectedToolsByCategories(toolCategoriesEnabledByDefault));
98
+ }
99
+ // Actor tools (if any)
100
+ if (actorNamesToLoad.length > 0) {
101
+ const actorTools = await getActorsAsTools(actorNamesToLoad, apifyToken);
102
+ result.push(...actorTools);
103
+ }
104
+ // De-duplicate by tool name for safety
105
+ const seen = new Set();
106
+ const deduped = result.filter((entry) => {
107
+ const { name } = entry.tool;
108
+ if (seen.has(name))
109
+ return false;
110
+ seen.add(name);
111
+ return true;
112
+ });
113
+ return deduped;
40
114
  }
41
115
  //# sourceMappingURL=tools-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGrF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAAY,EACZ,UAAkB,EAClB,gBAAgB,GAAG,KAAK;IAExB,IAAI,KAAK,GAAgB,EAAE,CAAC;IAE5B,uBAAuB;IACvB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3E,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC1B,6EAA6E;QAC7E,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,kDAAkD;IAClD,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAuB,CAAC,IAAI,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,iFAAiF;AACjF,IAAI,2BAA2B,GAAkC,IAAI,CAAC;AACtE,SAAS,wBAAwB;IAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAmB,CAAC,CAAC;QAChG,2BAA2B,GAAG,IAAI,GAAG,CACjC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CACvD,CAAC;IACN,CAAC;IACD,OAAO,2BAA2B,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAAY,EACZ,UAAkB;IAElB,0BAA0B;IAC1B,MAAM,kBAAkB,GAAG,CAAC,KAAqB,EAAyC,EAAE;QACxF,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7G,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,SAAS,KAAK,SAAS,CAAC;IAClD,MAAM,sBAAsB,GAAG,iBAAiB,IAAK,SAAsB,CAAC,MAAM,KAAK,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC1D,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC;IAEhH,mFAAmF;IACnF,MAAM,kBAAkB,GAAgB,EAAE,CAAC;IAC3C,MAAM,uBAAuB,GAAa,EAAE,CAAC;IAC7C,IAAI,iBAAiB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,SAAsC,EAAE,CAAC;YAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,QAAwB,CAAC,CAAC;YAC/D,IAAI,aAAa,EAAE,CAAC;gBAChB,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1C,SAAS;YACb,CAAC;YACD,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,IAAI,cAAc,EAAE,CAAC;gBACjB,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACxC,SAAS;YACb,CAAC;YACD,mDAAmD;YACnD,4FAA4F;YAC5F,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,IAAI,eAAqC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,eAAe,GAAG,SAAS,CAAC;IAChC,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,gBAAgB,GAAG,eAAe,CAAC;IACvC,CAAC;SAAM,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,gBAAgB,GAAG,uBAAuB,CAAC;IAC/C,CAAC;SAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5B,uEAAuE;QACvE,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9D,CAAC,CAAC,uEAAuE;IAEzE,0BAA0B;IAC1B,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,iBAAiB;IACjB,IAAI,iBAAiB,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACnC,6FAA6F;QAC7F,IAAI,eAAe,IAAI,CAAC,sBAAsB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACvE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;SAAM,IAAI,eAAe,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,mFAAmF;QACnF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,uBAAuB;IACvB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,uCAAuC;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ToolBase } from '../types.js';
1
+ import type { ToolBase, ToolCategory, ToolEntry } from '../types.js';
2
2
  /**
3
3
  * Returns a public version of the tool containing only fields that should be exposed publicly.
4
4
  * Used for the tools list request.
@@ -8,4 +8,12 @@ export declare function getToolPublicFieldOnly(tool: ToolBase): {
8
8
  description: string;
9
9
  inputSchema: object;
10
10
  };
11
+ /**
12
+ * Returns the tool objects for the given category names using toolCategories.
13
+ */
14
+ export declare function getExpectedToolsByCategories(categories: ToolCategory[]): ToolEntry[];
15
+ /**
16
+ * Returns the tool names for the given category names using getExpectedToolsByCategories.
17
+ */
18
+ export declare function getExpectedToolNamesByCategories(categories: ToolCategory[]): string[];
11
19
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ;;;;EAMpD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ;;;;EAMpD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAGpF;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAErF"}
@@ -1,3 +1,4 @@
1
+ import { toolCategories } from '../tools/index.js';
1
2
  /**
2
3
  * Returns a public version of the tool containing only fields that should be exposed publicly.
3
4
  * Used for the tools list request.
@@ -9,4 +10,17 @@ export function getToolPublicFieldOnly(tool) {
9
10
  inputSchema: tool.inputSchema,
10
11
  };
11
12
  }
13
+ /**
14
+ * Returns the tool objects for the given category names using toolCategories.
15
+ */
16
+ export function getExpectedToolsByCategories(categories) {
17
+ return categories
18
+ .flatMap((category) => toolCategories[category] || []);
19
+ }
20
+ /**
21
+ * Returns the tool names for the given category names using getExpectedToolsByCategories.
22
+ */
23
+ export function getExpectedToolNamesByCategories(categories) {
24
+ return getExpectedToolsByCategories(categories).map((tool) => tool.tool.name);
25
+ }
12
26
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAChC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAChC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAA0B;IACnE,OAAO,UAAU;SACZ,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,UAA0B;IACvE,OAAO,4BAA4B,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@apify/actors-mcp-server",
3
- "version": "0.3.9",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
- "description": "Model Context Protocol Server for Apify",
5
+ "description": "Apify MCP Server",
6
6
  "engines": {
7
7
  "node": ">=18.0.0"
8
8
  },
@@ -21,12 +21,12 @@
21
21
  ],
22
22
  "repository": {
23
23
  "type": "git",
24
- "url": "https://github.com/apify/actors-mcp-server.git"
24
+ "url": "https://github.com/apify/apify-mcp-server.git"
25
25
  },
26
26
  "bugs": {
27
- "url": "https://github.com/apify/actors-mcp-server/issues"
27
+ "url": "https://github.com/apify/apify-mcp-server/issues"
28
28
  },
29
- "homepage": "https://apify.com/apify/actors-mcp-server",
29
+ "homepage": "https://mcp.apify.com",
30
30
  "keywords": [
31
31
  "apify",
32
32
  "mcp",
@@ -1,18 +0,0 @@
1
- /**
2
- * Connect to the MCP server using SSE transport and call a tool.
3
- * The Actors MCP Server will load default Actors.
4
- *
5
- * It requires the `APIFY_TOKEN` in the `.env` file.
6
- */
7
- import type { EventSourceInit } from 'eventsource';
8
- import { EventSource } from 'eventsource';
9
- declare global {
10
- var EventSource: {
11
- new (url: string, eventSourceInitDict?: EventSourceInit): EventSource;
12
- prototype: EventSource;
13
- CONNECTING: 0;
14
- OPEN: 1;
15
- CLOSED: 2;
16
- };
17
- }
18
- //# sourceMappingURL=clientSse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientSse.d.ts","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB1C,OAAO,CAAC,MAAM,CAAC;IAGX,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"}
@@ -1,85 +0,0 @@
1
- /* eslint-disable no-console */
2
- /**
3
- * Connect to the MCP server using SSE transport and call a tool.
4
- * The Actors MCP Server will load default Actors.
5
- *
6
- * It requires the `APIFY_TOKEN` in the `.env` file.
7
- */
8
- import path from 'node:path';
9
- import { fileURLToPath } from 'node:url';
10
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
11
- import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
12
- import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
13
- import dotenv from 'dotenv'; // eslint-disable-line import/no-extraneous-dependencies
14
- import { EventSource } from 'eventsource'; // eslint-disable-line import/no-extraneous-dependencies
15
- import { actorNameToToolName } from '../tools/utils.js';
16
- const REQUEST_TIMEOUT = 120000; // 2 minutes
17
- const filename = fileURLToPath(import.meta.url);
18
- const dirname = path.dirname(filename);
19
- dotenv.config({ path: path.resolve(dirname, '../../.env') });
20
- const SERVER_URL = process.env.MCP_SERVER_URL_BASE || 'https://actors-mcp-server.apify.actor/sse';
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
- const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
23
- // const QUERY = 'web browser for Anthropic';
24
- const QUERY = 'apify';
25
- if (!process.env.APIFY_TOKEN) {
26
- console.error('APIFY_TOKEN is required but not set in the environment variables.');
27
- process.exit(1);
28
- }
29
- if (typeof globalThis.EventSource === 'undefined') {
30
- globalThis.EventSource = EventSource;
31
- }
32
- async function main() {
33
- const transport = new SSEClientTransport(new URL(SERVER_URL), {
34
- requestInit: {
35
- headers: {
36
- authorization: `Bearer ${process.env.APIFY_TOKEN}`,
37
- },
38
- },
39
- eventSourceInit: {
40
- // The EventSource package augments EventSourceInit with a "fetch" parameter.
41
- // You can use this to set additional headers on the outgoing request.
42
- // Based on this example: https://github.com/modelcontextprotocol/typescript-sdk/issues/118
43
- async fetch(input, init) {
44
- const headers = new Headers((init === null || init === void 0 ? void 0 : init.headers) || {});
45
- headers.set('authorization', `Bearer ${process.env.APIFY_TOKEN}`);
46
- return fetch(input, { ...init, headers });
47
- },
48
- // We have to cast to "any" to use it, since it's non-standard
49
- }, // eslint-disable-line @typescript-eslint/no-explicit-any
50
- });
51
- const client = new Client({ name: 'example-client', version: '1.0.0' }, { capabilities: {} });
52
- try {
53
- // Connect to the MCP server
54
- await client.connect(transport);
55
- // List available tools
56
- const tools = await client.listTools();
57
- console.log('Available tools:', tools);
58
- if (tools.tools.length === 0) {
59
- console.log('No tools available');
60
- return;
61
- }
62
- const selectedTool = tools.tools.find((tool) => tool.name === SELECTED_TOOL);
63
- if (!selectedTool) {
64
- console.error(`The specified tool: ${selectedTool} is not available. Exiting.`);
65
- return;
66
- }
67
- // Call a tool
68
- console.log(`Calling actor ... ${SELECTED_TOOL}`);
69
- const result = await client.callTool({ name: SELECTED_TOOL, arguments: { query: QUERY } }, CallToolResultSchema, { timeout: REQUEST_TIMEOUT });
70
- console.log('Tool result:', JSON.stringify(result, null, 2));
71
- }
72
- catch (error) {
73
- if (error instanceof Error) {
74
- console.error('Error:', error.message);
75
- }
76
- else {
77
- console.error('An unknown error occurred:', error);
78
- }
79
- }
80
- finally {
81
- await client.close();
82
- }
83
- }
84
- await main();
85
- //# sourceMappingURL=clientSse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientSse.js","sourceRoot":"","sources":["../../src/examples/clientSse.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Connect to the MCP server using stdio transport and call a tool.
3
- * This script uses a selected tool without LLM involvement.
4
- * You need to provide the path to the MCP server and `APIFY_TOKEN` in the `.env` file.
5
- * You can choose actors to run in the server, for example: `apify/rag-web-browser`.
6
- */
7
- export {};
8
- //# sourceMappingURL=clientStdio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientStdio.d.ts","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"AACA;;;;;GAKG"}
@@ -1,68 +0,0 @@
1
- /* eslint-disable no-console */
2
- /**
3
- * Connect to the MCP server using stdio transport and call a tool.
4
- * This script uses a selected tool without LLM involvement.
5
- * You need to provide the path to the MCP server and `APIFY_TOKEN` in the `.env` file.
6
- * You can choose actors to run in the server, for example: `apify/rag-web-browser`.
7
- */
8
- import { execSync } from 'node:child_process';
9
- import path from 'node:path';
10
- import { fileURLToPath } from 'node:url';
11
- import { Client } from '@modelcontextprotocol/sdk/client/index.js';
12
- import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
13
- import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';
14
- import dotenv from 'dotenv'; // eslint-disable-line import/no-extraneous-dependencies
15
- import { actorNameToToolName } from '../tools/utils.js';
16
- // Resolve dirname equivalent in ES module
17
- const filename = fileURLToPath(import.meta.url);
18
- const dirname = path.dirname(filename);
19
- dotenv.config({ path: path.resolve(dirname, '../../.env') });
20
- const SERVER_PATH = path.resolve(dirname, '../../dist/stdio.js');
21
- const NODE_PATH = execSync(process.platform === 'win32' ? 'where node' : 'which node').toString().trim();
22
- const TOOLS = 'apify/rag-web-browser,lukaskrivka/google-maps-with-contact-details';
23
- const SELECTED_TOOL = actorNameToToolName('apify/rag-web-browser');
24
- if (!process.env.APIFY_TOKEN) {
25
- console.error('APIFY_TOKEN is required but not set in the environment variables.');
26
- process.exit(1);
27
- }
28
- // Create server parameters for stdio connection
29
- const transport = new StdioClientTransport({
30
- command: NODE_PATH,
31
- args: [SERVER_PATH, '--actors', TOOLS],
32
- env: { APIFY_TOKEN: process.env.APIFY_TOKEN || '' },
33
- });
34
- // Create a new client instance
35
- const client = new Client({ name: 'example-client', version: '0.1.0' }, { capabilities: {} });
36
- // Main function to run the example client
37
- async function run() {
38
- try {
39
- // Connect to the MCP server
40
- await client.connect(transport);
41
- // List available tools
42
- const tools = await client.listTools();
43
- console.log('Available tools:', tools);
44
- if (tools.tools.length === 0) {
45
- console.log('No tools available');
46
- return;
47
- }
48
- // Example: Call the first available tool
49
- const selectedTool = tools.tools.find((tool) => tool.name === SELECTED_TOOL);
50
- if (!selectedTool) {
51
- console.error(`The specified tool: ${selectedTool} is not available. Exiting.`);
52
- return;
53
- }
54
- // Call a tool
55
- console.log('Calling actor ...');
56
- const result = await client.callTool({ name: SELECTED_TOOL, arguments: { query: 'web browser for Anthropic' } }, CallToolResultSchema);
57
- console.log('Tool result:', JSON.stringify(result));
58
- await client.close();
59
- }
60
- catch (error) {
61
- console.error('Error:', error);
62
- }
63
- }
64
- run().catch((error) => {
65
- console.error(`Error running MCP client: ${error}`);
66
- process.exit(1);
67
- });
68
- //# sourceMappingURL=clientStdio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientStdio.js","sourceRoot":"","sources":["../../src/examples/clientStdio.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Create a simple chat client that connects to the Model Context Protocol server using the stdio transport.
3
- * Based on the user input, the client sends a query to the MCP server, retrieves results and processes them.
4
- *
5
- * You can expect the following output:
6
- *
7
- * MCP Client Started!
8
- * Type your queries or 'quit|q|exit' to exit.
9
- * You: Find to articles about AI agent and return URLs
10
- * [internal] Received response from Claude: [{"type":"text","text":"I'll search for information about AI agents
11
- * and provide you with a summary."},{"type":"tool_use","id":"tool_01He9TkzQfh2979bbeuxWVqM","name":"search",
12
- * "input":{"query":"what are AI agents definition capabilities applications","maxResults":2}}]
13
- * [internal] Calling tool: {"name":"search","arguments":{"query":"what are AI agents definition ...
14
- * I can help analyze the provided content about AI agents.
15
- * This appears to be crawled content from AWS and IBM websites explaining what AI agents are.
16
- * Let me summarize the key points:
17
- */
18
- export type Tool = {
19
- name: string;
20
- description: string | undefined;
21
- input_schema: unknown;
22
- };
23
- //# sourceMappingURL=clientStdioChat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientStdioChat.d.ts","sourceRoot":"","sources":["../../src/examples/clientStdioChat.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAgCH,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;CACzB,CAAA"}