@planu/cli 0.46.0 → 0.47.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.
Files changed (35) hide show
  1. package/dist/config/license-plans.json +1 -0
  2. package/dist/config/mcp-archetypes.json +872 -0
  3. package/dist/config/tool-groups.json +1 -0
  4. package/dist/engine/detectors/mcp-candidate-detector.d.ts +13 -0
  5. package/dist/engine/detectors/mcp-candidate-detector.d.ts.map +1 -0
  6. package/dist/engine/detectors/mcp-candidate-detector.js +245 -0
  7. package/dist/engine/detectors/mcp-candidate-detector.js.map +1 -0
  8. package/dist/tools/create-spec/mcp-layer-adapter.d.ts +11 -0
  9. package/dist/tools/create-spec/mcp-layer-adapter.d.ts.map +1 -0
  10. package/dist/tools/create-spec/mcp-layer-adapter.js +57 -0
  11. package/dist/tools/create-spec/mcp-layer-adapter.js.map +1 -0
  12. package/dist/tools/create-spec/spec-builder.d.ts.map +1 -1
  13. package/dist/tools/create-spec/spec-builder.js +7 -0
  14. package/dist/tools/create-spec/spec-builder.js.map +1 -1
  15. package/dist/tools/register-spec-tools/analysis-tools.d.ts.map +1 -1
  16. package/dist/tools/register-spec-tools/analysis-tools.js +10 -1
  17. package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
  18. package/dist/tools/suggest-mcp-server.d.ts +3 -0
  19. package/dist/tools/suggest-mcp-server.d.ts.map +1 -0
  20. package/dist/tools/suggest-mcp-server.js +86 -0
  21. package/dist/tools/suggest-mcp-server.js.map +1 -0
  22. package/dist/types/index.d.ts +1 -0
  23. package/dist/types/index.d.ts.map +1 -1
  24. package/dist/types/index.js +1 -0
  25. package/dist/types/index.js.map +1 -1
  26. package/dist/types/mcp-recommendation.d.ts +47 -0
  27. package/dist/types/mcp-recommendation.d.ts.map +1 -0
  28. package/dist/types/mcp-recommendation.js +3 -0
  29. package/dist/types/mcp-recommendation.js.map +1 -0
  30. package/dist/types/spec/core.d.ts +1 -0
  31. package/dist/types/spec/core.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/config/license-plans.json +1 -0
  34. package/src/config/mcp-archetypes.json +872 -0
  35. package/src/config/tool-groups.json +1 -0
@@ -0,0 +1,872 @@
1
+ {
2
+ "archetypes": [
3
+ {
4
+ "domain": "crm",
5
+ "displayName": "CRM / Customer Management",
6
+ "description": "Customer relationship management — contacts, deals, accounts, interactions",
7
+ "tools": [
8
+ {
9
+ "name": "search_contacts",
10
+ "description": "Search contacts by name, email, phone, or custom fields",
11
+ "inputHints": ["query: string", "limit?: number", "offset?: number"],
12
+ "sideEffects": ["database-read"],
13
+ "readOnly": true
14
+ },
15
+ {
16
+ "name": "create_contact",
17
+ "description": "Create a new contact with personal and company details",
18
+ "inputHints": [
19
+ "firstName: string",
20
+ "lastName: string",
21
+ "email: string",
22
+ "phone?: string",
23
+ "company?: string"
24
+ ],
25
+ "sideEffects": ["database-write", "audit-log"],
26
+ "readOnly": false
27
+ },
28
+ {
29
+ "name": "get_contact",
30
+ "description": "Retrieve a single contact by ID with full relationship data",
31
+ "inputHints": ["contactId: string", "includeDeals?: boolean", "includeNotes?: boolean"],
32
+ "sideEffects": ["database-read"],
33
+ "readOnly": true
34
+ },
35
+ {
36
+ "name": "update_contact",
37
+ "description": "Update fields on an existing contact record",
38
+ "inputHints": ["contactId: string", "fields: Record<string, unknown>"],
39
+ "sideEffects": ["database-write", "audit-log", "webhook-trigger"],
40
+ "readOnly": false
41
+ },
42
+ {
43
+ "name": "list_deals",
44
+ "description": "List deals with optional filtering by stage, owner, or value range",
45
+ "inputHints": [
46
+ "stage?: string",
47
+ "ownerId?: string",
48
+ "minValue?: number",
49
+ "maxValue?: number",
50
+ "limit?: number"
51
+ ],
52
+ "sideEffects": ["database-read"],
53
+ "readOnly": true
54
+ },
55
+ {
56
+ "name": "search_accounts",
57
+ "description": "Search company accounts by name, industry, or revenue range",
58
+ "inputHints": ["query: string", "industry?: string", "minRevenue?: number", "limit?: number"],
59
+ "sideEffects": ["database-read"],
60
+ "readOnly": true
61
+ }
62
+ ],
63
+ "resources": [
64
+ {
65
+ "uri": "entity://contacts/schema",
66
+ "name": "Contact Schema",
67
+ "description": "Schema definition for the Contact entity",
68
+ "mimeType": "application/json"
69
+ },
70
+ {
71
+ "uri": "entity://deals/schema",
72
+ "name": "Deal Schema",
73
+ "description": "Schema definition for the Deal entity including pipeline stages",
74
+ "mimeType": "application/json"
75
+ }
76
+ ],
77
+ "authHints": ["OAuth 2.1", "API key"],
78
+ "complianceHints": ["GDPR", "CCPA"]
79
+ },
80
+ {
81
+ "domain": "billing",
82
+ "displayName": "Billing / Subscriptions",
83
+ "description": "Invoice management, payment processing, subscription lifecycle",
84
+ "tools": [
85
+ {
86
+ "name": "create_invoice",
87
+ "description": "Create a new invoice for a customer with line items",
88
+ "inputHints": [
89
+ "customerId: string",
90
+ "lineItems: Array<{description: string, amount: number, quantity: number}>",
91
+ "dueDate: string",
92
+ "currency?: string"
93
+ ],
94
+ "sideEffects": ["database-write", "audit-log", "email-notification"],
95
+ "readOnly": false
96
+ },
97
+ {
98
+ "name": "list_invoices",
99
+ "description": "List invoices filtered by customer, status, or date range",
100
+ "inputHints": [
101
+ "customerId?: string",
102
+ "status?: string",
103
+ "fromDate?: string",
104
+ "toDate?: string",
105
+ "limit?: number"
106
+ ],
107
+ "sideEffects": ["database-read"],
108
+ "readOnly": true
109
+ },
110
+ {
111
+ "name": "get_invoice",
112
+ "description": "Retrieve a single invoice by ID with line items and payment history",
113
+ "inputHints": ["invoiceId: string"],
114
+ "sideEffects": ["database-read"],
115
+ "readOnly": true
116
+ },
117
+ {
118
+ "name": "record_payment",
119
+ "description": "Record a payment against an invoice",
120
+ "inputHints": ["invoiceId: string", "amount: number", "paymentMethod: string", "referenceId?: string"],
121
+ "sideEffects": ["database-write", "payment-gateway", "audit-log", "email-notification"],
122
+ "readOnly": false
123
+ },
124
+ {
125
+ "name": "list_subscriptions",
126
+ "description": "List active subscriptions with plan details and renewal dates",
127
+ "inputHints": ["customerId?: string", "planId?: string", "status?: string", "limit?: number"],
128
+ "sideEffects": ["database-read"],
129
+ "readOnly": true
130
+ },
131
+ {
132
+ "name": "cancel_subscription",
133
+ "description": "Cancel a subscription immediately or at end of billing period",
134
+ "inputHints": ["subscriptionId: string", "cancelAt?: string", "reason?: string"],
135
+ "sideEffects": ["database-write", "payment-gateway", "audit-log", "email-notification", "webhook-trigger"],
136
+ "readOnly": false
137
+ }
138
+ ],
139
+ "resources": [
140
+ {
141
+ "uri": "entity://invoices/schema",
142
+ "name": "Invoice Schema",
143
+ "description": "Schema definition for invoices including line items and statuses",
144
+ "mimeType": "application/json"
145
+ },
146
+ {
147
+ "uri": "entity://subscriptions/plans",
148
+ "name": "Subscription Plans",
149
+ "description": "Available subscription plans with pricing and feature sets",
150
+ "mimeType": "application/json"
151
+ }
152
+ ],
153
+ "authHints": ["OAuth 2.1", "API key"],
154
+ "complianceHints": ["PCI-DSS", "SOX"]
155
+ },
156
+ {
157
+ "domain": "inventory",
158
+ "displayName": "Inventory / Supply Chain",
159
+ "description": "Stock management, order fulfillment, warehouse operations, shipment tracking",
160
+ "tools": [
161
+ {
162
+ "name": "check_stock",
163
+ "description": "Check available stock for a product across warehouses",
164
+ "inputHints": ["productId: string", "warehouseId?: string", "includeReserved?: boolean"],
165
+ "sideEffects": ["database-read"],
166
+ "readOnly": true
167
+ },
168
+ {
169
+ "name": "create_order",
170
+ "description": "Create a fulfillment order with line items and shipping details",
171
+ "inputHints": [
172
+ "items: Array<{productId: string, quantity: number}>",
173
+ "shippingAddress: object",
174
+ "priority?: string"
175
+ ],
176
+ "sideEffects": ["database-write", "stock-reservation", "audit-log"],
177
+ "readOnly": false
178
+ },
179
+ {
180
+ "name": "get_order",
181
+ "description": "Retrieve order details including fulfillment status and tracking",
182
+ "inputHints": ["orderId: string"],
183
+ "sideEffects": ["database-read"],
184
+ "readOnly": true
185
+ },
186
+ {
187
+ "name": "track_shipment",
188
+ "description": "Get real-time tracking information for a shipment",
189
+ "inputHints": ["shipmentId: string", "trackingNumber?: string"],
190
+ "sideEffects": ["external-api-read"],
191
+ "readOnly": true
192
+ },
193
+ {
194
+ "name": "transfer_stock",
195
+ "description": "Transfer stock between warehouses",
196
+ "inputHints": ["productId: string", "quantity: number", "fromWarehouseId: string", "toWarehouseId: string"],
197
+ "sideEffects": ["database-write", "audit-log", "notification"],
198
+ "readOnly": false
199
+ },
200
+ {
201
+ "name": "get_warehouse_summary",
202
+ "description": "Get summary of stock levels and capacity for a warehouse",
203
+ "inputHints": ["warehouseId: string", "includeAlerts?: boolean"],
204
+ "sideEffects": ["database-read"],
205
+ "readOnly": true
206
+ }
207
+ ],
208
+ "resources": [
209
+ {
210
+ "uri": "entity://products/schema",
211
+ "name": "Product Schema",
212
+ "description": "Schema definition for product catalog entries",
213
+ "mimeType": "application/json"
214
+ },
215
+ {
216
+ "uri": "entity://warehouses/list",
217
+ "name": "Warehouse Registry",
218
+ "description": "List of available warehouses with location and capacity metadata",
219
+ "mimeType": "application/json"
220
+ }
221
+ ],
222
+ "authHints": ["API key", "mTLS"],
223
+ "complianceHints": ["SOC 2"]
224
+ },
225
+ {
226
+ "domain": "healthcare",
227
+ "displayName": "Healthcare / Clinical",
228
+ "description": "Patient records, appointments, lab results, clinical notes — HIPAA-regulated",
229
+ "tools": [
230
+ {
231
+ "name": "get_patient",
232
+ "description": "Retrieve patient demographics and summary medical record",
233
+ "inputHints": ["patientId: string", "includeMedications?: boolean", "includeAllergies?: boolean"],
234
+ "sideEffects": ["database-read", "audit-log"],
235
+ "readOnly": true
236
+ },
237
+ {
238
+ "name": "list_appointments",
239
+ "description": "List appointments for a patient or provider within a date range",
240
+ "inputHints": [
241
+ "patientId?: string",
242
+ "providerId?: string",
243
+ "fromDate: string",
244
+ "toDate: string",
245
+ "status?: string"
246
+ ],
247
+ "sideEffects": ["database-read"],
248
+ "readOnly": true
249
+ },
250
+ {
251
+ "name": "create_appointment",
252
+ "description": "Schedule a new appointment for a patient with a provider",
253
+ "inputHints": [
254
+ "patientId: string",
255
+ "providerId: string",
256
+ "dateTime: string",
257
+ "duration: number",
258
+ "type: string",
259
+ "reason?: string"
260
+ ],
261
+ "sideEffects": ["database-write", "calendar-sync", "sms-notification", "audit-log"],
262
+ "readOnly": false
263
+ },
264
+ {
265
+ "name": "get_lab_results",
266
+ "description": "Retrieve lab results for a patient, optionally filtered by test type or date",
267
+ "inputHints": ["patientId: string", "testType?: string", "fromDate?: string", "toDate?: string"],
268
+ "sideEffects": ["database-read", "audit-log"],
269
+ "readOnly": true
270
+ },
271
+ {
272
+ "name": "add_clinical_note",
273
+ "description": "Add a clinical note to a patient encounter record",
274
+ "inputHints": [
275
+ "patientId: string",
276
+ "encounterId: string",
277
+ "noteType: string",
278
+ "content: string",
279
+ "providerId: string"
280
+ ],
281
+ "sideEffects": ["database-write", "audit-log", "ehr-sync"],
282
+ "readOnly": false
283
+ }
284
+ ],
285
+ "resources": [
286
+ {
287
+ "uri": "entity://patients/schema",
288
+ "name": "Patient Schema",
289
+ "description": "FHIR-aligned patient resource schema definition",
290
+ "mimeType": "application/json"
291
+ },
292
+ {
293
+ "uri": "entity://encounters/schema",
294
+ "name": "Encounter Schema",
295
+ "description": "Clinical encounter schema with note types and code systems",
296
+ "mimeType": "application/json"
297
+ }
298
+ ],
299
+ "authHints": ["OAuth 2.1", "SMART on FHIR"],
300
+ "complianceHints": ["HIPAA", "HITECH", "HL7 FHIR"]
301
+ },
302
+ {
303
+ "domain": "ecommerce",
304
+ "displayName": "E-Commerce / Online Store",
305
+ "description": "Product catalog, shopping cart, order management, pricing and discounts",
306
+ "tools": [
307
+ {
308
+ "name": "search_products",
309
+ "description": "Search product catalog with filters for category, price, and availability",
310
+ "inputHints": [
311
+ "query: string",
312
+ "category?: string",
313
+ "minPrice?: number",
314
+ "maxPrice?: number",
315
+ "inStock?: boolean",
316
+ "limit?: number"
317
+ ],
318
+ "sideEffects": ["database-read", "search-index"],
319
+ "readOnly": true
320
+ },
321
+ {
322
+ "name": "get_product",
323
+ "description": "Retrieve full product details including variants, images, and reviews",
324
+ "inputHints": ["productId: string", "includeReviews?: boolean"],
325
+ "sideEffects": ["database-read"],
326
+ "readOnly": true
327
+ },
328
+ {
329
+ "name": "check_inventory",
330
+ "description": "Check real-time inventory for a product variant across locations",
331
+ "inputHints": ["productId: string", "variantId?: string", "locationId?: string"],
332
+ "sideEffects": ["database-read"],
333
+ "readOnly": true
334
+ },
335
+ {
336
+ "name": "create_order",
337
+ "description": "Place a new order with cart items and shipping details",
338
+ "inputHints": [
339
+ "customerId: string",
340
+ "items: Array<{productId: string, variantId: string, quantity: number}>",
341
+ "shippingAddress: object",
342
+ "paymentMethodId: string"
343
+ ],
344
+ "sideEffects": ["database-write", "payment-gateway", "stock-reservation", "email-notification", "audit-log"],
345
+ "readOnly": false
346
+ },
347
+ {
348
+ "name": "get_order_status",
349
+ "description": "Get current status and tracking info for an order",
350
+ "inputHints": ["orderId: string"],
351
+ "sideEffects": ["database-read"],
352
+ "readOnly": true
353
+ },
354
+ {
355
+ "name": "apply_discount",
356
+ "description": "Validate and apply a discount code to an order or cart",
357
+ "inputHints": ["code: string", "cartTotal: number", "items: Array<{productId: string, quantity: number}>"],
358
+ "sideEffects": ["database-read", "coupon-validation"],
359
+ "readOnly": true
360
+ }
361
+ ],
362
+ "resources": [
363
+ {
364
+ "uri": "entity://products/schema",
365
+ "name": "Product Schema",
366
+ "description": "Product catalog schema with variants, pricing, and media references",
367
+ "mimeType": "application/json"
368
+ },
369
+ {
370
+ "uri": "entity://orders/schema",
371
+ "name": "Order Schema",
372
+ "description": "Order lifecycle schema with statuses, line items, and fulfillment states",
373
+ "mimeType": "application/json"
374
+ }
375
+ ],
376
+ "authHints": ["OAuth 2.1", "API key"],
377
+ "complianceHints": ["PCI-DSS", "GDPR"]
378
+ },
379
+ {
380
+ "domain": "project-mgmt",
381
+ "displayName": "Project Management / Issue Tracking",
382
+ "description": "Issue tracking, sprint planning, boards, comments, and team collaboration",
383
+ "tools": [
384
+ {
385
+ "name": "search_issues",
386
+ "description": "Search issues by title, label, assignee, or status across projects",
387
+ "inputHints": [
388
+ "query: string",
389
+ "projectId?: string",
390
+ "status?: string",
391
+ "assigneeId?: string",
392
+ "labels?: string[]",
393
+ "limit?: number"
394
+ ],
395
+ "sideEffects": ["database-read"],
396
+ "readOnly": true
397
+ },
398
+ {
399
+ "name": "create_issue",
400
+ "description": "Create a new issue with title, description, assignee, and labels",
401
+ "inputHints": [
402
+ "projectId: string",
403
+ "title: string",
404
+ "description: string",
405
+ "assigneeId?: string",
406
+ "labels?: string[]",
407
+ "priority?: string",
408
+ "sprintId?: string"
409
+ ],
410
+ "sideEffects": ["database-write", "notification", "webhook-trigger"],
411
+ "readOnly": false
412
+ },
413
+ {
414
+ "name": "update_issue",
415
+ "description": "Update fields on an existing issue such as status, assignee, or priority",
416
+ "inputHints": ["issueId: string", "fields: Record<string, unknown>"],
417
+ "sideEffects": ["database-write", "notification", "webhook-trigger", "audit-log"],
418
+ "readOnly": false
419
+ },
420
+ {
421
+ "name": "list_sprints",
422
+ "description": "List sprints for a project with velocity and completion metrics",
423
+ "inputHints": ["projectId: string", "status?: string", "limit?: number"],
424
+ "sideEffects": ["database-read"],
425
+ "readOnly": true
426
+ },
427
+ {
428
+ "name": "add_comment",
429
+ "description": "Add a comment to an issue with optional mentions",
430
+ "inputHints": ["issueId: string", "body: string", "mentions?: string[]"],
431
+ "sideEffects": ["database-write", "notification"],
432
+ "readOnly": false
433
+ },
434
+ {
435
+ "name": "get_board",
436
+ "description": "Retrieve board columns with issue counts and WIP limits",
437
+ "inputHints": ["boardId: string", "includeIssues?: boolean"],
438
+ "sideEffects": ["database-read"],
439
+ "readOnly": true
440
+ }
441
+ ],
442
+ "resources": [
443
+ {
444
+ "uri": "entity://issues/schema",
445
+ "name": "Issue Schema",
446
+ "description": "Issue schema with statuses, priorities, labels, and custom field definitions",
447
+ "mimeType": "application/json"
448
+ },
449
+ {
450
+ "uri": "entity://projects/list",
451
+ "name": "Projects List",
452
+ "description": "Available projects with board configurations and team membership",
453
+ "mimeType": "application/json"
454
+ }
455
+ ],
456
+ "authHints": ["OAuth 2.1", "API key"],
457
+ "complianceHints": ["SOC 2"]
458
+ },
459
+ {
460
+ "domain": "social",
461
+ "displayName": "Social / Messaging",
462
+ "description": "Social feeds, posts, user profiles, direct messaging, notifications",
463
+ "tools": [
464
+ {
465
+ "name": "get_feed",
466
+ "description": "Retrieve the activity feed for the authenticated user or a topic",
467
+ "inputHints": ["userId?: string", "topic?: string", "cursor?: string", "limit?: number"],
468
+ "sideEffects": ["database-read"],
469
+ "readOnly": true
470
+ },
471
+ {
472
+ "name": "create_post",
473
+ "description": "Create a new post with text, media, and visibility settings",
474
+ "inputHints": ["content: string", "mediaUrls?: string[]", "visibility?: string", "tags?: string[]"],
475
+ "sideEffects": ["database-write", "media-processing", "notification", "feed-fanout"],
476
+ "readOnly": false
477
+ },
478
+ {
479
+ "name": "search_users",
480
+ "description": "Search user profiles by name, handle, or bio keywords",
481
+ "inputHints": ["query: string", "limit?: number", "offset?: number"],
482
+ "sideEffects": ["database-read", "search-index"],
483
+ "readOnly": true
484
+ },
485
+ {
486
+ "name": "send_message",
487
+ "description": "Send a direct message to a user or group conversation",
488
+ "inputHints": ["recipientId: string", "content: string", "conversationId?: string", "attachments?: string[]"],
489
+ "sideEffects": ["database-write", "push-notification", "websocket-broadcast"],
490
+ "readOnly": false
491
+ },
492
+ {
493
+ "name": "get_notifications",
494
+ "description": "Retrieve unread and recent notifications for the authenticated user",
495
+ "inputHints": ["unreadOnly?: boolean", "type?: string", "limit?: number"],
496
+ "sideEffects": ["database-read"],
497
+ "readOnly": true
498
+ }
499
+ ],
500
+ "resources": [
501
+ {
502
+ "uri": "entity://users/schema",
503
+ "name": "User Profile Schema",
504
+ "description": "User profile schema with privacy settings and relationship fields",
505
+ "mimeType": "application/json"
506
+ },
507
+ {
508
+ "uri": "entity://posts/schema",
509
+ "name": "Post Schema",
510
+ "description": "Post schema with media types, visibility levels, and engagement metrics",
511
+ "mimeType": "application/json"
512
+ }
513
+ ],
514
+ "authHints": ["OAuth 2.1", "JWT"],
515
+ "complianceHints": ["GDPR", "COPPA", "CCPA"]
516
+ },
517
+ {
518
+ "domain": "gaming",
519
+ "displayName": "Gaming / Multiplayer",
520
+ "description": "Player profiles, leaderboards, match history, lobbies, and scoring",
521
+ "tools": [
522
+ {
523
+ "name": "get_player",
524
+ "description": "Retrieve a player profile with stats, rank, and recent activity",
525
+ "inputHints": ["playerId: string", "includeStats?: boolean", "includeHistory?: boolean"],
526
+ "sideEffects": ["database-read"],
527
+ "readOnly": true
528
+ },
529
+ {
530
+ "name": "list_leaderboard",
531
+ "description": "Retrieve leaderboard rankings by game mode, season, or region",
532
+ "inputHints": ["gameMode: string", "season?: string", "region?: string", "limit?: number", "offset?: number"],
533
+ "sideEffects": ["cache-read"],
534
+ "readOnly": true
535
+ },
536
+ {
537
+ "name": "update_score",
538
+ "description": "Submit a score update for a player in a match or session",
539
+ "inputHints": ["playerId: string", "matchId: string", "score: number", "metadata?: Record<string, unknown>"],
540
+ "sideEffects": ["database-write", "leaderboard-update", "achievement-check"],
541
+ "readOnly": false
542
+ },
543
+ {
544
+ "name": "get_match",
545
+ "description": "Retrieve match details including players, scores, and replay data",
546
+ "inputHints": ["matchId: string", "includeReplay?: boolean"],
547
+ "sideEffects": ["database-read"],
548
+ "readOnly": true
549
+ },
550
+ {
551
+ "name": "create_lobby",
552
+ "description": "Create a multiplayer game lobby with configuration and invite links",
553
+ "inputHints": [
554
+ "gameMode: string",
555
+ "maxPlayers: number",
556
+ "isPrivate?: boolean",
557
+ "region?: string",
558
+ "settings?: Record<string, unknown>"
559
+ ],
560
+ "sideEffects": ["database-write", "matchmaking-queue", "websocket-broadcast"],
561
+ "readOnly": false
562
+ }
563
+ ],
564
+ "resources": [
565
+ {
566
+ "uri": "entity://players/schema",
567
+ "name": "Player Schema",
568
+ "description": "Player profile schema with rank tiers, stats categories, and progression fields",
569
+ "mimeType": "application/json"
570
+ },
571
+ {
572
+ "uri": "entity://game-modes/list",
573
+ "name": "Game Modes",
574
+ "description": "Available game modes with rules, scoring systems, and player limits",
575
+ "mimeType": "application/json"
576
+ }
577
+ ],
578
+ "authHints": ["OAuth 2.1", "JWT", "platform-specific tokens"],
579
+ "complianceHints": ["COPPA", "GDPR"]
580
+ },
581
+ {
582
+ "domain": "iot",
583
+ "displayName": "IoT / Device Management",
584
+ "description": "Device registry, telemetry, remote commands, sensor data, alerting",
585
+ "tools": [
586
+ {
587
+ "name": "list_devices",
588
+ "description": "List registered devices with status, firmware version, and location",
589
+ "inputHints": ["groupId?: string", "status?: string", "deviceType?: string", "limit?: number"],
590
+ "sideEffects": ["database-read"],
591
+ "readOnly": true
592
+ },
593
+ {
594
+ "name": "get_device_status",
595
+ "description": "Get real-time status and health metrics for a specific device",
596
+ "inputHints": ["deviceId: string", "includeMetrics?: boolean"],
597
+ "sideEffects": ["device-poll", "database-read"],
598
+ "readOnly": true
599
+ },
600
+ {
601
+ "name": "send_command",
602
+ "description": "Send a remote command to a device for execution",
603
+ "inputHints": [
604
+ "deviceId: string",
605
+ "command: string",
606
+ "payload?: Record<string, unknown>",
607
+ "timeout?: number"
608
+ ],
609
+ "sideEffects": ["device-write", "audit-log", "command-queue"],
610
+ "readOnly": false
611
+ },
612
+ {
613
+ "name": "get_sensor_data",
614
+ "description": "Retrieve time-series sensor data for a device within a time range",
615
+ "inputHints": [
616
+ "deviceId: string",
617
+ "sensorType: string",
618
+ "fromDate: string",
619
+ "toDate: string",
620
+ "aggregation?: string"
621
+ ],
622
+ "sideEffects": ["timeseries-read"],
623
+ "readOnly": true
624
+ },
625
+ {
626
+ "name": "create_alert",
627
+ "description": "Create an alert rule for device metrics or connectivity thresholds",
628
+ "inputHints": [
629
+ "deviceId: string",
630
+ "metric: string",
631
+ "condition: string",
632
+ "threshold: number",
633
+ "notificationChannels: string[]"
634
+ ],
635
+ "sideEffects": ["database-write", "alert-engine-config"],
636
+ "readOnly": false
637
+ }
638
+ ],
639
+ "resources": [
640
+ {
641
+ "uri": "entity://devices/schema",
642
+ "name": "Device Schema",
643
+ "description": "Device registry schema with capabilities, firmware, and connectivity fields",
644
+ "mimeType": "application/json"
645
+ },
646
+ {
647
+ "uri": "entity://sensors/types",
648
+ "name": "Sensor Types",
649
+ "description": "Supported sensor types with units, ranges, and calibration metadata",
650
+ "mimeType": "application/json"
651
+ }
652
+ ],
653
+ "authHints": ["mTLS", "API key", "device certificates"],
654
+ "complianceHints": ["SOC 2", "ISO 27001"]
655
+ },
656
+ {
657
+ "domain": "hr",
658
+ "displayName": "HR / People Operations",
659
+ "description": "Employee records, leave management, payroll, recruiting, and org structure",
660
+ "tools": [
661
+ {
662
+ "name": "list_employees",
663
+ "description": "List employees with optional filters by department, role, or status",
664
+ "inputHints": [
665
+ "departmentId?: string",
666
+ "role?: string",
667
+ "status?: string",
668
+ "limit?: number",
669
+ "offset?: number"
670
+ ],
671
+ "sideEffects": ["database-read"],
672
+ "readOnly": true
673
+ },
674
+ {
675
+ "name": "get_employee",
676
+ "description": "Retrieve full employee profile including compensation and org data",
677
+ "inputHints": ["employeeId: string", "includeCompensation?: boolean", "includeReports?: boolean"],
678
+ "sideEffects": ["database-read", "audit-log"],
679
+ "readOnly": true
680
+ },
681
+ {
682
+ "name": "create_leave_request",
683
+ "description": "Submit a leave request for an employee with type and date range",
684
+ "inputHints": [
685
+ "employeeId: string",
686
+ "leaveType: string",
687
+ "startDate: string",
688
+ "endDate: string",
689
+ "reason?: string"
690
+ ],
691
+ "sideEffects": ["database-write", "notification", "calendar-sync", "approval-workflow"],
692
+ "readOnly": false
693
+ },
694
+ {
695
+ "name": "get_payroll_summary",
696
+ "description": "Get payroll summary for a period including deductions and taxes",
697
+ "inputHints": ["employeeId?: string", "departmentId?: string", "period: string"],
698
+ "sideEffects": ["database-read", "audit-log"],
699
+ "readOnly": true
700
+ },
701
+ {
702
+ "name": "list_open_positions",
703
+ "description": "List open job positions with requirements and application counts",
704
+ "inputHints": ["departmentId?: string", "location?: string", "seniorityLevel?: string", "limit?: number"],
705
+ "sideEffects": ["database-read"],
706
+ "readOnly": true
707
+ }
708
+ ],
709
+ "resources": [
710
+ {
711
+ "uri": "entity://employees/schema",
712
+ "name": "Employee Schema",
713
+ "description": "Employee record schema with personal data, role, and org hierarchy fields",
714
+ "mimeType": "application/json"
715
+ },
716
+ {
717
+ "uri": "entity://leave-policies/list",
718
+ "name": "Leave Policies",
719
+ "description": "Available leave types with accrual rules, limits, and approval chains",
720
+ "mimeType": "application/json"
721
+ }
722
+ ],
723
+ "authHints": ["OAuth 2.1", "SAML"],
724
+ "complianceHints": ["GDPR", "SOX", "EEOC"]
725
+ },
726
+ {
727
+ "domain": "logistics",
728
+ "displayName": "Logistics / Freight",
729
+ "description": "Shipment creation, tracking, route optimization, warehouse operations, cost estimation",
730
+ "tools": [
731
+ {
732
+ "name": "create_shipment",
733
+ "description": "Create a new shipment with origin, destination, and package details",
734
+ "inputHints": [
735
+ "origin: object",
736
+ "destination: object",
737
+ "packages: Array<{weight: number, dimensions: object}>",
738
+ "serviceLevel: string",
739
+ "pickupDate?: string"
740
+ ],
741
+ "sideEffects": ["database-write", "carrier-api", "label-generation", "audit-log"],
742
+ "readOnly": false
743
+ },
744
+ {
745
+ "name": "track_shipment",
746
+ "description": "Get real-time tracking events and estimated delivery for a shipment",
747
+ "inputHints": ["shipmentId: string", "trackingNumber?: string"],
748
+ "sideEffects": ["external-api-read"],
749
+ "readOnly": true
750
+ },
751
+ {
752
+ "name": "list_routes",
753
+ "description": "List available shipping routes with transit times and carrier options",
754
+ "inputHints": ["originRegion: string", "destinationRegion: string", "serviceLevel?: string"],
755
+ "sideEffects": ["database-read", "carrier-api"],
756
+ "readOnly": true
757
+ },
758
+ {
759
+ "name": "get_warehouse_status",
760
+ "description": "Get operational status of a warehouse including capacity and throughput",
761
+ "inputHints": ["warehouseId: string", "includeWorkers?: boolean"],
762
+ "sideEffects": ["database-read"],
763
+ "readOnly": true
764
+ },
765
+ {
766
+ "name": "calculate_shipping_cost",
767
+ "description": "Calculate shipping cost estimate for given package dimensions and route",
768
+ "inputHints": [
769
+ "origin: object",
770
+ "destination: object",
771
+ "packages: Array<{weight: number, dimensions: object}>",
772
+ "serviceLevel: string"
773
+ ],
774
+ "sideEffects": ["carrier-api", "rate-calculation"],
775
+ "readOnly": true
776
+ }
777
+ ],
778
+ "resources": [
779
+ {
780
+ "uri": "entity://shipments/schema",
781
+ "name": "Shipment Schema",
782
+ "description": "Shipment schema with package specs, carrier codes, and lifecycle statuses",
783
+ "mimeType": "application/json"
784
+ },
785
+ {
786
+ "uri": "entity://carriers/list",
787
+ "name": "Carrier Registry",
788
+ "description": "Supported carriers with service levels, coverage zones, and rate tiers",
789
+ "mimeType": "application/json"
790
+ }
791
+ ],
792
+ "authHints": ["API key", "mTLS"],
793
+ "complianceHints": ["C-TPAT", "AEO", "IATA"]
794
+ },
795
+ {
796
+ "domain": "media",
797
+ "displayName": "Media / CMS",
798
+ "description": "Content management, publishing workflows, media assets, categories, and analytics",
799
+ "tools": [
800
+ {
801
+ "name": "search_content",
802
+ "description": "Search content by title, tags, author, or full-text across the CMS",
803
+ "inputHints": [
804
+ "query: string",
805
+ "contentType?: string",
806
+ "status?: string",
807
+ "authorId?: string",
808
+ "tags?: string[]",
809
+ "limit?: number"
810
+ ],
811
+ "sideEffects": ["database-read", "search-index"],
812
+ "readOnly": true
813
+ },
814
+ {
815
+ "name": "get_content",
816
+ "description": "Retrieve a content item by ID with body, metadata, and revision history",
817
+ "inputHints": ["contentId: string", "version?: number", "includeRevisions?: boolean"],
818
+ "sideEffects": ["database-read"],
819
+ "readOnly": true
820
+ },
821
+ {
822
+ "name": "publish_content",
823
+ "description": "Publish or schedule content for publication with distribution options",
824
+ "inputHints": [
825
+ "contentId: string",
826
+ "publishAt?: string",
827
+ "channels?: string[]",
828
+ "notifySubscribers?: boolean"
829
+ ],
830
+ "sideEffects": ["database-write", "cdn-purge", "notification", "feed-update", "audit-log"],
831
+ "readOnly": false
832
+ },
833
+ {
834
+ "name": "list_categories",
835
+ "description": "List content categories and taxonomy with item counts",
836
+ "inputHints": ["parentId?: string", "includeCount?: boolean"],
837
+ "sideEffects": ["database-read"],
838
+ "readOnly": true
839
+ },
840
+ {
841
+ "name": "get_analytics",
842
+ "description": "Get engagement analytics for a content item or category over a period",
843
+ "inputHints": [
844
+ "contentId?: string",
845
+ "categoryId?: string",
846
+ "fromDate: string",
847
+ "toDate: string",
848
+ "metrics?: string[]"
849
+ ],
850
+ "sideEffects": ["analytics-read"],
851
+ "readOnly": true
852
+ }
853
+ ],
854
+ "resources": [
855
+ {
856
+ "uri": "entity://content/schema",
857
+ "name": "Content Schema",
858
+ "description": "Content item schema with body formats, metadata fields, and workflow states",
859
+ "mimeType": "application/json"
860
+ },
861
+ {
862
+ "uri": "entity://taxonomy/tree",
863
+ "name": "Taxonomy Tree",
864
+ "description": "Category and tag taxonomy hierarchy with content type associations",
865
+ "mimeType": "application/json"
866
+ }
867
+ ],
868
+ "authHints": ["OAuth 2.1", "API key"],
869
+ "complianceHints": ["GDPR", "DMCA"]
870
+ }
871
+ ]
872
+ }