@wootsup/mcp 0.1.0-rc.7 → 0.1.0-rc.8

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.
@@ -43,6 +43,15 @@ interface RequestOpts {
43
43
  * Clamped to [1_000, 300_000] (1s..5min).
44
44
  */
45
45
  timeoutMs?: number;
46
+ /**
47
+ * Perf-#2 (2026-05-19): bypass the read-cache for this request even if the
48
+ * path/method would normally be eligible. Apply when the AI is doing a
49
+ * verify-after-mutate flow ("ich habe gerade etwas geändert, ist es
50
+ * wirklich gespeichert?"). Mutation calls already invalidate the cache —
51
+ * this flag is for the rare case where the caller wants to skip cache
52
+ * without performing a mutation.
53
+ */
54
+ noCache?: boolean;
46
55
  }
47
56
  export interface PlatformClient {
48
57
  readonly platform: Platform;
@@ -78,7 +87,7 @@ export declare function hintFor(code?: ApiErrorCode): string;
78
87
  export declare const HEALTH_HINT = "Use apimapper_health to check connectivity and auth.";
79
88
  export declare function authConfigured(): boolean;
80
89
  export declare const api: {
81
- request: <T>(path: string, init?: RequestInit, _retryCount?: number) => Promise<ApiResponse<T>>;
90
+ request: <T>(path: string, init?: RequestInit, _retryCount?: number, responseSchema?: import("zod").ZodType<T>) => Promise<ApiResponse<T>>;
82
91
  requestAll: <T>(path: string, params?: Record<string, string>) => Promise<ApiResponse<T[]>>;
83
92
  acquireRateLimit: () => Promise<void>;
84
93
  };
@@ -23,8 +23,25 @@
23
23
  // - Missing credentials → fail-fast in production, silent in tests (legacy
24
24
  // path only — Platform path is config-driven).
25
25
  import { createHttpClient } from "@getimo/mcp-toolkit";
26
+ import { Agent, setGlobalDispatcher } from "undici";
26
27
  import { sanitizeSecrets } from "./credential-sanitizer.js";
28
+ import { getCached, setCached, isCacheableRequest, invalidateByPath, } from "./read-cache.js";
27
29
  import { WordPressPlatform, JoomlaPlatform } from "../../platform/index.js";
30
+ // Perf-#1 (2026-05-19): HTTP keep-alive connection pool.
31
+ //
32
+ // A typical customer flow fires 9-10 sequential tool calls against the same
33
+ // origin (api.wootsup.com / dev.wootsup.com). Node's bundled undici uses
34
+ // keep-alive by default with a 4s idle timeout — long enough for back-to-back
35
+ // calls, but tight enough that a brief LLM round-trip between tools can let
36
+ // the socket close. We widen the keep-alive window to 30s and pre-allocate a
37
+ // 10-connection pool per origin so the second call onwards reuses an existing
38
+ // TLS session instead of re-handshaking. Safe to call once at module-eval —
39
+ // setGlobalDispatcher is process-global and idempotent.
40
+ setGlobalDispatcher(new Agent({
41
+ keepAliveTimeout: 30_000,
42
+ keepAliveMaxTimeout: 60_000,
43
+ connections: 10,
44
+ }));
28
45
  // DXT / setup-CLI environment bootstrap. The setup wizard writes the
29
46
  // MCP key as APIMAPPER_TOKEN and the site URL as APIMAPPER_SITE_URL.
30
47
  // Legacy callers (R7 verify scripts, CustomGraph internal use) still
@@ -286,20 +303,43 @@ const legacyClient = createPlatformClient(legacyPlatform);
286
303
  * For new code, prefer `createPlatformClient(platform).request(action)`.
287
304
  */
288
305
  export async function request(path, init = {}, opts = {}) {
306
+ // Perf-#2 (2026-05-19): read-cache for GET requests against read-only
307
+ // endpoints. Cache key includes the resolved path (with query) and
308
+ // method. Mutations invalidate by path-prefix below.
309
+ const method = init.method ?? "GET";
310
+ const upperMethod = method.toUpperCase();
311
+ const cacheEligible = !opts.noCache && isCacheableRequest(upperMethod, path);
312
+ if (cacheEligible) {
313
+ const hit = getCached(upperMethod, path);
314
+ if (hit)
315
+ return hit;
316
+ }
289
317
  // Strip the leading "/" — Platform.buildUrl() takes a bare action name.
290
318
  // Also tolerate the existing escape-hatch where `path` starts with "http"
291
319
  // (absolute URL); fall back to raw fetch in that case.
320
+ let response;
292
321
  if (path.startsWith("http")) {
293
- return rawAbsoluteRequest(path, init, opts);
322
+ response = await rawAbsoluteRequest(path, init, opts);
323
+ }
324
+ else if (legacyPlatform instanceof JoomlaPlatform) {
325
+ // Joomla branch — translate REST path → com_ajax task + params.
326
+ response = await joomlaRequest(legacyPlatform, path, init, opts);
327
+ }
328
+ else {
329
+ const action = path.replace(/^\/+/, "");
330
+ response = await legacyClient.request(action, init, opts);
331
+ }
332
+ // Cache successful responses; never cache errors so the next call retries.
333
+ if (cacheEligible && response.success) {
334
+ setCached(upperMethod, path, response);
294
335
  }
295
- // Joomla branch translate REST path com_ajax task + params, fetch
296
- // directly so we can pass the params dict (legacyClient.request doesn't
297
- // surface params).
298
- if (legacyPlatform instanceof JoomlaPlatform) {
299
- return joomlaRequest(legacyPlatform, path, init, opts);
336
+ // Mutation invalidation: any non-GET that succeeded clears the read-cache
337
+ // for the touched path-prefix. Conservative better to over-invalidate
338
+ // than serve stale state on the next read.
339
+ if (upperMethod !== "GET" && response.success) {
340
+ invalidateByPath(path);
300
341
  }
301
- const action = path.replace(/^\/+/, "");
302
- return legacyClient.request(action, init, opts);
342
+ return response;
303
343
  }
304
344
  /**
305
345
  * Joomla-side legacy request — translates REST path → com_ajax task name
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/modules/apimapper/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/modules/apimapper/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export declare const READ_CACHE_TTL_MS = 60000;
2
+ export declare const READ_CACHE_MAX_ENTRIES = 200;
3
+ /**
4
+ * Is the request eligible for caching? GET only, and the path must
5
+ * match at least one allowlist prefix. We compare against the path-
6
+ * portion (no host) so the key is stable whether the request goes
7
+ * through the WP plugin proxy or directly to the API server.
8
+ */
9
+ export declare function isCacheableRequest(method: string, url: string): boolean;
10
+ /**
11
+ * Retrieve a cached entry. Returns undefined on miss or expired entry —
12
+ * expired entries are also evicted to keep the store small.
13
+ */
14
+ export declare function getCached<T = unknown>(method: string, url: string): T | undefined;
15
+ /**
16
+ * Store an entry. Caps the store at READ_CACHE_MAX_ENTRIES — when full,
17
+ * we drop the OLDEST entry first (by storedAt). This is FIFO rather than
18
+ * LRU; LRU would require an access-time update on every read which is
19
+ * not worth it at 200-entry scale.
20
+ */
21
+ export declare function setCached<T = unknown>(method: string, url: string, data: T): void;
22
+ /**
23
+ * Invalidate cache entries whose request path overlaps with the mutated
24
+ * resource. Conservative — clears every entry whose key includes the
25
+ * given path-substring. e.g. invalidateByPath('/flows') clears
26
+ * `/flows`, `/flows?status=published`, `/flows/abc123`.
27
+ *
28
+ * Called automatically from client.ts on POST/PUT/PATCH/DELETE.
29
+ */
30
+ export declare function invalidateByPath(path: string): void;
31
+ /**
32
+ * Clear the entire cache. Used by tests and by the explicit
33
+ * `apimapper_cache_invalidate` MCP tool (which already broadcasts to
34
+ * the server's render cache; calling this here keeps the client view
35
+ * coherent).
36
+ */
37
+ export declare function clearCache(): void;
38
+ /**
39
+ * Snapshot for tests and diagnostic tooling. Not exposed via MCP tool.
40
+ */
41
+ export declare function getCacheStats(): {
42
+ entries: number;
43
+ ttlMs: number;
44
+ };
@@ -0,0 +1,165 @@
1
+ // src/modules/apimapper/read-cache.ts — Perf-#2 (2026-05-19)
2
+ //
3
+ // In-memory TTL cache for GET responses. A typical Maria-walkthrough chat
4
+ // hits `apimapper_health`, `apimapper_license_status`, `apimapper_features_get`,
5
+ // `apimapper_library_categories`, `apimapper_library_list` etc. repeatedly
6
+ // across turns. Each call is a ~200-2500ms round-trip through:
7
+ //
8
+ // AI → MCP-server fetch → dev.wootsup.com plugin REST → api.wootsup.com
9
+ // → Cloudflare Worker
10
+ //
11
+ // On cache HIT we return in ~0.01ms — orders of magnitude faster than the
12
+ // network path.
13
+ //
14
+ // Scope
15
+ // =====
16
+ //
17
+ // **Cached:** GET requests against read-only domain endpoints (health,
18
+ // features, license, library, connection-list, flow-list,
19
+ // platform-parity, settings-get). The MCP-server protocol
20
+ // already marks these tools with `annotations: readOnly()`;
21
+ // we mirror that contract at the HTTP layer with a 60s TTL.
22
+ //
23
+ // **Not cached:** Non-GET methods; any request with a header explicitly
24
+ // saying `Cache-Control: no-cache` (e.g. when the AI wants
25
+ // to verify a just-mutated state); any 4xx/5xx response
26
+ // (errors are not memoised — the next call retries fresh).
27
+ //
28
+ // **Invalidation:** Mutation methods (POST/PUT/PATCH/DELETE) clear cache
29
+ // entries whose path-prefix matches the mutated resource.
30
+ // e.g. POST /flows/abc invalidates GET /flows*. This is a
31
+ // conservative strategy — over-invalidates rather than
32
+ // risk serving stale state.
33
+ //
34
+ // The cache is process-scoped (per MCP-server instance per AI client). No
35
+ // cross-process or cross-machine sharing — that would need a Redis/D1 tier.
36
+ // At our 60s TTL and per-customer-LLM-conversation scale, in-memory is
37
+ // sufficient and gives us O(1) gets without operational overhead.
38
+ // Tunable knobs. Exported so tests can drive them.
39
+ export const READ_CACHE_TTL_MS = 60_000;
40
+ export const READ_CACHE_MAX_ENTRIES = 200;
41
+ // Tools we explicitly allow to be cached. Conservative allowlist — if a
42
+ // tool isn't in here, requests pass through untouched. We use endpoint
43
+ // path-prefixes (not tool names) because client.ts works in HTTP-path
44
+ // terms, not MCP-tool terms.
45
+ //
46
+ // Keep in sync with `annotations: readOnly()` tools in src/modules/apimapper/.
47
+ const READ_CACHE_PATH_ALLOWLIST = [
48
+ "/health",
49
+ "/features",
50
+ "/license",
51
+ "/library",
52
+ "/connections",
53
+ "/credentials",
54
+ "/flows",
55
+ "/platform-parity",
56
+ "/settings",
57
+ "/inspect-token",
58
+ "/onboarding",
59
+ "/releases",
60
+ "/skill",
61
+ ];
62
+ const store = new Map();
63
+ /**
64
+ * Build the cache key. Includes the path + serialised query so e.g.
65
+ * `library?category=cms` and `library?category=media` don't collide.
66
+ * The HTTP method is part of the key only for safety — non-GET will
67
+ * never reach here, but we don't want a future caller to accidentally
68
+ * cache a POST against the same path.
69
+ */
70
+ function cacheKey(method, url) {
71
+ return `${method.toUpperCase()}::${url}`;
72
+ }
73
+ /**
74
+ * Is the request eligible for caching? GET only, and the path must
75
+ * match at least one allowlist prefix. We compare against the path-
76
+ * portion (no host) so the key is stable whether the request goes
77
+ * through the WP plugin proxy or directly to the API server.
78
+ */
79
+ export function isCacheableRequest(method, url) {
80
+ if (method.toUpperCase() !== "GET")
81
+ return false;
82
+ try {
83
+ // Tolerate both absolute and relative URLs.
84
+ const path = url.startsWith("http") ? new URL(url).pathname : url.split("?")[0];
85
+ return READ_CACHE_PATH_ALLOWLIST.some((prefix) => path.includes(prefix));
86
+ }
87
+ catch {
88
+ return false;
89
+ }
90
+ }
91
+ /**
92
+ * Retrieve a cached entry. Returns undefined on miss or expired entry —
93
+ * expired entries are also evicted to keep the store small.
94
+ */
95
+ export function getCached(method, url) {
96
+ const key = cacheKey(method, url);
97
+ const entry = store.get(key);
98
+ if (!entry)
99
+ return undefined;
100
+ if (Date.now() > entry.expiresAt) {
101
+ store.delete(key);
102
+ return undefined;
103
+ }
104
+ return entry.data;
105
+ }
106
+ /**
107
+ * Store an entry. Caps the store at READ_CACHE_MAX_ENTRIES — when full,
108
+ * we drop the OLDEST entry first (by storedAt). This is FIFO rather than
109
+ * LRU; LRU would require an access-time update on every read which is
110
+ * not worth it at 200-entry scale.
111
+ */
112
+ export function setCached(method, url, data) {
113
+ if (store.size >= READ_CACHE_MAX_ENTRIES) {
114
+ let oldestKey;
115
+ let oldestTime = Infinity;
116
+ for (const [k, v] of store) {
117
+ if (v.storedAt < oldestTime) {
118
+ oldestTime = v.storedAt;
119
+ oldestKey = k;
120
+ }
121
+ }
122
+ if (oldestKey)
123
+ store.delete(oldestKey);
124
+ }
125
+ const now = Date.now();
126
+ store.set(cacheKey(method, url), {
127
+ data,
128
+ expiresAt: now + READ_CACHE_TTL_MS,
129
+ storedAt: now,
130
+ });
131
+ }
132
+ /**
133
+ * Invalidate cache entries whose request path overlaps with the mutated
134
+ * resource. Conservative — clears every entry whose key includes the
135
+ * given path-substring. e.g. invalidateByPath('/flows') clears
136
+ * `/flows`, `/flows?status=published`, `/flows/abc123`.
137
+ *
138
+ * Called automatically from client.ts on POST/PUT/PATCH/DELETE.
139
+ */
140
+ export function invalidateByPath(path) {
141
+ const needle = path.split("?")[0]; // strip query, match path only
142
+ for (const key of store.keys()) {
143
+ if (key.includes(needle))
144
+ store.delete(key);
145
+ }
146
+ }
147
+ /**
148
+ * Clear the entire cache. Used by tests and by the explicit
149
+ * `apimapper_cache_invalidate` MCP tool (which already broadcasts to
150
+ * the server's render cache; calling this here keeps the client view
151
+ * coherent).
152
+ */
153
+ export function clearCache() {
154
+ store.clear();
155
+ }
156
+ /**
157
+ * Snapshot for tests and diagnostic tooling. Not exposed via MCP tool.
158
+ */
159
+ export function getCacheStats() {
160
+ return {
161
+ entries: store.size,
162
+ ttlMs: READ_CACHE_TTL_MS,
163
+ };
164
+ }
165
+ //# sourceMappingURL=read-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-cache.js","sourceRoot":"","sources":["../../../src/modules/apimapper/read-cache.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "dxt_version": "0.1",
3
3
  "name": "@wootsup/mcp",
4
4
  "display_name": "API Mapper for WordPress & Joomla",
5
- "version": "0.1.0-rc.7",
5
+ "version": "0.1.0-rc.8",
6
6
  "description": "Build API integrations, OAuth credentials, and YOOtheme sources via natural conversation. Connects your AI assistant to API Mapper running on WordPress or Joomla.",
7
7
  "author": {
8
8
  "name": "WootsUp",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wootsup/mcp",
3
- "version": "0.1.0-rc.7",
3
+ "version": "0.1.0-rc.8",
4
4
  "type": "module",
5
5
  "description": "API Mapper MCP Server — multi-platform (WordPress/Joomla), multi-AI-client, Stripe-style auth, bundled skills",
6
6
  "license": "MIT",
@@ -46,10 +46,11 @@
46
46
  "build:dxt": "node scripts/build-dxt.js"
47
47
  },
48
48
  "dependencies": {
49
- "@modelcontextprotocol/sdk": "^1.27.0",
49
+ "@clack/prompts": "^0.10.0",
50
50
  "@getimo/mcp-toolkit": "^1.0.2",
51
+ "@modelcontextprotocol/sdk": "^1.27.0",
51
52
  "@napi-rs/keyring": "^1.3.0",
52
- "@clack/prompts": "^0.10.0",
53
+ "undici": "^7.25.0",
53
54
  "zod": "^4.3.6"
54
55
  },
55
56
  "devDependencies": {