@kya-os/mcp-i-cloudflare 1.5.1-canary.0 → 1.5.1-canary.10

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 (55) hide show
  1. package/dist/adapter.d.ts +31 -1
  2. package/dist/adapter.d.ts.map +1 -1
  3. package/dist/adapter.js +287 -11
  4. package/dist/adapter.js.map +1 -1
  5. package/dist/constants/storage-keys.d.ts +89 -0
  6. package/dist/constants/storage-keys.d.ts.map +1 -0
  7. package/dist/constants/storage-keys.js +142 -0
  8. package/dist/constants/storage-keys.js.map +1 -0
  9. package/dist/index.d.ts +7 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +9 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/runtime/oauth-handler.d.ts +6 -0
  14. package/dist/runtime/oauth-handler.d.ts.map +1 -1
  15. package/dist/runtime/oauth-handler.js +96 -21
  16. package/dist/runtime/oauth-handler.js.map +1 -1
  17. package/dist/server.d.ts +7 -0
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +15 -0
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/admin.service.d.ts +4 -0
  22. package/dist/services/admin.service.d.ts.map +1 -1
  23. package/dist/services/admin.service.js +170 -77
  24. package/dist/services/admin.service.js.map +1 -1
  25. package/dist/services/consent-config.service.d.ts.map +1 -1
  26. package/dist/services/consent-config.service.js +7 -3
  27. package/dist/services/consent-config.service.js.map +1 -1
  28. package/dist/services/consent-page-renderer.d.ts +8 -2
  29. package/dist/services/consent-page-renderer.d.ts.map +1 -1
  30. package/dist/services/consent-page-renderer.js +42 -8
  31. package/dist/services/consent-page-renderer.js.map +1 -1
  32. package/dist/services/consent.service.d.ts +90 -0
  33. package/dist/services/consent.service.d.ts.map +1 -1
  34. package/dist/services/consent.service.js +556 -99
  35. package/dist/services/consent.service.js.map +1 -1
  36. package/dist/services/delegation.service.d.ts.map +1 -1
  37. package/dist/services/delegation.service.js +54 -19
  38. package/dist/services/delegation.service.js.map +1 -1
  39. package/dist/services/oauth-security.service.d.ts +92 -0
  40. package/dist/services/oauth-security.service.d.ts.map +1 -0
  41. package/dist/services/oauth-security.service.js +260 -0
  42. package/dist/services/oauth-security.service.js.map +1 -0
  43. package/dist/services/rate-limit.service.d.ts +59 -0
  44. package/dist/services/rate-limit.service.d.ts.map +1 -0
  45. package/dist/services/rate-limit.service.js +146 -0
  46. package/dist/services/rate-limit.service.js.map +1 -0
  47. package/dist/types/client.d.ts +27 -0
  48. package/dist/types/client.d.ts.map +1 -0
  49. package/dist/types/client.js +8 -0
  50. package/dist/types/client.js.map +1 -0
  51. package/dist/utils/day0-config.d.ts +51 -0
  52. package/dist/utils/day0-config.d.ts.map +1 -0
  53. package/dist/utils/day0-config.js +72 -0
  54. package/dist/utils/day0-config.js.map +1 -0
  55. package/package.json +1 -1
package/dist/adapter.d.ts CHANGED
@@ -25,6 +25,20 @@ export interface MCPICloudflareAdapterConfig extends MCPICloudflareConfig {
25
25
  };
26
26
  tools?: ToolDefinition[];
27
27
  }
28
+ interface RequestMeta {
29
+ fingerprint?: string;
30
+ userAgent?: string;
31
+ ip?: string;
32
+ cfRay?: string;
33
+ request?: Request;
34
+ }
35
+ interface JsonRpcRequest {
36
+ jsonrpc: string;
37
+ id: unknown;
38
+ method: string;
39
+ params?: any;
40
+ __meta?: RequestMeta;
41
+ }
28
42
  /**
29
43
  * Lightweight MCP protocol implementation for Cloudflare Workers
30
44
  */
@@ -35,6 +49,7 @@ declare class CloudflareMCPServer {
35
49
  private proofArchive?;
36
50
  private requestOrigin?;
37
51
  private delegationStorage?;
52
+ private initializeContexts;
38
53
  constructor(runtime: MCPIRuntimeBase, serverInfo: {
39
54
  name: string;
40
55
  version: string;
@@ -47,7 +62,22 @@ declare class CloudflareMCPServer {
47
62
  /**
48
63
  * Handle JSON-RPC request
49
64
  */
50
- handleRequest(request: any): Promise<any>;
65
+ handleRequest(request: JsonRpcRequest): Promise<any>;
66
+ private storeInitializeContext;
67
+ private consumeInitializeContext;
68
+ private pruneInitializeContexts;
69
+ private prepareHandshakePayload;
70
+ private extractMCPClient;
71
+ private normalizeClientInfo;
72
+ private cloneCapabilities;
73
+ private isRecord;
74
+ /**
75
+ * Extract OAuth identity from request cookies
76
+ *
77
+ * @param request - Request object (from RequestMeta)
78
+ * @returns OAuthIdentity or null
79
+ */
80
+ private extractOAuthIdentityFromRequest;
51
81
  }
52
82
  /**
53
83
  * Create a complete MCP-I handler for Cloudflare Workers
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAc;gBAGtC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC7C,KAAK,GAAE,cAAc,EAAO,EAC5B,YAAY,CAAC,EAAE,cAAc,EAC7B,iBAAiB,CAAC,EAAE,WAAW;IASjC;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CA6QhD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B;;;mBAkCZ,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EA6YnD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAU7D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAWD;;GAEG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,kBAAkB,CAAiC;gBAGzD,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC7C,KAAK,GAAE,cAAc,EAAO,EAC5B,YAAY,CAAC,EAAE,cAAc,EAC7B,iBAAiB,CAAC,EAAE,WAAW;IAUjC;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAyY1D,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,uBAAuB;IAmC/B,OAAO,CAAC,gBAAgB;IAyDxB,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,QAAQ;IAIhB;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;CA6BxC;AA0BD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B;;;mBAkCZ,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;EA8YnD"}
package/dist/adapter.js CHANGED
@@ -11,6 +11,9 @@
11
11
  import { createCloudflareRuntime } from "./index";
12
12
  import { WELL_KNOWN_CORS_HEADERS, MCP_CORS_HEADERS, PREFLIGHT_CORS_HEADERS, } from "@kya-os/mcp-i-core";
13
13
  import { KVProofArchive } from "./storage/kv-proof-archive";
14
+ import { STORAGE_KEYS } from "./constants/storage-keys";
15
+ import { DEFAULT_SESSION_CACHE_TTL } from "./constants";
16
+ const INITIALIZE_CONTEXT_TTL_MS = 60_000;
14
17
  /**
15
18
  * Lightweight MCP protocol implementation for Cloudflare Workers
16
19
  */
@@ -21,12 +24,14 @@ class CloudflareMCPServer {
21
24
  proofArchive;
22
25
  requestOrigin; // Store request origin for consent URL building
23
26
  delegationStorage; // KV storage for delegation tokens
27
+ initializeContexts;
24
28
  constructor(runtime, serverInfo, tools = [], proofArchive, delegationStorage) {
25
29
  this.runtime = runtime;
26
30
  this.serverInfo = serverInfo;
27
31
  this.tools = new Map(tools.map((t) => [t.name, t]));
28
32
  this.proofArchive = proofArchive;
29
33
  this.delegationStorage = delegationStorage;
34
+ this.initializeContexts = new Map();
30
35
  }
31
36
  /**
32
37
  * Set request origin for consent URL building
@@ -40,9 +45,11 @@ class CloudflareMCPServer {
40
45
  */
41
46
  async handleRequest(request) {
42
47
  const { jsonrpc, id, method, params } = request;
48
+ const meta = request.__meta;
43
49
  try {
44
50
  // Initialize/describe request
45
51
  if (method === "initialize") {
52
+ this.storeInitializeContext(meta, params);
46
53
  return {
47
54
  jsonrpc: "2.0",
48
55
  id,
@@ -93,7 +100,7 @@ class CloudflareMCPServer {
93
100
  // users delegate to the same agent. The ideal key structure should be:
94
101
  // - `user:${userDid}:agent:${agentDid}:delegation` (user+agent scoped - most specific)
95
102
  // - `agent:${agentDid}:delegation` (agent-scoped fallback for single-user agents)
96
- //
103
+ //
97
104
  // To implement this properly:
98
105
  // 1. Capture userDID in consent approval flow (from OAuth or session)
99
106
  // 2. Store tokens with userDID in the key: `user:${userDid}:agent:${agentDid}:delegation`
@@ -119,7 +126,7 @@ class CloudflareMCPServer {
119
126
  // Cache it for this session for faster future lookups
120
127
  if (sessionId) {
121
128
  await this.delegationStorage.put(`session:${sessionId}`, userAgentToken, {
122
- expirationTtl: 1800 // 30 minutes
129
+ expirationTtl: 1800, // 30 minutes
123
130
  });
124
131
  }
125
132
  }
@@ -136,7 +143,7 @@ class CloudflareMCPServer {
136
143
  // Cache it for this session for faster future lookups
137
144
  if (sessionId) {
138
145
  await this.delegationStorage.put(`session:${sessionId}`, agentToken, {
139
- expirationTtl: 1800 // 30 minutes
146
+ expirationTtl: 1800, // 30 minutes
140
147
  });
141
148
  }
142
149
  }
@@ -144,7 +151,7 @@ class CloudflareMCPServer {
144
151
  }
145
152
  catch (error) {
146
153
  // Log but don't fail - delegation lookup is best-effort
147
- console.warn('[CloudflareMCPServer] Failed to retrieve delegation token from KV:', error);
154
+ console.warn("[CloudflareMCPServer] Failed to retrieve delegation token from KV:", error);
148
155
  }
149
156
  }
150
157
  session = {
@@ -223,7 +230,73 @@ class CloudflareMCPServer {
223
230
  }
224
231
  // Handle MCP-I specific handshake
225
232
  if (method === "handshake") {
226
- const handshakeResult = await this.runtime.handleHandshake(params || {});
233
+ const initializeContext = this.consumeInitializeContext(meta);
234
+ const handshakePayload = this.prepareHandshakePayload(params, initializeContext);
235
+ const normalizedClientInfo = this.extractMCPClient(handshakePayload, initializeContext);
236
+ if (normalizedClientInfo) {
237
+ handshakePayload.clientInfo = {
238
+ name: normalizedClientInfo.name,
239
+ title: normalizedClientInfo.title,
240
+ version: normalizedClientInfo.version,
241
+ platform: normalizedClientInfo.platform,
242
+ vendor: normalizedClientInfo.vendor,
243
+ persistentId: normalizedClientInfo.persistentId,
244
+ clientId: normalizedClientInfo.clientId,
245
+ };
246
+ if (normalizedClientInfo.protocolVersion) {
247
+ handshakePayload.clientProtocolVersion =
248
+ normalizedClientInfo.protocolVersion;
249
+ }
250
+ if (normalizedClientInfo.capabilities) {
251
+ handshakePayload.clientCapabilities =
252
+ normalizedClientInfo.capabilities;
253
+ }
254
+ }
255
+ // Phase 4 PR #5: Extract OAuth identity and lookup persistent User DID BEFORE handshake
256
+ let userDid = undefined;
257
+ if (this.delegationStorage && meta?.request) {
258
+ const oauthIdentity = this.extractOAuthIdentityFromRequest(meta.request);
259
+ if (oauthIdentity) {
260
+ try {
261
+ const oauthKey = STORAGE_KEYS.oauthIdentity(oauthIdentity.provider, oauthIdentity.subject);
262
+ const mappedUserDid = await this.delegationStorage.get(oauthKey, "text");
263
+ if (mappedUserDid) {
264
+ userDid = mappedUserDid;
265
+ console.log("[Adapter] Found persistent User DID for return user:", {
266
+ provider: oauthIdentity.provider,
267
+ userDid: userDid.substring(0, 20) + "...",
268
+ });
269
+ }
270
+ }
271
+ catch (error) {
272
+ console.warn("[Adapter] Failed to lookup persistent User DID:", error);
273
+ // Non-fatal - continue with handshake
274
+ }
275
+ }
276
+ }
277
+ const handshakeResult = await this.runtime.handleHandshake(handshakePayload);
278
+ // Phase 4 PR #5: Store User DID and clientId in session AFTER handshake
279
+ if (userDid && this.delegationStorage && handshakeResult.sessionId) {
280
+ try {
281
+ const sessionKey = STORAGE_KEYS.session(handshakeResult.sessionId);
282
+ const existingSession = (await this.delegationStorage.get(sessionKey, "json"));
283
+ // Extract clientId from handshake payload (already collected during handshake)
284
+ const clientId = handshakePayload.clientInfo?.clientId;
285
+ // Get agentDid from runtime identity
286
+ const agentDid = (await this.runtime.getIdentity()).did;
287
+ await this.delegationStorage.put(sessionKey, JSON.stringify({
288
+ ...(existingSession || {}),
289
+ userDid,
290
+ agentDid,
291
+ ...(clientId && { clientId }),
292
+ }), { expirationTtl: DEFAULT_SESSION_CACHE_TTL });
293
+ console.log("[Adapter] Stored User DID, agentDid, and clientId in session for return user");
294
+ }
295
+ catch (error) {
296
+ console.warn("[Adapter] Failed to store User DID in session:", error);
297
+ // Non-fatal - continue
298
+ }
299
+ }
227
300
  return {
228
301
  jsonrpc: "2.0",
229
302
  id,
@@ -245,7 +318,8 @@ class CloudflareMCPServer {
245
318
  code: -32001, // Custom error code for authorization required
246
319
  message: error.consentUrl
247
320
  ? `${error.message || `Delegation required for tool "${error.toolName || "unknown"}"`}. <authorization_url>${error.consentUrl}</authorization_url>`
248
- : error.message || `Delegation required for tool "${error.toolName || "unknown"}"`,
321
+ : error.message ||
322
+ `Delegation required for tool "${error.toolName || "unknown"}"`,
249
323
  data: {
250
324
  toolName: error.toolName,
251
325
  requiredScopes: error.requiredScopes || [],
@@ -261,7 +335,9 @@ class CloudflareMCPServer {
261
335
  let errorMessage = "Internal error";
262
336
  if (error) {
263
337
  // Only use error message if it's an Error object with a message property
264
- if (typeof error === 'object' && error instanceof Error && error.message) {
338
+ if (typeof error === "object" &&
339
+ error instanceof Error &&
340
+ error.message) {
265
341
  errorMessage = error.message;
266
342
  }
267
343
  // For non-Error objects (strings, null, etc.), use default "Internal error"
@@ -276,6 +352,204 @@ class CloudflareMCPServer {
276
352
  };
277
353
  }
278
354
  }
355
+ storeInitializeContext(meta, params) {
356
+ if (!meta?.fingerprint || !this.isRecord(params)) {
357
+ return;
358
+ }
359
+ const protocolVersion = params.protocolVersion;
360
+ const capabilities = params.capabilities;
361
+ const clientInfo = this.normalizeClientInfo(params.clientInfo);
362
+ const context = {
363
+ timestamp: Date.now(),
364
+ protocolVersion: typeof protocolVersion === "string" ? protocolVersion : undefined,
365
+ capabilities: this.cloneCapabilities(capabilities),
366
+ clientInfo,
367
+ };
368
+ this.initializeContexts.set(meta.fingerprint, context);
369
+ this.pruneInitializeContexts();
370
+ }
371
+ consumeInitializeContext(meta) {
372
+ if (!meta?.fingerprint) {
373
+ return undefined;
374
+ }
375
+ const context = this.initializeContexts.get(meta.fingerprint);
376
+ if (!context) {
377
+ return undefined;
378
+ }
379
+ if (Date.now() - context.timestamp > INITIALIZE_CONTEXT_TTL_MS) {
380
+ this.initializeContexts.delete(meta.fingerprint);
381
+ return undefined;
382
+ }
383
+ // Remove after consumption to prevent cross-session leakage
384
+ this.initializeContexts.delete(meta.fingerprint);
385
+ return context;
386
+ }
387
+ pruneInitializeContexts() {
388
+ const now = Date.now();
389
+ for (const [key, context] of this.initializeContexts.entries()) {
390
+ if (now - context.timestamp > INITIALIZE_CONTEXT_TTL_MS) {
391
+ this.initializeContexts.delete(key);
392
+ }
393
+ }
394
+ }
395
+ prepareHandshakePayload(params, initializeContext) {
396
+ const payload = {
397
+ ...params,
398
+ };
399
+ if (!payload.clientProtocolVersion && initializeContext?.protocolVersion) {
400
+ payload.clientProtocolVersion = initializeContext.protocolVersion;
401
+ }
402
+ if (!payload.clientCapabilities && initializeContext?.capabilities) {
403
+ payload.clientCapabilities = initializeContext.capabilities;
404
+ }
405
+ if (!payload.clientInfo && initializeContext?.clientInfo?.name) {
406
+ const source = initializeContext.clientInfo;
407
+ const name = source.name;
408
+ if (!name) {
409
+ return payload;
410
+ }
411
+ payload.clientInfo = {
412
+ name,
413
+ ...(source.title ? { title: source.title } : {}),
414
+ ...(source.version ? { version: source.version } : {}),
415
+ ...(source.platform ? { platform: source.platform } : {}),
416
+ ...(source.vendor ? { vendor: source.vendor } : {}),
417
+ ...(source.persistentId ? { persistentId: source.persistentId } : {}),
418
+ };
419
+ }
420
+ return payload;
421
+ }
422
+ extractMCPClient(request, initializeContext) {
423
+ const fromHandshake = this.normalizeClientInfo(request.clientInfo);
424
+ const merged = {
425
+ ...(initializeContext?.clientInfo ?? {}),
426
+ ...(fromHandshake ?? {}),
427
+ };
428
+ const handshakeClientId = this.isRecord(request.clientInfo) &&
429
+ typeof request.clientInfo.clientId === "string" &&
430
+ request.clientInfo.clientId.trim().length > 0
431
+ ? request.clientInfo.clientId.trim()
432
+ : undefined;
433
+ const hasClientMetadata = Object.keys(merged).length > 0 ||
434
+ handshakeClientId ||
435
+ typeof request.clientProtocolVersion === "string" ||
436
+ this.isRecord(request.clientCapabilities);
437
+ if (!hasClientMetadata) {
438
+ return undefined;
439
+ }
440
+ const nameValue = merged.name;
441
+ const name = typeof nameValue === "string" && nameValue.trim().length > 0
442
+ ? nameValue.trim()
443
+ : "unknown";
444
+ const clientId = handshakeClientId ||
445
+ crypto.randomUUID();
446
+ const capabilities = this.isRecord(request.clientCapabilities)
447
+ ? request.clientCapabilities
448
+ : initializeContext?.capabilities;
449
+ return {
450
+ name,
451
+ title: merged.title,
452
+ version: merged.version,
453
+ platform: merged.platform,
454
+ vendor: merged.vendor,
455
+ persistentId: merged.persistentId,
456
+ protocolVersion: request.clientProtocolVersion ??
457
+ initializeContext?.protocolVersion ??
458
+ merged.protocolVersion,
459
+ capabilities,
460
+ clientId,
461
+ };
462
+ }
463
+ normalizeClientInfo(value) {
464
+ if (!this.isRecord(value)) {
465
+ return undefined;
466
+ }
467
+ const normalized = {};
468
+ const record = value;
469
+ const name = record.name;
470
+ if (typeof name === "string" && name.trim().length > 0) {
471
+ normalized.name = name.trim();
472
+ }
473
+ const title = record.title;
474
+ if (typeof title === "string" && title.trim().length > 0) {
475
+ normalized.title = title.trim();
476
+ }
477
+ const version = record.version;
478
+ if (typeof version === "string" && version.trim().length > 0) {
479
+ normalized.version = version.trim();
480
+ }
481
+ const platform = record.platform;
482
+ if (typeof platform === "string" && platform.trim().length > 0) {
483
+ normalized.platform = platform.trim();
484
+ }
485
+ const vendor = record.vendor;
486
+ if (typeof vendor === "string" && vendor.trim().length > 0) {
487
+ normalized.vendor = vendor.trim();
488
+ }
489
+ const persistentId = record.persistentId;
490
+ if (typeof persistentId === "string" && persistentId.trim().length > 0) {
491
+ normalized.persistentId = persistentId.trim();
492
+ }
493
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
494
+ }
495
+ cloneCapabilities(capabilities) {
496
+ if (!this.isRecord(capabilities)) {
497
+ return undefined;
498
+ }
499
+ return JSON.parse(JSON.stringify(capabilities));
500
+ }
501
+ isRecord(value) {
502
+ return typeof value === "object" && value !== null && !Array.isArray(value);
503
+ }
504
+ /**
505
+ * Extract OAuth identity from request cookies
506
+ *
507
+ * @param request - Request object (from RequestMeta)
508
+ * @returns OAuthIdentity or null
509
+ */
510
+ extractOAuthIdentityFromRequest(request) {
511
+ try {
512
+ const cookieHeader = request.headers.get("Cookie");
513
+ if (!cookieHeader)
514
+ return null;
515
+ const cookies = cookieHeader.split("; ").map((c) => c.trim());
516
+ const oauthCookie = cookies.find((c) => c.startsWith("oauth_identity="));
517
+ if (!oauthCookie)
518
+ return null;
519
+ // Extract cookie value properly handling cases where value contains '='
520
+ // Find the first '=' which separates key from value, then take everything after it
521
+ const equalsIndex = oauthCookie.indexOf("=");
522
+ if (equalsIndex === -1)
523
+ return null;
524
+ const cookieValue = oauthCookie.substring(equalsIndex + 1);
525
+ const parsed = JSON.parse(decodeURIComponent(cookieValue));
526
+ // Validate required fields
527
+ if (parsed && parsed.provider && parsed.subject) {
528
+ return parsed;
529
+ }
530
+ }
531
+ catch (error) {
532
+ console.warn("[Adapter] Failed to extract OAuth identity from cookies:", error);
533
+ }
534
+ return null;
535
+ }
536
+ }
537
+ function buildRequestMeta(request) {
538
+ const ip = request.headers.get("cf-connecting-ip") ??
539
+ request.headers.get("x-forwarded-for") ??
540
+ undefined;
541
+ const userAgent = request.headers.get("user-agent") ?? undefined;
542
+ const cfRay = request.headers.get("cf-ray") ?? undefined;
543
+ const origin = request.headers.get("origin") ?? undefined;
544
+ const secChUa = request.headers.get("sec-ch-ua") ?? undefined;
545
+ const fingerprintParts = [ip, userAgent, cfRay, origin, secChUa].filter((value) => typeof value === "string" && value.length > 0);
546
+ return {
547
+ fingerprint: fingerprintParts.length > 0 ? fingerprintParts.join("|") : undefined,
548
+ ip,
549
+ userAgent,
550
+ cfRay,
551
+ request, // Include request for cookie access
552
+ };
279
553
  }
280
554
  /**
281
555
  * Create a complete MCP-I handler for Cloudflare Workers
@@ -414,12 +688,13 @@ export function createMCPICloudflareAdapter(config) {
414
688
  // Standard JSON response (existing behavior)
415
689
  try {
416
690
  const body = await request.text();
417
- const jsonRpcRequest = JSON.parse(body);
691
+ const parsed = JSON.parse(body);
692
+ parsed.__meta = buildRequestMeta(request);
418
693
  // Extract origin from request for consent URL building
419
694
  const requestUrl = new URL(request.url);
420
695
  server.setRequestOrigin(requestUrl.origin);
421
696
  // Handle through MCP server
422
- const response = await server.handleRequest(jsonRpcRequest);
697
+ const response = await server.handleRequest(parsed);
423
698
  return new Response(JSON.stringify(response), {
424
699
  headers: {
425
700
  "Content-Type": "application/json",
@@ -662,12 +937,13 @@ async function handleSSEPost(server, runtime, request) {
662
937
  const encoder = new TextEncoder();
663
938
  try {
664
939
  const body = await request.text();
665
- const jsonRpcRequest = JSON.parse(body);
940
+ const parsed = JSON.parse(body);
941
+ parsed.__meta = buildRequestMeta(request);
666
942
  // Extract origin from request for consent URL building (if not already set)
667
943
  const requestUrl = new URL(request.url);
668
944
  server.setRequestOrigin(requestUrl.origin);
669
945
  // Handle through MCP server
670
- const response = await server.handleRequest(jsonRpcRequest);
946
+ const response = await server.handleRequest(parsed);
671
947
  // Format response as SSE event data
672
948
  const eventData = `data: ${JSON.stringify(response)}\n\n`;
673
949
  // Return SSE response directly without TransformStream
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}