@kya-os/create-mcpi-app 1.9.24 β†’ 1.9.25

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @kya-os/create-mcpi-app@1.9.23 build /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
2
+ > @kya-os/create-mcpi-app@1.9.24 build /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
3
3
  > tsc && chmod +x dist/index.js
4
4
 
@@ -0,0 +1,643 @@
1
+
2
+ > @kya-os/create-mcpi-app@1.9.24 test /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
3
+ > vitest run
4
+
5
+
6
+  RUN  v4.0.14 /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app
7
+
8
+ (node:96960) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
9
+ (Use `node --trace-warnings ...` to show where the warning was created)
10
+ βœ“ src/__tests__/helpers/copy-template.test.ts (11 tests) 29ms
11
+ βœ“ test-cloudflare/tests/do-routing.test.ts (14 tests) 54ms
12
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
13
+ 
14
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project...
15
+
16
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
17
+ 
18
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
19
+
20
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
21
+ πŸ”‘ Generating cryptographic identity...
22
+
23
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
24
+ πŸ”‘ Generating cryptographic identity...
25
+
26
+ (node:96959) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
27
+ (Use `node --trace-warnings ...` to show where the warning was created)
28
+ (node:96957) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
29
+ (Use `node --trace-warnings ...` to show where the warning was created)
30
+ (node:96955) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
31
+ (Use `node --trace-warnings ...` to show where the warning was created)
32
+ (node:96954) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
33
+ (Use `node --trace-warnings ...` to show where the warning was created)
34
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include envPrefix in generated index.ts
35
+ βœ” Created Cloudflare MCP-I template files
36
+ - Generated identity keys in .dev.vars
37
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
38
+ - Created modular tool structure
39
+
40
+ ============================================================
41
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
42
+ ============================================================
43
+
44
+ πŸ“ Important Configuration Notes:
45
+
46
+ 1. ADMIN_API_KEY (in .dev.vars):
47
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
48
+ - You can change it if you need separate admin endpoint security
49
+ - Required for admin endpoints like /admin/clear-cache
50
+
51
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
52
+ - Required for MCP-I security features
53
+ - ✨ Automatically created on first deploy - no setup needed!
54
+ - Wrangler updates wrangler.toml with namespace IDs
55
+
56
+ πŸš€ Next Steps:
57
+ cd test-agent
58
+ wrangler login # Login to Cloudflare first!
59
+ npm run dev # Start local development
60
+ npm run deploy # Deploy (KV auto-created!)
61
+
62
+
63
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should scaffold with correct @kya-os/mcp-i-cloudflare version
64
+ βœ” Created Cloudflare MCP-I template files
65
+ - Generated identity keys in .dev.vars
66
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
67
+ - Created modular tool structure
68
+
69
+ ============================================================
70
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
71
+ ============================================================
72
+
73
+ πŸ“ Important Configuration Notes:
74
+
75
+ 1. ADMIN_API_KEY (in .dev.vars):
76
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
77
+ - You can change it if you need separate admin endpoint security
78
+ - Required for admin endpoints like /admin/clear-cache
79
+
80
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
81
+ - Required for MCP-I security features
82
+ - ✨ Automatically created on first deploy - no setup needed!
83
+ - Wrangler updates wrangler.toml with namespace IDs
84
+
85
+ πŸš€ Next Steps:
86
+ cd test-project
87
+ wrangler login # Login to Cloudflare first!
88
+ npm run dev # Start local development
89
+ npm run deploy # Deploy (KV auto-created!)
90
+
91
+
92
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
93
+ 
94
+ πŸ—οΈ Generating Cloudflare MCP-I project: my-awesome-agent...
95
+
96
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
97
+ πŸ”‘ Generating cryptographic identity...
98
+
99
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
100
+ 
101
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-env...
102
+
103
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
104
+ 
105
+ create-mcpi-app@1.9.24
106
+
107
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
108
+ BANNER
109
+
110
+ Enhanced with identity features by MCP-I
111
+
112
+
113
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > passes CLI flags to createProject when using --yes
114
+ 
115
+ Next Steps:
116
+ 1. Install dependencies:
117
+ cd my-agent
118
+ npm install
119
+
120
+ 2. Start development server:
121
+ npm run dev
122
+
123
+ 3. Deploy when ready:
124
+ npm run start
125
+
126
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
127
+ πŸ”‘ Generating cryptographic identity...
128
+
129
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should use correct prefix format (uppercase with underscores)
130
+ βœ” Created Cloudflare MCP-I template files
131
+ - Generated identity keys in .dev.vars
132
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
133
+ - Created modular tool structure
134
+
135
+ ============================================================
136
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
137
+ ============================================================
138
+
139
+ πŸ“ Important Configuration Notes:
140
+
141
+ 1. ADMIN_API_KEY (in .dev.vars):
142
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
143
+ - You can change it if you need separate admin endpoint security
144
+ - Required for admin endpoints like /admin/clear-cache
145
+
146
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
147
+ - Required for MCP-I security features
148
+ - ✨ Automatically created on first deploy - no setup needed!
149
+ - Wrangler updates wrangler.toml with namespace IDs
150
+
151
+ πŸš€ Next Steps:
152
+ cd my-awesome-agent
153
+ wrangler login # Login to Cloudflare first!
154
+ npm run dev # Start local development
155
+ npm run deploy # Deploy (KV auto-created!)
156
+
157
+
158
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
159
+ 
160
+ create-mcpi-app@1.9.24
161
+
162
+ stderr | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
163
+ Invalid project name:
164
+ - bad
165
+
166
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > exits when project name validation fails
167
+ BANNER
168
+
169
+ Enhanced with identity features by MCP-I
170
+
171
+
172
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
173
+ 
174
+ create-mcpi-app@1.9.24
175
+
176
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
177
+ BANNER
178
+
179
+ Enhanced with identity features by MCP-I
180
+
181
+
182
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > honors package manager and version flags
183
+ 
184
+ Next Steps:
185
+ 1. Install dependencies:
186
+ cd pnpm-agent
187
+ pnpm install
188
+
189
+ 2. Initialize identity:
190
+ pnpm init
191
+
192
+ 3. Start development server:
193
+ pnpm dev
194
+
195
+ 4. Deploy when ready:
196
+ pnpm start
197
+
198
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
199
+ 
200
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
201
+
202
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
203
+ 
204
+ create-mcpi-app@1.9.24
205
+
206
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
207
+ BANNER
208
+
209
+ Enhanced with identity features by MCP-I
210
+
211
+
212
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
213
+ 
214
+ Creating a new xmcp app in /Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app/interactive-app.
215
+
216
+
217
+ stdout | src/__tests__/cli-runner.test.ts > runCLI > prompts for package manager and transports when --yes is not set
218
+ 
219
+ Next Steps:
220
+ 1. Install dependencies:
221
+ cd interactive-app
222
+ pnpm install
223
+
224
+ 2. Start development server:
225
+ pnpm dev
226
+
227
+ 3. Deploy when ready:
228
+ pnpm start
229
+
230
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
231
+ πŸ”‘ Generating cryptographic identity...
232
+
233
+ βœ“ src/__tests__/index.test.ts (4 tests) 105ms
234
+ βœ“ src/__tests__/cli-runner.test.ts (4 tests) 150ms
235
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should include AGENTSHIELD_PROJECT_ID in wrangler.toml template
236
+ βœ” Created Cloudflare MCP-I template files
237
+ - Generated identity keys in .dev.vars
238
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
239
+ - Created modular tool structure
240
+
241
+ ============================================================
242
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
243
+ ============================================================
244
+
245
+ πŸ“ Important Configuration Notes:
246
+
247
+ 1. ADMIN_API_KEY (in .dev.vars):
248
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
249
+ - You can change it if you need separate admin endpoint security
250
+ - Required for admin endpoints like /admin/clear-cache
251
+
252
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
253
+ - Required for MCP-I security features
254
+ - ✨ Automatically created on first deploy - no setup needed!
255
+ - Wrangler updates wrangler.toml with namespace IDs
256
+
257
+ πŸš€ Next Steps:
258
+ cd test-project-env
259
+ wrangler login # Login to Cloudflare first!
260
+ npm run dev # Start local development
261
+ npm run deploy # Deploy (KV auto-created!)
262
+
263
+
264
+ βœ“ src/__tests__/helpers/validate-project-structure.test.ts (23 tests) 64ms
265
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should include comment explaining envPrefix purpose
266
+ βœ” Created Cloudflare MCP-I template files
267
+ - Generated identity keys in .dev.vars
268
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
269
+ - Created modular tool structure
270
+
271
+ ============================================================
272
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
273
+ ============================================================
274
+
275
+ πŸ“ Important Configuration Notes:
276
+
277
+ 1. ADMIN_API_KEY (in .dev.vars):
278
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
279
+ - You can change it if you need separate admin endpoint security
280
+ - Required for admin endpoints like /admin/clear-cache
281
+
282
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
283
+ - Required for MCP-I security features
284
+ - ✨ Automatically created on first deploy - no setup needed!
285
+ - Wrangler updates wrangler.toml with namespace IDs
286
+
287
+ πŸš€ Next Steps:
288
+ cd test-agent
289
+ wrangler login # Login to Cloudflare first!
290
+ npm run dev # Start local development
291
+ npm run deploy # Deploy (KV auto-created!)
292
+
293
+
294
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
295
+ 
296
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-with-id...
297
+
298
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
299
+ πŸ”‘ Generating cryptographic identity...
300
+
301
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
302
+ 
303
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-agent...
304
+
305
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
306
+ πŸ”‘ Generating cryptographic identity...
307
+
308
+ ❯ src/__tests__/helpers/generate-config.test.ts (25 tests | 2 failed) 85ms
309
+ βœ“ should generate xmcp.config.ts with default values 3ms
310
+ βœ“ should generate config with HTTP transport when specified 1ms
311
+ βœ“ should generate config with STDIO transport when specified 1ms
312
+ βœ“ should generate config with both transports when both specified 1ms
313
+ βœ“ should generate config without identity when skipIdentity is true 2ms
314
+ βœ“ should generate config with identity when skipIdentity is false 1ms
315
+  Γ— should use default tools path 3ms
316
+  Γ— should use default development environment for identity 1ms
317
+ βœ“ should generate runtime config with default values 2ms
318
+ βœ“ should include default Node.js server configuration 1ms
319
+ βœ“ should merge base config with Node.js-specific properties 2ms
320
+ βœ“ should merge identity config when not skipped 3ms
321
+ βœ“ should merge proofing config 2ms
322
+ βœ“ should merge delegation config 2ms
323
+ βœ“ should create valid TypeScript config file 1ms
324
+ βœ“ should create valid TypeScript runtime config file 1ms
325
+ βœ“ should validate transport options 4ms
326
+ βœ“ should handle invalid transport values gracefully 2ms
327
+ βœ“ should validate file paths exist 3ms
328
+ βœ“ should use process.env in runtime config 21ms
329
+ βœ“ should handle PORT environment variable 10ms
330
+ βœ“ should handle HOST environment variable 3ms
331
+ βœ“ should handle NODE_ENV environment variable 2ms
332
+ βœ“ should create src directory if it does not exist 5ms
333
+ βœ“ should not overwrite existing src directory 6ms
334
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should set AGENTSHIELD_PROJECT_ID when --project is provided
335
+ βœ” Created Cloudflare MCP-I template files
336
+ - Generated identity keys in .dev.vars
337
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
338
+ - Created modular tool structure
339
+
340
+ ============================================================
341
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
342
+ ============================================================
343
+
344
+ πŸ“ Important Configuration Notes:
345
+
346
+ 1. ADMIN_API_KEY (in .dev.vars):
347
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
348
+ - You can change it if you need separate admin endpoint security
349
+ - Required for admin endpoints like /admin/clear-cache
350
+
351
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
352
+ - Required for MCP-I security features
353
+ - ✨ Automatically created on first deploy - no setup needed!
354
+ - Wrangler updates wrangler.toml with namespace IDs
355
+
356
+ πŸš€ Next Steps:
357
+ cd test-project-with-id
358
+ wrangler login # Login to Cloudflare first!
359
+ npm run dev # Start local development
360
+ npm run deploy # Deploy (KV auto-created!)
361
+
362
+
363
+ βœ“ src/__tests__/helpers/fetch-mcpi-template.test.ts (16 tests) 75ms
364
+ stdout | src/__tests__/scaffolder-envprefix.test.ts > Scaffolder envPrefix Configuration > should match envPrefix with KV binding names in wrangler.toml
365
+ βœ” Created Cloudflare MCP-I template files
366
+ - Generated identity keys in .dev.vars
367
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
368
+ - Created modular tool structure
369
+
370
+ ============================================================
371
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
372
+ ============================================================
373
+
374
+ πŸ“ Important Configuration Notes:
375
+
376
+ 1. ADMIN_API_KEY (in .dev.vars):
377
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
378
+ - You can change it if you need separate admin endpoint security
379
+ - Required for admin endpoints like /admin/clear-cache
380
+
381
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
382
+ - Required for MCP-I security features
383
+ - ✨ Automatically created on first deploy - no setup needed!
384
+ - Wrangler updates wrangler.toml with namespace IDs
385
+
386
+ πŸš€ Next Steps:
387
+ cd test-agent
388
+ wrangler login # Login to Cloudflare first!
389
+ npm run dev # Start local development
390
+ npm run deploy # Deploy (KV auto-created!)
391
+
392
+
393
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
394
+ 
395
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-no-id...
396
+
397
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
398
+ πŸ”‘ Generating cryptographic identity...
399
+
400
+ βœ“ src/__tests__/scaffolder-envprefix.test.ts (4 tests) 86ms
401
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Cloudflare Template Dependencies > should comment out AGENTSHIELD_PROJECT_ID when --project is NOT provided
402
+ βœ” Created Cloudflare MCP-I template files
403
+ - Generated identity keys in .dev.vars
404
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
405
+ - Created modular tool structure
406
+
407
+ ============================================================
408
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
409
+ ============================================================
410
+
411
+ πŸ“ Important Configuration Notes:
412
+
413
+ 1. ADMIN_API_KEY (in .dev.vars):
414
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
415
+ - You can change it if you need separate admin endpoint security
416
+ - Required for admin endpoints like /admin/clear-cache
417
+
418
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
419
+ - Required for MCP-I security features
420
+ - ✨ Automatically created on first deploy - no setup needed!
421
+ - Wrangler updates wrangler.toml with namespace IDs
422
+
423
+ πŸš€ Next Steps:
424
+ cd test-project-no-id
425
+ wrangler login # Login to Cloudflare first!
426
+ npm run dev # Start local development
427
+ npm run deploy # Deploy (KV auto-created!)
428
+
429
+
430
+ βœ“ src/__tests__/helpers/generate-identity.test.ts (24 tests) 102ms
431
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
432
+ 
433
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-runtime...
434
+
435
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
436
+ πŸ”‘ Generating cryptographic identity...
437
+
438
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > Runtime Config Includes projectId > should pass AGENTSHIELD_PROJECT_ID to runtime config
439
+ βœ” Created Cloudflare MCP-I template files
440
+ - Generated identity keys in .dev.vars
441
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
442
+ - Created modular tool structure
443
+
444
+ ============================================================
445
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
446
+ ============================================================
447
+
448
+ πŸ“ Important Configuration Notes:
449
+
450
+ 1. ADMIN_API_KEY (in .dev.vars):
451
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
452
+ - You can change it if you need separate admin endpoint security
453
+ - Required for admin endpoints like /admin/clear-cache
454
+
455
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
456
+ - Required for MCP-I security features
457
+ - ✨ Automatically created on first deploy - no setup needed!
458
+ - Wrangler updates wrangler.toml with namespace IDs
459
+
460
+ πŸš€ Next Steps:
461
+ cd test-project-runtime
462
+ wrangler login # Login to Cloudflare first!
463
+ npm run dev # Start local development
464
+ npm run deploy # Deploy (KV auto-created!)
465
+
466
+
467
+ βœ“ src/__tests__/helpers/create.test.ts (13 tests) 67ms
468
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
469
+ 
470
+ πŸ—οΈ Generating Cloudflare MCP-I project: test-project-no-workspace...
471
+
472
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
473
+ πŸ”‘ Generating cryptographic identity...
474
+
475
+ stdout | src/__tests__/e2e/scaffolder-dependency-verification.test.ts > Scaffolder Dependency Verification E2E > No Workspace References > should not include workspace: references in scaffolded package.json
476
+ βœ” Created Cloudflare MCP-I template files
477
+ - Generated identity keys in .dev.vars
478
+ - Configured wrangler.toml with KV namespaces (auto-provisioned)
479
+ - Created modular tool structure
480
+
481
+ ============================================================
482
+ πŸŽ‰ Cloudflare MCP-I project created successfully!
483
+ ============================================================
484
+
485
+ πŸ“ Important Configuration Notes:
486
+
487
+ 1. ADMIN_API_KEY (in .dev.vars):
488
+ - Set to same value as AGENTSHIELD_API_KEY for convenience
489
+ - You can change it if you need separate admin endpoint security
490
+ - Required for admin endpoints like /admin/clear-cache
491
+
492
+ 2. KV Namespaces (auto-provisioned by Wrangler v4):
493
+ - Required for MCP-I security features
494
+ - ✨ Automatically created on first deploy - no setup needed!
495
+ - Wrangler updates wrangler.toml with namespace IDs
496
+
497
+ πŸš€ Next Steps:
498
+ cd test-project-no-workspace
499
+ wrangler login # Login to Cloudflare first!
500
+ npm run dev # Start local development
501
+ npm run deploy # Deploy (KV auto-created!)
502
+
503
+
504
+ βœ“ src/__tests__/e2e/scaffolder-dependency-verification.test.ts (7 tests) 121ms
505
+ βœ“ src/__tests__/helpers/apply-identity-preset.test.ts (16 tests) 205ms
506
+ βœ“ src/__tests__/wrangler-v4-compatibility.test.ts (11 tests) 180ms
507
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with npm
508
+ 
509
+ πŸ“¦ Installing dependencies with npm...
510
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
511
+
512
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with yarn
513
+ 
514
+ πŸ“¦ Installing dependencies with yarn...
515
+ βœ“ Lockfile created (yarn.lock) - remember to commit it
516
+
517
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should install dependencies with pnpm
518
+ 
519
+ πŸ“¦ Installing dependencies with pnpm...
520
+ βœ“ Lockfile created (pnpm-lock.yaml) - remember to commit it
521
+
522
+ stdout | src/__tests__/helpers/install.test.ts > install > Dependency installation > should use correct working directory
523
+ 
524
+ πŸ“¦ Installing dependencies with npm...
525
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
526
+
527
+ (node:96974) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
528
+ (Use `node --trace-warnings ...` to show where the warning was created)
529
+ βœ“ src/__tests__/utils/check-node.test.ts (7 tests) 9ms
530
+ stderr | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should report correct package manager in log
531
+ ⚠️ Warning: No lockfile generated (pnpm-lock.yaml)
532
+
533
+ stdout | src/__tests__/helpers/install.test.ts > install > Install progress reporting > should check for lockfile after installation
534
+ 
535
+ πŸ“¦ Installing dependencies with npm...
536
+ βœ“ Lockfile created (package-lock.json) - remember to commit it
537
+
538
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
539
+ Failed to install dependencies with npm.
540
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should throw error when installation fails
541
+ 
542
+
543
+ πŸ“¦ Installing dependencies with npm...
544
+
545
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
546
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle network errors during installation
547
+ 
548
+ πŸ“¦ Installing dependencies with npm...
549
+
550
+ Failed to install dependencies with npm.
551
+
552
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
553
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle permission errors during installation
554
+ Failed to install dependencies with npm.
555
+ 
556
+ πŸ“¦ Installing dependencies with npm...
557
+
558
+
559
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should log error message when installation fails
560
+ 
561
+ πŸ“¦ Installing dependencies with npm...
562
+
563
+ stdout | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
564
+ 
565
+ stderr | src/__tests__/helpers/install.test.ts > install > Error handling > should handle invalid package manager gracefully
566
+ ⚠️ Warning: Unknown package manager "unknown", cannot check lockfile
567
+ πŸ“¦ Installing dependencies with unknown...
568
+
569
+
570
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when lockfile not created
571
+ 
572
+ πŸ“¦ Installing dependencies with npm...
573
+
574
+ stdout | src/__tests__/helpers/install.test.ts > install > Lockfile validation > should warn when package manager lockfile cannot be determined
575
+ 
576
+ πŸ“¦ Installing dependencies with custom...
577
+
578
+ βœ“ src/__tests__/helpers/rename.test.ts (6 tests) 8ms
579
+ βœ“ src/__tests__/helpers/install.test.ts (21 tests) 31ms
580
+ βœ“ src/__tests__/helpers/get-package-versions.test.ts (6 tests) 17ms
581
+ βœ“ test-cloudflare/tests/cache-invalidation.test.ts (18 tests) 6ms
582
+ βœ“ src/__tests__/helpers/kta-registration.test.ts (8 tests) 18ms
583
+ (node:96981) ExperimentalWarning: The Ed25519 Web Crypto API algorithm is an experimental feature and might change at any time
584
+ (Use `node --trace-warnings ...` to show where the warning was created)
585
+ βœ“ src/__tests__/helpers/generate-cloudflare-files.test.ts (26 tests | 1 skipped) 48ms
586
+ stdout | test-cloudflare/tests/session-management.test.ts > Session Management > Session Security > should not expose session data in logs
587
+ [Session] Created session: secure-session
588
+
589
+ βœ“ test-cloudflare/tests/session-management.test.ts (17 tests) 18ms
590
+ βœ“ src/__tests__/helpers/identity-manager.test.ts (16 tests) 19ms
591
+ βœ“ src/helpers/__tests__/generate-cloudflare-files.spec.ts (28 tests) 34ms
592
+ stderr | src/__tests__/helpers/fetch-xmcp-template.test.ts > fetchXMCPTemplate > falls back to default when next channel is unavailable
593
+ ⚠️ dist-tag 'next' not available for xmcp, falling back to ^0.3.1
594
+
595
+ βœ“ src/__tests__/helpers/fetch-xmcp-template.test.ts (3 tests) 15ms
596
+ βœ“ src/__tests__/helpers/fetch-cloudflare-mcpi-template.test.ts (25 tests) 306ms
597
+ βœ“ src/__tests__/cloudflare-template.test.ts (30 tests | 2 skipped) 323ms
598
+ βœ“ src/utils/__tests__/fetch-remote-config.test.ts (9 tests) 4ms
599
+ βœ“ src/__tests__/helpers/fetch-cloudflare-template.test.ts (4 tests) 10ms
600
+ βœ“ test-cloudflare/tests/cors-security.test.ts (29 tests) 4ms
601
+ βœ“ test-cloudflare/tests/delegation.test.ts (12 tests) 5ms
602
+ βœ“ src/__tests__/utils/validate-project-name.test.ts (29 tests) 8ms
603
+ βœ“ src/__tests__/effects/index.test.ts (5 tests) 4ms
604
+ βœ“ src/__tests__/utils/is-folder-empty.test.ts (21 tests) 11ms
605
+ stderr | src/helpers/__tests__/config-builder.spec.ts > buildConfigWithRemote > should fallback to local config when remote fetch fails
606
+ [RemoteConfig] Neither projectId nor agentDid provided
607
+
608
+ βœ“ src/helpers/__tests__/config-builder.spec.ts (12 tests) 5ms
609
+
610
+ ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯
611
+
612
+  FAIL  src/__tests__/helpers/generate-config.test.ts > generateConfig > Default values > should use default tools path
613
+ Error: ENOENT: no such file or directory, mkdir '/Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app/test-temp'
614
+  ❯ Object.module.exports.makeDirSync ../../node_modules/.pnpm/fs-extra@11.3.2/node_modules/fs-extra/lib/mkdirs/make-dir.js:23:13
615
+  ❯ src/__tests__/helpers/generate-config.test.ts:19:8
616
+  17|  // Ensure parent directory exists first to avoid race conditions
617
+  18|  const testTempDir = path.join(process.cwd(), 'test-temp');
618
+  19|  fs.ensureDirSync(testTempDir);
619
+  |  ^
620
+  20|  tempDir = path.join(testTempDir, `config-test-${Date.now()}-${Math…
621
+  21|  fs.ensureDirSync(tempDir);
622
+
623
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯
624
+
625
+  FAIL  src/__tests__/helpers/generate-config.test.ts > generateConfig > Default values > should use default development environment for identity
626
+ Error: ENOENT: no such file or directory, scandir '/Users/dylanhobbs/@kya-os/xmcp-i/packages/create-mcpi-app/test-temp'
627
+  ❯ src/__tests__/helpers/generate-config.test.ts:29:35
628
+  27|  }
629
+  28|  if (fs.existsSync(path.join(process.cwd(), 'test-temp'))) {
630
+  29|  const testTempContents = fs.readdirSync(path.join(process.cwd(),…
631
+  |  ^
632
+  30|  if (testTempContents.length === 0) {
633
+  31|  fs.removeSync(path.join(process.cwd(), 'test-temp'));
634
+
635
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯
636
+
637
+
638
+  Test Files  1 failed | 33 passed (34)
639
+  Tests  2 failed | 499 passed | 3 skipped (504)
640
+  Start at  03:04:49
641
+  Duration  737ms (transform 1.74s, setup 0ms, import 2.51s, tests 2.22s, environment 2ms)
642
+
643
+  ELIFECYCLE  Test failed. See above for more details.
@@ -113,7 +113,7 @@ export async function fetchCloudflareMcpiTemplate(targetDir, options) {
113
113
  "@kya-os/mcp-i-cloudflare": mcpICloudflareVersion,
114
114
  "@modelcontextprotocol/sdk": "1.24.0",
115
115
  agents: "0.2.30",
116
- hono: "4.10.3",
116
+ hono: "4.11.4",
117
117
  },
118
118
  devDependencies: {
119
119
  "@cloudflare/vitest-pool-workers": "0.5.41",
@@ -99,7 +99,7 @@ export async function generateCloudflareProjectFiles(options) {
99
99
  "@kya-os/mcp-i-cloudflare": mcpICloudflareVersion,
100
100
  "@modelcontextprotocol/sdk": "1.24.0",
101
101
  agents: "0.2.30",
102
- hono: "4.10.3",
102
+ hono: "4.11.4",
103
103
  },
104
104
  devDependencies: {
105
105
  "@cloudflare/vitest-pool-workers": "^0.5.41",
package/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/create-mcpi-app",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "Scaffold a new MCP-I application",
5
5
  "type": "module",
6
6
  "main": "./dist/helpers/index.js",
@@ -22,12 +22,21 @@
22
22
  "bin": {
23
23
  "create-mcpi-app": "./dist/index.js"
24
24
  },
25
+ "scripts": {
26
+ "build": "tsc && chmod +x dist/index.js",
27
+ "test": "vitest run",
28
+ "test:coverage": "vitest run --coverage",
29
+ "test:integration": "vitest run --config vitest.integration.config.ts --reporter=verbose",
30
+ "lint": "eslint .",
31
+ "clean": "rm -rf dist .turbo node_modules",
32
+ "prepublishOnly": "npm run build && node scripts/validate-dependencies.js && node scripts/validate-template-versions.js"
33
+ },
25
34
  "dependencies": {
26
35
  "@kya-os/cli": "^1.5.8",
27
36
  "@kya-os/cli-effects": "^1.0.19",
28
37
  "@kya-os/contracts": "^1.7.20",
29
- "@kya-os/mcp-i": "^1.7.10",
30
- "@kya-os/mcp-i-cloudflare": "^1.7.28",
38
+ "@kya-os/mcp-i": "^1.7.12",
39
+ "@kya-os/mcp-i-cloudflare": "^1.7.45",
31
40
  "base-x": "^5.0.0",
32
41
  "chalk": "^4.1.2",
33
42
  "commander": "^12.1.0",
@@ -56,13 +65,5 @@
56
65
  },
57
66
  "publishConfig": {
58
67
  "access": "public"
59
- },
60
- "scripts": {
61
- "build": "tsc && chmod +x dist/index.js",
62
- "test": "vitest run",
63
- "test:coverage": "vitest run --coverage",
64
- "test:integration": "vitest run --config vitest.integration.config.ts --reporter=verbose",
65
- "lint": "eslint .",
66
- "clean": "rm -rf dist .turbo node_modules"
67
68
  }
68
- }
69
+ }