@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.
- package/README.md +88 -22
- package/dist/actor/server.d.ts +1 -5
- package/dist/actor/server.d.ts.map +1 -1
- package/dist/actor/server.js +7 -24
- package/dist/actor/server.js.map +1 -1
- package/dist/const.d.ts +1 -1
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +1 -1
- package/dist/const.js.map +1 -1
- package/dist/index-internals.d.ts +6 -4
- package/dist/index-internals.d.ts.map +1 -1
- package/dist/index-internals.js +6 -4
- package/dist/index-internals.js.map +1 -1
- package/dist/input.d.ts +11 -3
- package/dist/input.d.ts.map +1 -1
- package/dist/input.js +64 -20
- package/dist/input.js.map +1 -1
- package/dist/main.js +3 -15
- package/dist/main.js.map +1 -1
- package/dist/mcp/server.d.ts +6 -30
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +14 -82
- package/dist/mcp/server.js.map +1 -1
- package/dist/stdio.js +25 -25
- package/dist/stdio.js.map +1 -1
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +75 -40
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/fetch-actor-details.d.ts +3 -0
- package/dist/tools/fetch-actor-details.d.ts.map +1 -0
- package/dist/tools/fetch-actor-details.js +45 -0
- package/dist/tools/fetch-actor-details.js.map +1 -0
- package/dist/tools/helpers.d.ts.map +1 -1
- package/dist/tools/helpers.js +3 -5
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +12 -13
- package/dist/tools/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +17 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/actor-details.d.ts +11 -0
- package/dist/utils/actor-details.d.ts.map +1 -0
- package/dist/utils/actor-details.js +27 -0
- package/dist/utils/actor-details.js.map +1 -0
- package/dist/utils/tools-loader.d.ts +1 -2
- package/dist/utils/tools-loader.d.ts.map +1 -1
- package/dist/utils/tools-loader.js +98 -24
- package/dist/utils/tools-loader.js.map +1 -1
- package/dist/utils/tools.d.ts +9 -1
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +14 -0
- package/dist/utils/tools.js.map +1 -1
- package/package.json +5 -5
- package/dist/examples/clientSse.d.ts +0 -18
- package/dist/examples/clientSse.d.ts.map +0 -1
- package/dist/examples/clientSse.js +0 -85
- package/dist/examples/clientSse.js.map +0 -1
- package/dist/examples/clientStdio.d.ts +0 -8
- package/dist/examples/clientStdio.d.ts.map +0 -1
- package/dist/examples/clientStdio.js +0 -68
- package/dist/examples/clientStdio.js.map +0 -1
- package/dist/examples/clientStdioChat.d.ts +0 -23
- package/dist/examples/clientStdioChat.d.ts.map +0 -1
- package/dist/examples/clientStdioChat.js +0 -216
- package/dist/examples/clientStdioChat.js.map +0 -1
- package/dist/examples/clientStreamableHttp.d.ts +0 -2
- package/dist/examples/clientStreamableHttp.d.ts.map +0 -1
- package/dist/examples/clientStreamableHttp.js +0 -96
- package/dist/examples/clientStreamableHttp.js.map +0 -1
- package/dist/tools/get-actor-details.d.ts +0 -3
- package/dist/tools/get-actor-details.d.ts.map +0 -1
- package/dist/tools/get-actor-details.js +0 -59
- 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
|
-
|
|
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
|
-
/**
|
|
197
|
-
|
|
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
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE9C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAC5D,IAAI,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,mBAAmB,CAAC,GAAG;IAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAA;AAEL;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,WAAW,EAAE,gBAAgB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;;;OAKG;IACH,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClD,iDAAiD;IACjD,cAAc,EAAE,eAAe,CAAC;IAChC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC5C,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC;;;;OAIG;IACH,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED;;;EAGE;AACF,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAE1C,cAAc,EAAE,MAAM,CAAC;IAEvB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB,2CAA2C;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,wBAAwB;IACxB,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,qBAAqB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;QAAE,qBAAqB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACnF,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC1C;;;;OAIG;IACH,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;
|
|
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
|
|
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;
|
|
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 {
|
|
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
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/utils/tools.d.ts
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/utils/tools.js
CHANGED
|
@@ -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
|
package/dist/utils/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"
|
|
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
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "
|
|
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/
|
|
24
|
+
"url": "https://github.com/apify/apify-mcp-server.git"
|
|
25
25
|
},
|
|
26
26
|
"bugs": {
|
|
27
|
-
"url": "https://github.com/apify/
|
|
27
|
+
"url": "https://github.com/apify/apify-mcp-server/issues"
|
|
28
28
|
},
|
|
29
|
-
"homepage": "https://apify.com
|
|
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"}
|