@kya-os/create-mcpi-app 1.3.5-canary.9 → 1.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/dist/.tsbuildinfo +1 -1
- package/dist/helpers/create.d.ts.map +1 -1
- package/dist/helpers/create.js +1 -0
- package/dist/helpers/create.js.map +1 -1
- package/dist/helpers/fetch-cloudflare-mcpi-template.d.ts +1 -0
- package/dist/helpers/fetch-cloudflare-mcpi-template.d.ts.map +1 -1
- package/dist/helpers/fetch-cloudflare-mcpi-template.js +242 -62
- package/dist/helpers/fetch-cloudflare-mcpi-template.js.map +1 -1
- package/dist/helpers/fetch-mcpi-template.d.ts +1 -0
- package/dist/helpers/fetch-mcpi-template.d.ts.map +1 -1
- package/dist/helpers/fetch-mcpi-template.js +22 -1
- package/dist/helpers/fetch-mcpi-template.js.map +1 -1
- package/dist/helpers/generate-identity.d.ts +38 -0
- package/dist/helpers/generate-identity.d.ts.map +1 -0
- package/dist/helpers/generate-identity.js +105 -0
- package/dist/helpers/generate-identity.js.map +1 -0
- package/dist/helpers/identity-manager.d.ts +23 -0
- package/dist/helpers/identity-manager.d.ts.map +1 -0
- package/dist/helpers/identity-manager.js +123 -0
- package/dist/helpers/identity-manager.js.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4CrD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4CrD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA+I3B"}
|
package/dist/helpers/create.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAKA,UAAU,6BAA6B;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwnCf"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { generateIdentity } from "./generate-identity.js";
|
|
4
5
|
/**
|
|
5
6
|
* Scaffold Cloudflare Worker MCP server
|
|
6
7
|
* Uses McpAgent from agents/mcp for MCP protocol support
|
|
7
8
|
*/
|
|
8
9
|
export async function fetchCloudflareMcpiTemplate(projectPath, options = {}) {
|
|
9
|
-
const { packageManager = "npm", projectName = path.basename(projectPath), apikey } = options;
|
|
10
|
+
const { packageManager = "npm", projectName = path.basename(projectPath), apikey, skipIdentity = false } = options;
|
|
10
11
|
// Sanitize project name for class names
|
|
11
12
|
const className = projectName
|
|
12
13
|
.replace(/[^a-zA-Z0-9]/g, "")
|
|
@@ -47,7 +48,7 @@ export async function fetchCloudflareMcpiTemplate(projectPath, options = {}) {
|
|
|
47
48
|
"type-check": "tsc --noEmit",
|
|
48
49
|
},
|
|
49
50
|
dependencies: {
|
|
50
|
-
"@kya-os/mcp-i-cloudflare": "
|
|
51
|
+
"@kya-os/mcp-i-cloudflare": "^1.2.3-canary.13",
|
|
51
52
|
"@modelcontextprotocol/sdk": "^1.19.1",
|
|
52
53
|
"agents": "^0.2.8",
|
|
53
54
|
"hono": "^4.9.10",
|
|
@@ -114,7 +115,7 @@ export const greetTool = {
|
|
|
114
115
|
fs.writeFileSync(path.join(toolsDir, "greet.ts"), greetToolContent);
|
|
115
116
|
// Create mcpi-runtime-config.ts for AgentShield integration
|
|
116
117
|
const runtimeConfigContent = `import type { MCPIRuntimeConfig } from "@kya-os/mcp-i-cloudflare";
|
|
117
|
-
// import { CloudflareRuntime } from "@kya-os/mcp-i-cloudflare"; // Uncomment to enable Tool Protection Service
|
|
118
|
+
${apikey ? 'import { CloudflareRuntime } from "@kya-os/mcp-i-cloudflare"; // Auto-enabled: Tool Protection Service' : '// import { CloudflareRuntime } from "@kya-os/mcp-i-cloudflare"; // Uncomment to enable Tool Protection Service'}
|
|
118
119
|
|
|
119
120
|
/**
|
|
120
121
|
* Runtime configuration for MCP-I server
|
|
@@ -126,11 +127,13 @@ export const greetTool = {
|
|
|
126
127
|
* or .env (Node.js). Configure them there:
|
|
127
128
|
* - AGENTSHIELD_API_URL: AgentShield API base URL
|
|
128
129
|
* - AGENTSHIELD_API_KEY: Your AgentShield API key
|
|
129
|
-
* - AGENTSHIELD_PROJECT_ID: Your AgentShield project ID
|
|
130
130
|
* - MCPI_ENV: "development" or "production"
|
|
131
|
+
*
|
|
132
|
+
* Note: The service fetches tool protection config by agent DID automatically.
|
|
133
|
+
* No project ID configuration needed!
|
|
131
134
|
*/
|
|
132
|
-
export function getRuntimeConfig(): MCPIRuntimeConfig {
|
|
133
|
-
|
|
135
|
+
export function getRuntimeConfig(env: any): MCPIRuntimeConfig {
|
|
136
|
+
// Accept env parameter to work in both Node.js (process.env) and Cloudflare Workers (worker env)
|
|
134
137
|
|
|
135
138
|
return {
|
|
136
139
|
// Identity configuration
|
|
@@ -160,6 +163,7 @@ export function getRuntimeConfig(): MCPIRuntimeConfig {
|
|
|
160
163
|
// Delegation verification (AgentShield API)
|
|
161
164
|
delegation: {
|
|
162
165
|
enabled: true,
|
|
166
|
+
enforceDelegations: true, // ✅ NEW: Enable enforcement of delegation requirements
|
|
163
167
|
verifier: {
|
|
164
168
|
type: "agentshield-api",
|
|
165
169
|
agentshield: {
|
|
@@ -201,38 +205,55 @@ export function getRuntimeConfig(): MCPIRuntimeConfig {
|
|
|
201
205
|
}
|
|
202
206
|
},
|
|
203
207
|
|
|
204
|
-
// 🆕
|
|
208
|
+
// 🆕 Dynamic Tool Protection Service (Dashboard-Controlled)
|
|
205
209
|
//
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
// - Changes apply in real-time (5-minute cache)
|
|
209
|
-
// - No code changes or redeployments needed
|
|
210
|
+
// When AgentShield API key is configured, tool delegation requirements
|
|
211
|
+
// are fetched from the dashboard in real-time (5-minute cache).
|
|
210
212
|
//
|
|
211
|
-
//
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
// 4. Deploy and test by toggling delegation in the dashboard
|
|
213
|
+
// Benefits:
|
|
214
|
+
// - Toggle "Require Delegation" for any tool in dashboard - no code changes
|
|
215
|
+
// - Changes apply in real-time (5-minute cache via KV)
|
|
216
|
+
// - Automatic tool discovery from proof submissions
|
|
216
217
|
//
|
|
217
|
-
//
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
218
|
+
// Performance: 1 API call per 5 minutes, all other requests use KV cache
|
|
219
|
+
${apikey ? `toolProtectionService: env.TOOL_PROTECTION_KV
|
|
220
|
+
? CloudflareRuntime.createToolProtectionService(
|
|
221
|
+
env.TOOL_PROTECTION_KV, // KV namespace from wrangler.toml
|
|
222
|
+
{
|
|
223
|
+
apiUrl: env.AGENTSHIELD_API_URL || "https://kya.vouched.id",
|
|
224
|
+
apiKey: env.AGENTSHIELD_API_KEY || "",
|
|
225
|
+
cacheTtl: 300000, // 5 minutes (in milliseconds)
|
|
226
|
+
debug: env.MCPI_ENV === "development",
|
|
227
|
+
// Fallback to local config if API unavailable
|
|
228
|
+
fallbackConfig: {
|
|
229
|
+
toolProtections: {
|
|
230
|
+
greet: {
|
|
231
|
+
requiresDelegation: false,
|
|
232
|
+
requiredScopes: ["greet:execute"],
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
}
|
|
237
|
+
)
|
|
238
|
+
: undefined,` : `// toolProtectionService: env.TOOL_PROTECTION_KV
|
|
239
|
+
// ? CloudflareRuntime.createToolProtectionService(
|
|
240
|
+
// env.TOOL_PROTECTION_KV,
|
|
241
|
+
// {
|
|
242
|
+
// apiUrl: env.AGENTSHIELD_API_URL || "https://kya.vouched.id",
|
|
243
|
+
// apiKey: env.AGENTSHIELD_API_KEY || "",
|
|
244
|
+
// cacheTtl: 300000, // 5 minutes
|
|
245
|
+
// debug: env.MCPI_ENV === "development",
|
|
246
|
+
// fallbackConfig: {
|
|
247
|
+
// toolProtections: {
|
|
248
|
+
// greet: {
|
|
249
|
+
// requiresDelegation: false,
|
|
250
|
+
// requiredScopes: ["greet:execute"],
|
|
251
|
+
// },
|
|
252
|
+
// },
|
|
231
253
|
// },
|
|
232
|
-
// }
|
|
233
|
-
//
|
|
234
|
-
// }
|
|
235
|
-
// ),
|
|
254
|
+
// }
|
|
255
|
+
// )
|
|
256
|
+
// : undefined,`}
|
|
236
257
|
|
|
237
258
|
// Audit logging
|
|
238
259
|
audit: {
|
|
@@ -240,8 +261,6 @@ export function getRuntimeConfig(): MCPIRuntimeConfig {
|
|
|
240
261
|
}
|
|
241
262
|
};
|
|
242
263
|
}
|
|
243
|
-
|
|
244
|
-
export default getRuntimeConfig();
|
|
245
264
|
`;
|
|
246
265
|
fs.writeFileSync(path.join(srcDir, "mcpi-runtime-config.ts"), runtimeConfigContent);
|
|
247
266
|
// Create main index.ts using McpAgent with MCP-I runtime
|
|
@@ -268,9 +287,6 @@ export class ${pascalClassName}MCP extends McpAgent {
|
|
|
268
287
|
super(state, env);
|
|
269
288
|
this.env = env;
|
|
270
289
|
|
|
271
|
-
// Load runtime configuration for AgentShield integration
|
|
272
|
-
const runtimeConfig = getRuntimeConfig();
|
|
273
|
-
|
|
274
290
|
// Create CloudflareEnv adapter to map prefixed KV bindings to expected names
|
|
275
291
|
// This allows multiple agents to be deployed without KV namespace conflicts
|
|
276
292
|
const mappedEnv: CloudflareEnv = {
|
|
@@ -278,20 +294,33 @@ export class ${pascalClassName}MCP extends McpAgent {
|
|
|
278
294
|
NONCE_CACHE: (env as any).${className.toUpperCase()}_NONCE_CACHE,
|
|
279
295
|
PROOF_ARCHIVE: (env as any).${className.toUpperCase()}_PROOF_ARCHIVE,
|
|
280
296
|
IDENTITY_STORAGE: (env as any).${className.toUpperCase()}_IDENTITY_STORAGE,
|
|
297
|
+
DELEGATION_STORAGE: (env as any).${className.toUpperCase()}_DELEGATION_STORAGE,
|
|
281
298
|
TOOL_PROTECTION_KV: (env as any).${className.toUpperCase()}_TOOL_PROTECTION_KV,
|
|
282
299
|
// Pass through environment variables unchanged
|
|
283
300
|
MCP_IDENTITY_PRIVATE_KEY: (env as any).MCP_IDENTITY_PRIVATE_KEY,
|
|
284
301
|
MCP_IDENTITY_PUBLIC_KEY: (env as any).MCP_IDENTITY_PUBLIC_KEY,
|
|
285
302
|
MCP_IDENTITY_AGENT_DID: (env as any).MCP_IDENTITY_AGENT_DID,
|
|
303
|
+
// Pass through other env vars for runtime config
|
|
304
|
+
AGENTSHIELD_API_URL: (env as any).AGENTSHIELD_API_URL,
|
|
305
|
+
AGENTSHIELD_API_KEY: (env as any).AGENTSHIELD_API_KEY,
|
|
306
|
+
MCPI_ENV: (env as any).MCPI_ENV,
|
|
307
|
+
MCP_SERVER_URL: (env as any).MCP_SERVER_URL,
|
|
308
|
+
// Pass Durable Object state for identity persistence
|
|
309
|
+
_durableObjectState: state,
|
|
286
310
|
};
|
|
287
311
|
|
|
312
|
+
// Load runtime configuration for AgentShield integration
|
|
313
|
+
// Pass mappedEnv so it can access KV bindings with standard names
|
|
314
|
+
const runtimeConfig = getRuntimeConfig(mappedEnv);
|
|
315
|
+
|
|
288
316
|
// Initialize MCP-I runtime for cryptographic proofs and identity
|
|
289
317
|
this.mcpiRuntime = createCloudflareRuntime({
|
|
290
318
|
env: mappedEnv,
|
|
291
319
|
audit: {
|
|
292
320
|
enabled: runtimeConfig.audit?.enabled ?? true,
|
|
293
321
|
logFunction: runtimeConfig.audit?.logFunction || ((record) => console.log('[MCP-I Audit]', record))
|
|
294
|
-
}
|
|
322
|
+
},
|
|
323
|
+
toolProtectionService: runtimeConfig.toolProtectionService
|
|
295
324
|
});
|
|
296
325
|
|
|
297
326
|
// Initialize proof archive if PROOF_ARCHIVE KV is available
|
|
@@ -346,16 +375,16 @@ export class ${pascalClassName}MCP extends McpAgent {
|
|
|
346
375
|
meta: proof.meta // Already has all required fields
|
|
347
376
|
}],
|
|
348
377
|
// ✅ NEW: Optional context for dashboard integration
|
|
349
|
-
context:
|
|
350
|
-
toolCalls: [toolCallContext]
|
|
351
|
-
|
|
352
|
-
// Fallback if context not available from runtime
|
|
353
|
-
toolCalls: [{
|
|
378
|
+
context: {
|
|
379
|
+
toolCalls: toolCallContext ? [toolCallContext] : [{
|
|
380
|
+
// Fallback if context not available from runtime
|
|
354
381
|
tool: toolName,
|
|
355
382
|
args: args,
|
|
356
383
|
result: result,
|
|
357
384
|
scopeId: proof.meta.scopeId || \`\${toolName}:execute\`
|
|
358
|
-
}]
|
|
385
|
+
}],
|
|
386
|
+
// ✅ NEW: MCP server URL for tool discovery (optional, only needed once)
|
|
387
|
+
mcpServerUrl: this.env.MCP_SERVER_URL
|
|
359
388
|
}
|
|
360
389
|
};
|
|
361
390
|
|
|
@@ -364,7 +393,8 @@ export class ${pascalClassName}MCP extends McpAgent {
|
|
|
364
393
|
sessionId: proof.meta.sessionId,
|
|
365
394
|
jwsFormat: proof.jws.split('.').length === 3 ? 'valid (3 parts)' : 'invalid',
|
|
366
395
|
contextTool: requestBody.context.toolCalls[0]?.tool,
|
|
367
|
-
contextScopeId: requestBody.context.toolCalls[0]?.scopeId
|
|
396
|
+
contextScopeId: requestBody.context.toolCalls[0]?.scopeId,
|
|
397
|
+
mcpServerUrl: requestBody.context.mcpServerUrl || 'not-set'
|
|
368
398
|
});
|
|
369
399
|
|
|
370
400
|
const response = await fetch(\`\${apiUrl}/api/v1/bouncer/proofs\`, {
|
|
@@ -507,6 +537,110 @@ app.get("/health", (c) => c.json({
|
|
|
507
537
|
transport: { sse: '/sse', streamableHttp: '/mcp' }
|
|
508
538
|
}));
|
|
509
539
|
|
|
540
|
+
/**
|
|
541
|
+
* Admin endpoint to clear tool protection cache
|
|
542
|
+
*
|
|
543
|
+
* This allows AgentShield dashboard to invalidate cached tool protection
|
|
544
|
+
* config immediately after changing delegation requirements.
|
|
545
|
+
*
|
|
546
|
+
* The API key is validated by making a test call to AgentShield API.
|
|
547
|
+
*
|
|
548
|
+
* Usage:
|
|
549
|
+
* POST /admin/clear-cache
|
|
550
|
+
* Headers: Authorization: Bearer <AGENTSHIELD_ADMIN_API_KEY>
|
|
551
|
+
* Body: { "agent_did": "did:key:z6Mk..." }
|
|
552
|
+
*
|
|
553
|
+
* Response:
|
|
554
|
+
* { "success": true, "message": "Cache cleared", "agent_did": "..." }
|
|
555
|
+
*/
|
|
556
|
+
app.post("/admin/clear-cache", async (c) => {
|
|
557
|
+
const env = c.env as any;
|
|
558
|
+
|
|
559
|
+
// Parse request body first to get agent_did
|
|
560
|
+
const body = await c.req.json().catch(() => ({}));
|
|
561
|
+
const agentDid = body.agent_did;
|
|
562
|
+
|
|
563
|
+
if (!agentDid || typeof agentDid !== 'string') {
|
|
564
|
+
return c.json({
|
|
565
|
+
success: false,
|
|
566
|
+
error: "Bad Request - agent_did required in body"
|
|
567
|
+
}, 400);
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
// Extract API key from Authorization header
|
|
571
|
+
const authHeader = c.req.header("Authorization");
|
|
572
|
+
if (!authHeader || !authHeader.startsWith("Bearer ")) {
|
|
573
|
+
return c.json({
|
|
574
|
+
success: false,
|
|
575
|
+
error: "Unauthorized - Missing or invalid Authorization header"
|
|
576
|
+
}, 401);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
const apiKey = authHeader.slice(7); // Remove "Bearer " prefix
|
|
580
|
+
|
|
581
|
+
// Validate API key by making a test call to AgentShield
|
|
582
|
+
// Use the bouncer config endpoint as the validation mechanism
|
|
583
|
+
const agentShieldUrl = env.AGENTSHIELD_API_URL || "https://kya.vouched.id";
|
|
584
|
+
const validationUrl = \`\${agentShieldUrl}/api/v1/bouncer/config?agent_did=\${encodeURIComponent(agentDid)}\`;
|
|
585
|
+
|
|
586
|
+
try {
|
|
587
|
+
const validationResponse = await fetch(validationUrl, {
|
|
588
|
+
method: 'GET',
|
|
589
|
+
headers: {
|
|
590
|
+
'Content-Type': 'application/json',
|
|
591
|
+
'Authorization': \`Bearer \${apiKey}\`
|
|
592
|
+
}
|
|
593
|
+
});
|
|
594
|
+
|
|
595
|
+
if (!validationResponse.ok) {
|
|
596
|
+
console.warn('[Admin] API key validation failed:', validationResponse.status);
|
|
597
|
+
return c.json({
|
|
598
|
+
success: false,
|
|
599
|
+
error: "Unauthorized - Invalid API key"
|
|
600
|
+
}, 401);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
// API key is valid, proceed to clear cache
|
|
604
|
+
console.log('[Admin] API key validated successfully');
|
|
605
|
+
} catch (error) {
|
|
606
|
+
console.error('[Admin] API key validation error:', error);
|
|
607
|
+
return c.json({
|
|
608
|
+
success: false,
|
|
609
|
+
error: "Failed to validate API key with AgentShield"
|
|
610
|
+
}, 500);
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
// Clear cache from KV
|
|
614
|
+
// Cache key format matches ToolProtectionService: \`tool-protection:\${agentDid}\`
|
|
615
|
+
const cacheKey = \`tool-protection:\${agentDid}\`;
|
|
616
|
+
const kvNamespace = env.${className.toUpperCase()}_TOOL_PROTECTION_KV;
|
|
617
|
+
|
|
618
|
+
if (!kvNamespace) {
|
|
619
|
+
return c.json({
|
|
620
|
+
success: false,
|
|
621
|
+
error: "Tool protection KV namespace not configured"
|
|
622
|
+
}, 500);
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
try {
|
|
626
|
+
await kvNamespace.delete(cacheKey);
|
|
627
|
+
console.log('[Admin] Cache cleared for agent:', agentDid.slice(0, 20) + '...');
|
|
628
|
+
|
|
629
|
+
return c.json({
|
|
630
|
+
success: true,
|
|
631
|
+
message: "Cache cleared successfully. Next tool call will fetch fresh config from AgentShield.",
|
|
632
|
+
agent_did: agentDid,
|
|
633
|
+
cache_key: cacheKey
|
|
634
|
+
});
|
|
635
|
+
} catch (error) {
|
|
636
|
+
console.error('[Admin] Failed to clear cache:', error);
|
|
637
|
+
return c.json({
|
|
638
|
+
success: false,
|
|
639
|
+
error: "Internal error clearing cache"
|
|
640
|
+
}, 500);
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
|
|
510
644
|
app.mount("/sse", ${pascalClassName}MCP.serveSSE("/sse").fetch, { replaceRequest: false });
|
|
511
645
|
app.mount("/mcp", ${pascalClassName}MCP.serve("/mcp").fetch, { replaceRequest: false });
|
|
512
646
|
|
|
@@ -578,25 +712,25 @@ id = "your_identity_kv_namespace_id" # Replace with actual namespace ID
|
|
|
578
712
|
binding = "${className.toUpperCase()}_DELEGATION_STORAGE"
|
|
579
713
|
id = "your_delegation_kv_namespace_id" # Replace with actual namespace ID
|
|
580
714
|
|
|
581
|
-
# KV Namespace for tool protection config (OPTIONAL for dashboard-controlled delegation)
|
|
715
|
+
# KV Namespace for tool protection config (${apikey ? 'ENABLED' : 'OPTIONAL'} for dashboard-controlled delegation)
|
|
582
716
|
#
|
|
583
|
-
# 🆕
|
|
717
|
+
# 🆕 Enables dynamic tool protection configuration from AgentShield dashboard
|
|
584
718
|
# Caches which tools require user delegation based on dashboard toggle switches
|
|
585
719
|
#
|
|
586
720
|
# Benefits:
|
|
587
721
|
# - Control tool permissions from AgentShield dashboard without code changes
|
|
588
|
-
# - Update delegation requirements in real-time
|
|
589
|
-
# -
|
|
590
|
-
#
|
|
591
|
-
# Run: npm run kv:create-tool-protection (creates TOOL_PROTECTION_KV namespace)
|
|
592
|
-
# Then replace the id below with the namespace ID from the output
|
|
722
|
+
# - Update delegation requirements in real-time (5-minute cache)
|
|
723
|
+
# - No redeployments needed to change tool permissions
|
|
593
724
|
#
|
|
594
|
-
#
|
|
595
|
-
#
|
|
725
|
+
# Setup:
|
|
726
|
+
# 1. Run: npm run kv:create-tool-protection
|
|
727
|
+
# 2. Copy the namespace ID from output
|
|
728
|
+
# 3. Replace "your_tool_protection_kv_id" below with the actual ID
|
|
729
|
+
# 4. Deploy and toggle delegation in AgentShield dashboard
|
|
596
730
|
#
|
|
597
|
-
[[kv_namespaces]]
|
|
598
|
-
binding = "${className.toUpperCase()}_TOOL_PROTECTION_KV"
|
|
599
|
-
id = "your_tool_protection_kv_id" # Replace with actual namespace ID
|
|
731
|
+
${apikey ? '' : '# '}[[kv_namespaces]]
|
|
732
|
+
${apikey ? '' : '# '}binding = "${className.toUpperCase()}_TOOL_PROTECTION_KV"
|
|
733
|
+
${apikey ? '' : '# '}id = "your_tool_protection_kv_id" # Replace with actual namespace ID
|
|
600
734
|
|
|
601
735
|
[vars]
|
|
602
736
|
XMCP_I_TS_SKEW_SEC = "120"
|
|
@@ -606,10 +740,57 @@ XMCP_I_SESSION_TTL = "1800"
|
|
|
606
740
|
# ${apikey ? 'Configure' : 'Uncomment and configure'} these variables to enable proof submission to AgentShield
|
|
607
741
|
AGENTSHIELD_API_URL = "https://kya.vouched.id"
|
|
608
742
|
${apikey ? `AGENTSHIELD_API_KEY = "${apikey}" # Provided via --apikey flag` : '# AGENTSHIELD_API_KEY = "sk_your_api_key_here" # Get from https://kya.vouched.id/dashboard'}
|
|
609
|
-
# AGENTSHIELD_PROJECT_ID = "your-project-id"
|
|
610
743
|
MCPI_ENV = "development"
|
|
744
|
+
|
|
745
|
+
# Optional: MCP Server URL for tool discovery
|
|
746
|
+
# Uncomment to explicitly set your MCP server URL (auto-detected if not set)
|
|
747
|
+
# MCP_SERVER_URL = "https://your-worker.workers.dev/mcp"
|
|
611
748
|
`;
|
|
612
749
|
fs.writeFileSync(path.join(projectPath, "wrangler.toml"), wranglerContent);
|
|
750
|
+
// Generate persistent identity for Cloudflare Worker
|
|
751
|
+
if (!skipIdentity) {
|
|
752
|
+
console.log(chalk.cyan("🔐 Generating persistent identity..."));
|
|
753
|
+
try {
|
|
754
|
+
const identity = await generateIdentity();
|
|
755
|
+
// Read existing wrangler.toml
|
|
756
|
+
const wranglerPath = path.join(projectPath, "wrangler.toml");
|
|
757
|
+
let wranglerTomlContent = fs.readFileSync(wranglerPath, "utf8");
|
|
758
|
+
// Find [vars] section and add identity environment variables
|
|
759
|
+
const varsMatch = wranglerTomlContent.match(/\[vars\]/);
|
|
760
|
+
if (varsMatch) {
|
|
761
|
+
const insertPosition = varsMatch.index + varsMatch[0].length;
|
|
762
|
+
const identityVars = `
|
|
763
|
+
# Persistent Identity (generated by create-mcpi-app)
|
|
764
|
+
# SECURITY: For production, use \`wrangler secret put\` instead of storing in wrangler.toml
|
|
765
|
+
# Development: These values work for local testing and dev deployments
|
|
766
|
+
MCP_IDENTITY_AGENT_DID = "${identity.did}"
|
|
767
|
+
MCP_IDENTITY_PRIVATE_KEY = "${identity.privateKey}"
|
|
768
|
+
MCP_IDENTITY_PUBLIC_KEY = "${identity.publicKey}"
|
|
769
|
+
|
|
770
|
+
`;
|
|
771
|
+
wranglerTomlContent =
|
|
772
|
+
wranglerTomlContent.slice(0, insertPosition) +
|
|
773
|
+
identityVars +
|
|
774
|
+
wranglerTomlContent.slice(insertPosition);
|
|
775
|
+
// Write updated wrangler.toml
|
|
776
|
+
fs.writeFileSync(wranglerPath, wranglerTomlContent);
|
|
777
|
+
console.log(chalk.green("✅ Generated persistent identity"));
|
|
778
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
779
|
+
console.log(chalk.dim(` Keys stored in wrangler.toml [vars] section`));
|
|
780
|
+
console.log();
|
|
781
|
+
console.log(chalk.yellow("⚠️ Security Note:"));
|
|
782
|
+
console.log(chalk.dim(" For production, move secrets to wrangler using:"));
|
|
783
|
+
console.log(chalk.cyan(" $ wrangler secret put MCP_IDENTITY_PRIVATE_KEY"));
|
|
784
|
+
console.log();
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
catch (error) {
|
|
788
|
+
console.log(chalk.yellow("⚠️ Failed to generate identity:"), error.message);
|
|
789
|
+
console.log(chalk.dim(" You can generate one later with:"));
|
|
790
|
+
console.log(chalk.cyan(" $ npx @kya-os/create-mcpi-app regenerate-identity"));
|
|
791
|
+
console.log();
|
|
792
|
+
}
|
|
793
|
+
}
|
|
613
794
|
// Create tsconfig.json
|
|
614
795
|
const tsconfigContent = {
|
|
615
796
|
compilerOptions: {
|
|
@@ -833,7 +1014,6 @@ This project is configured to send cryptographic proofs to AgentShield for audit
|
|
|
833
1014
|
[vars]
|
|
834
1015
|
AGENTSHIELD_API_URL = "https://kya.vouched.id"
|
|
835
1016
|
AGENTSHIELD_API_KEY = "sk_your_actual_key_here" # ← Replace this
|
|
836
|
-
AGENTSHIELD_PROJECT_ID = "your-project-id" # ← Replace this
|
|
837
1017
|
MCPI_ENV = "development"
|
|
838
1018
|
\`\`\`
|
|
839
1019
|
|
|
@@ -928,7 +1108,7 @@ Or simply don't configure the \`AGENTSHIELD_API_KEY\` environment variable.
|
|
|
928
1108
|
if (apikey) {
|
|
929
1109
|
console.log(chalk.green("🔑 AgentShield API key configured in wrangler.toml"));
|
|
930
1110
|
console.log(chalk.dim(" Your API key has been added to the [vars] section"));
|
|
931
|
-
console.log(chalk.dim("
|
|
1111
|
+
console.log(chalk.dim(" Tool protection enforcement is ready to use!"));
|
|
932
1112
|
console.log();
|
|
933
1113
|
}
|
|
934
1114
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AAOA,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA0Lf"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { generateIdentity } from "./generate-identity.js";
|
|
4
5
|
/**
|
|
5
6
|
* Scaffold MCP-I project using @kya-os/mcp-i package
|
|
6
7
|
* This creates a standalone MCP server with built-in identity features
|
|
7
8
|
*/
|
|
8
9
|
export async function fetchMCPITemplate(projectPath, options = {}) {
|
|
9
|
-
const { mcpiVersion = "^1.3.2", packageManager = "npm" } = options;
|
|
10
|
+
const { mcpiVersion = "^1.3.2", packageManager = "npm", skipIdentity = false } = options;
|
|
10
11
|
try {
|
|
11
12
|
console.log(chalk.blue(`📦 Setting up MCP-I project with @kya-os/mcp-i@${mcpiVersion}...`));
|
|
12
13
|
// Create package.json matching our working test-mcpi structure
|
|
@@ -150,6 +151,26 @@ MCP-I server with cryptographic identity built-in.
|
|
|
150
151
|
`;
|
|
151
152
|
fs.writeFileSync(path.join(projectPath, "README.md"), readmeContent);
|
|
152
153
|
console.log(chalk.green("✅ MCP-I project structure created"));
|
|
154
|
+
// Generate persistent identity for Node.js MCP-I server
|
|
155
|
+
if (!skipIdentity) {
|
|
156
|
+
console.log(chalk.cyan("🔐 Generating persistent identity..."));
|
|
157
|
+
try {
|
|
158
|
+
const identity = await generateIdentity();
|
|
159
|
+
// Create .mcpi directory
|
|
160
|
+
const mcpiDir = path.join(projectPath, ".mcpi");
|
|
161
|
+
fs.ensureDirSync(mcpiDir);
|
|
162
|
+
// Save identity to .mcpi/identity.json
|
|
163
|
+
const identityPath = path.join(mcpiDir, "identity.json");
|
|
164
|
+
fs.writeJsonSync(identityPath, identity, { spaces: 2 });
|
|
165
|
+
console.log(chalk.green("✅ Generated persistent identity"));
|
|
166
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
167
|
+
console.log(chalk.dim(` Saved to: .mcpi/identity.json`));
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.log(chalk.yellow("⚠️ Failed to generate identity:"), error.message);
|
|
171
|
+
console.log(chalk.dim(" You can generate identity later by running: npm run init"));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
153
174
|
}
|
|
154
175
|
catch (error) {
|
|
155
176
|
console.error(chalk.red("Failed to set up MCP-I project:"), error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"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"}
|