@apify/actors-mcp-server 0.2.7 → 0.2.9

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 (45) hide show
  1. package/dist/actor/server.d.ts +5 -2
  2. package/dist/actor/server.d.ts.map +1 -1
  3. package/dist/actor/server.js +57 -12
  4. package/dist/actor/server.js.map +1 -1
  5. package/dist/const.d.ts +3 -2
  6. package/dist/const.d.ts.map +1 -1
  7. package/dist/const.js +3 -2
  8. package/dist/const.js.map +1 -1
  9. package/dist/input.js +1 -1
  10. package/dist/input.js.map +1 -1
  11. package/dist/main.js +17 -11
  12. package/dist/main.js.map +1 -1
  13. package/dist/mcp/actors.d.ts +13 -13
  14. package/dist/mcp/actors.d.ts.map +1 -1
  15. package/dist/mcp/actors.js +33 -26
  16. package/dist/mcp/actors.js.map +1 -1
  17. package/dist/mcp/client.d.ts +2 -1
  18. package/dist/mcp/client.d.ts.map +1 -1
  19. package/dist/mcp/client.js +37 -1
  20. package/dist/mcp/client.js.map +1 -1
  21. package/dist/mcp/server.d.ts.map +1 -1
  22. package/dist/mcp/server.js +18 -4
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/state.d.ts +4 -0
  25. package/dist/state.d.ts.map +1 -0
  26. package/dist/state.js +4 -0
  27. package/dist/state.js.map +1 -0
  28. package/dist/stdio.js +3 -3
  29. package/dist/stdio.js.map +1 -1
  30. package/dist/tools/actor.d.ts +3 -3
  31. package/dist/tools/actor.d.ts.map +1 -1
  32. package/dist/tools/actor.js +70 -76
  33. package/dist/tools/actor.js.map +1 -1
  34. package/dist/tools/build.d.ts.map +1 -1
  35. package/dist/tools/build.js +2 -0
  36. package/dist/tools/build.js.map +1 -1
  37. package/dist/tools/run_collection.js +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/types.d.ts +14 -5
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/ttl-lru.d.ts +35 -0
  42. package/dist/utils/ttl-lru.d.ts.map +1 -0
  43. package/dist/utils/ttl-lru.js +69 -0
  44. package/dist/utils/ttl-lru.js.map +1 -0
  45. package/package.json +4 -4
package/dist/types.d.ts CHANGED
@@ -35,7 +35,13 @@ export type ActorDefinitionWithDesc = Omit<ActorDefinition, 'input'> & {
35
35
  defaultRunOptions: ActorDefaultRunOptions;
36
36
  input?: IActorInputSchema;
37
37
  };
38
- export type ActorDefinitionPruned = Pick<ActorDefinitionWithDesc, 'id' | 'actorFullName' | 'buildTag' | 'readme' | 'input' | 'description' | 'defaultRunOptions'>;
38
+ /**
39
+ * Pruned Actor definition type.
40
+ * The `id` property is set to Actor ID.
41
+ */
42
+ export type ActorDefinitionPruned = Pick<ActorDefinitionWithDesc, 'id' | 'actorFullName' | 'buildTag' | 'readme' | 'input' | 'description' | 'defaultRunOptions'> & {
43
+ webServerMcpPath?: string;
44
+ };
39
45
  /**
40
46
  * Base interface for all tools in the MCP server.
41
47
  * Contains common properties shared by all tool types.
@@ -168,9 +174,12 @@ export type Input = {
168
174
  debugActor?: string;
169
175
  debugActorInput?: unknown;
170
176
  };
171
- export interface ToolCacheEntry {
172
- expiresAt: number;
173
- tool: ToolEntry;
174
- }
175
177
  export type ActorPricingModel = (typeof ACTOR_PRICING_MODEL)[keyof typeof ACTOR_PRICING_MODEL];
178
+ /**
179
+ * Type representing the Actor information needed in order to turn it into an MCP server tool.
180
+ */
181
+ export interface ActorInfo {
182
+ webServerMcpPath: string | null;
183
+ actorDefinitionPruned: ActorDefinitionPruned;
184
+ }
176
185
  //# sourceMappingURL=types.d.ts.map
@@ -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,35 @@
1
+ /**
2
+ * LRU cache with TTL (time-to-live) for storing entries.
3
+ *
4
+ * This class wraps an LRU cache and adds a time-to-live (TTL) expiration to each entry.
5
+ * When an entry is accessed, it is checked for expiration and removed if expired.
6
+ *
7
+ * Usage:
8
+ * ```typescript
9
+ * const cache = new TTLLRUCache<string>(100, 60); // 100 items, 60 seconds TTL
10
+ * cache.set('key', 'value');
11
+ * const value = cache.get('key');
12
+ * ```
13
+ */
14
+ export declare class TTLLRUCache<T> {
15
+ private readonly cache;
16
+ private readonly ttlMillis;
17
+ /**
18
+ * @param maxLength Maximum number of items in the cache (LRU eviction)
19
+ * @param ttlSecs Time-to-live for each entry, in seconds
20
+ */
21
+ constructor(maxLength: number, ttlSecs: number);
22
+ /**
23
+ * Set a value in the cache with the given key. If the key exists, it is updated and TTL is reset.
24
+ * @param key Cache key
25
+ * @param value Value to store
26
+ */
27
+ set(key: string, value: T): void;
28
+ /**
29
+ * Get a value from the cache by key. Returns null if not found or expired.
30
+ * @param key Cache key
31
+ * @returns The value if present and not expired, otherwise null
32
+ */
33
+ get(key: string): T | null;
34
+ }
35
+ //# sourceMappingURL=ttl-lru.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttl-lru.d.ts","sourceRoot":"","sources":["../../src/utils/ttl-lru.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW,CAAC,CAAC;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IAGH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;;OAGG;gBACS,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAU9C;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAWzB;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;CAQ7B"}
@@ -0,0 +1,69 @@
1
+ import { LruCache } from '@apify/datastructures';
2
+ /**
3
+ * LRU cache with TTL (time-to-live) for storing entries.
4
+ *
5
+ * This class wraps an LRU cache and adds a time-to-live (TTL) expiration to each entry.
6
+ * When an entry is accessed, it is checked for expiration and removed if expired.
7
+ *
8
+ * Usage:
9
+ * ```typescript
10
+ * const cache = new TTLLRUCache<string>(100, 60); // 100 items, 60 seconds TTL
11
+ * cache.set('key', 'value');
12
+ * const value = cache.get('key');
13
+ * ```
14
+ */
15
+ export class TTLLRUCache {
16
+ /**
17
+ * @param maxLength Maximum number of items in the cache (LRU eviction)
18
+ * @param ttlSecs Time-to-live for each entry, in seconds
19
+ */
20
+ constructor(maxLength, ttlSecs) {
21
+ // Internal LRU cache storing value and expiration timestamp for each entry
22
+ Object.defineProperty(this, "cache", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ // Time-to-live in milliseconds for each entry
29
+ Object.defineProperty(this, "ttlMillis", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ this.ttlMillis = ttlSecs * 1000;
36
+ this.cache = new LruCache({
37
+ maxLength,
38
+ });
39
+ }
40
+ /**
41
+ * Set a value in the cache with the given key. If the key exists, it is updated and TTL is reset.
42
+ * @param key Cache key
43
+ * @param value Value to store
44
+ */
45
+ set(key, value) {
46
+ // If the key already exists, remove it to update the value and reset TTL
47
+ if (this.cache.get(key)) {
48
+ this.cache.remove(key);
49
+ }
50
+ this.cache.add(key, {
51
+ value,
52
+ expiresAt: Date.now() + this.ttlMillis,
53
+ });
54
+ }
55
+ /**
56
+ * Get a value from the cache by key. Returns null if not found or expired.
57
+ * @param key Cache key
58
+ * @returns The value if present and not expired, otherwise null
59
+ */
60
+ get(key) {
61
+ const entry = this.cache.get(key);
62
+ if (entry && entry.expiresAt > Date.now()) {
63
+ return entry.value;
64
+ }
65
+ this.cache.remove(key); // Remove expired entry
66
+ return null;
67
+ }
68
+ }
69
+ //# sourceMappingURL=ttl-lru.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttl-lru.js","sourceRoot":"","sources":["../../src/utils/ttl-lru.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,WAAW;IAUpB;;;OAGG;IACH,YAAY,SAAiB,EAAE,OAAe;QAb9C,2EAA2E;QAC1D;;;;;WAGd;QAEH,8CAA8C;QAC7B;;;;;WAAkB;QAO/B,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAGtB;YACC,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW,EAAE,KAAQ;QACrB,yEAAyE;QACzE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;SACzC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAW;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apify/actors-mcp-server",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "type": "module",
5
5
  "description": "Model Context Protocol Server for Apify",
6
6
  "engines": {
@@ -32,10 +32,10 @@
32
32
  "dependencies": {
33
33
  "@apify/datastructures": "^2.0.3",
34
34
  "@apify/log": "^2.5.16",
35
- "@modelcontextprotocol/sdk": "^1.11.5",
35
+ "@modelcontextprotocol/sdk": "^1.13.2",
36
36
  "ajv": "^8.17.1",
37
- "apify": "^3.4.0",
38
- "apify-client": "^2.12.3",
37
+ "apify": "^3.4.2",
38
+ "apify-client": "^2.12.6",
39
39
  "express": "^4.21.2",
40
40
  "yargs": "^17.7.2",
41
41
  "zod": "^3.24.1",