fmea-api-mcp-server 1.1.38 → 1.1.40

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/index.js CHANGED
@@ -28,7 +28,7 @@ class ApiDocsServer {
28
28
  constructor() {
29
29
  this.server = new Server({
30
30
  name: "api-docs-mcp",
31
- version: "1.1.38",
31
+ version: "1.1.40",
32
32
  }, {
33
33
  capabilities: {
34
34
  resources: {},
package/dist/synonyms.js CHANGED
@@ -60,6 +60,7 @@ export const RESOURCE_ALIASES = {
60
60
  'process-symbol': ['process symbol', 'process symbols', 'flow chart symbol', 'flowchart symbol', 'process flow'], // [R30] Process flow chart symbols
61
61
  'additional-info': ['additional info', 'additional information', 'extra info', 'supplementary info', 'custom field', 'custom attribute', 'form field'], // [R31] Additional info template management
62
62
  'notice': ['notice', 'notices', 'announcement', 'bulletin', 'notification'], // [R32] Notice CRUD and visibility
63
+ 'tree-search': ['tree search', 'tree query', 'structure search', 'pattern search', 'subtree match', 'anchor pattern', 'context completion', 'reference node'], // [R35] Tree search query
63
64
  };
64
65
  export const SYNONYM_GROUPS = {
65
66
  // Read / Retrieve
@@ -13,11 +13,11 @@ export class ScoreCalculator {
13
13
  // [R17] Related Resources Whitelist (Bidirectional validity)
14
14
  // These pairs are considered "safe" and will NOT trigger a mismatch penalty.
15
15
  static RELATED_RESOURCES = {
16
- 'block-diagram': ['block-node', 'node'],
16
+ 'block-diagram': ['block-node', 'node', 'tree-search'], // [R35]
17
17
  'block-node': ['block-diagram'],
18
18
  'fault-tree': ['failure-mode'],
19
19
  'failure-mode': ['fault-tree', 'fmm-diagram'], // FTA contains failure modes, FMM is a diagram view
20
- 'fmm-diagram': ['failure-mode'], // [R19] FMM diagram is closely related to failure modes
20
+ 'fmm-diagram': ['failure-mode', 'tree-search'], // [R19] [R35]
21
21
  'project': ['document', 'file', 'member', 'join-request', 'worksheet', 'block-diagram'], // Project contains everything
22
22
  'knowledge': ['category'],
23
23
  'category': ['knowledge'],
@@ -27,6 +27,7 @@ export class ScoreCalculator {
27
27
  'system': ['context-version'],
28
28
  'evaluation': ['significance-criteria'], // [R33]
29
29
  'significance-criteria': ['evaluation'], // [R33]
30
+ 'tree-search': ['block-diagram', 'fmm-diagram', 'failure-mode'], // [R35] Tree search spans FMM and block-diagram domains
30
31
  'join-request': ['project', 'user', 'member'],
31
32
  'admin-user': ['user'], // [R19]
32
33
  'user': ['admin-user'] // [R19]
@@ -29,6 +29,15 @@
29
29
  "schema": {
30
30
  "type": "string"
31
31
  }
32
+ },
33
+ {
34
+ "name": "useSynonym",
35
+ "in": "query",
36
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
37
+ "schema": {
38
+ "type": "boolean",
39
+ "default": true
40
+ }
32
41
  }
33
42
  ],
34
43
  "requestBody": null,
@@ -112,6 +121,15 @@
112
121
  "schema": {
113
122
  "type": "string"
114
123
  }
124
+ },
125
+ {
126
+ "name": "useSynonym",
127
+ "in": "query",
128
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
129
+ "schema": {
130
+ "type": "boolean",
131
+ "default": true
132
+ }
115
133
  }
116
134
  ],
117
135
  "requestBody": null,
@@ -336,6 +354,15 @@
336
354
  "schema": {
337
355
  "type": "string"
338
356
  }
357
+ },
358
+ {
359
+ "name": "useSynonym",
360
+ "in": "query",
361
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
362
+ "schema": {
363
+ "type": "boolean",
364
+ "default": true
365
+ }
339
366
  }
340
367
  ],
341
368
  "requestBody": null,
@@ -821,6 +848,15 @@
821
848
  "schema": {
822
849
  "type": "string"
823
850
  }
851
+ },
852
+ {
853
+ "name": "useSynonym",
854
+ "in": "query",
855
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
856
+ "schema": {
857
+ "type": "boolean",
858
+ "default": true
859
+ }
824
860
  }
825
861
  ],
826
862
  "requestBody": null,
@@ -333,10 +333,19 @@
333
333
  "type": "string"
334
334
  }
335
335
  },
336
+ {
337
+ "name": "useSynonym",
338
+ "in": "query",
339
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
340
+ "schema": {
341
+ "type": "boolean",
342
+ "default": true
343
+ }
344
+ },
336
345
  {
337
346
  "name": "page",
338
347
  "in": "query",
339
- "description": "Page number (0 = all, default: 1)",
348
+ "description": "Page number (default: 1)",
340
349
  "schema": {
341
350
  "type": "integer",
342
351
  "default": 1,
@@ -346,7 +355,7 @@
346
355
  {
347
356
  "name": "size",
348
357
  "in": "query",
349
- "description": "Page size (default: 50)",
358
+ "description": "Page size (default: 50, max: 1000)",
350
359
  "schema": {
351
360
  "type": "integer",
352
361
  "default": 50,
@@ -448,6 +457,15 @@
448
457
  "type": "string"
449
458
  }
450
459
  },
460
+ {
461
+ "name": "useSynonym",
462
+ "in": "query",
463
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
464
+ "schema": {
465
+ "type": "boolean",
466
+ "default": true
467
+ }
468
+ },
451
469
  {
452
470
  "name": "page",
453
471
  "in": "query",
@@ -21,10 +21,19 @@
21
21
  "type": "string"
22
22
  }
23
23
  },
24
+ {
25
+ "name": "useSynonym",
26
+ "in": "query",
27
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
28
+ "schema": {
29
+ "type": "boolean",
30
+ "default": true
31
+ }
32
+ },
24
33
  {
25
34
  "name": "page",
26
35
  "in": "query",
27
- "description": "Page number (0 = all, default: 1)",
36
+ "description": "Page number (default: 1)",
28
37
  "schema": {
29
38
  "type": "integer",
30
39
  "default": 1,
@@ -34,7 +43,7 @@
34
43
  {
35
44
  "name": "size",
36
45
  "in": "query",
37
- "description": "Page size (default: 50)",
46
+ "description": "Page size (default: 50, max: 1000)",
38
47
  "schema": {
39
48
  "type": "integer",
40
49
  "default": 50,
@@ -490,6 +490,15 @@
490
490
  "type": "string"
491
491
  }
492
492
  },
493
+ {
494
+ "name": "useSynonym",
495
+ "in": "query",
496
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
497
+ "schema": {
498
+ "type": "boolean",
499
+ "default": true
500
+ }
501
+ },
493
502
  {
494
503
  "name": "failureModeSearch",
495
504
  "in": "query",
@@ -521,7 +530,7 @@
521
530
  {
522
531
  "name": "page",
523
532
  "in": "query",
524
- "description": "Page number (0 = all, default: 1)",
533
+ "description": "Page number (default: 1)",
525
534
  "schema": {
526
535
  "type": "integer",
527
536
  "default": 1,
@@ -531,7 +540,7 @@
531
540
  {
532
541
  "name": "size",
533
542
  "in": "query",
534
- "description": "Page size (default: 50)",
543
+ "description": "Page size (default: 50, max: 1000)",
535
544
  "schema": {
536
545
  "type": "integer",
537
546
  "default": 50,
@@ -659,6 +668,15 @@
659
668
  "type": "string"
660
669
  }
661
670
  },
671
+ {
672
+ "name": "useSynonym",
673
+ "in": "query",
674
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
675
+ "schema": {
676
+ "type": "boolean",
677
+ "default": true
678
+ }
679
+ },
662
680
  {
663
681
  "name": "failureModeSearch",
664
682
  "in": "query",
@@ -55,6 +55,15 @@
55
55
  "type": "string"
56
56
  }
57
57
  },
58
+ {
59
+ "name": "useSynonym",
60
+ "in": "query",
61
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
62
+ "schema": {
63
+ "type": "boolean",
64
+ "default": true
65
+ }
66
+ },
58
67
  {
59
68
  "name": "fmeaType",
60
69
  "in": "query",
@@ -82,7 +91,7 @@
82
91
  {
83
92
  "name": "page",
84
93
  "in": "query",
85
- "description": "Page number (0 = all, default: 1)",
94
+ "description": "Page number (default: 1)",
86
95
  "schema": {
87
96
  "type": "integer",
88
97
  "default": 1,
@@ -92,7 +101,7 @@
92
101
  {
93
102
  "name": "size",
94
103
  "in": "query",
95
- "description": "Page size (default: 50)",
104
+ "description": "Page size (default: 50, max: 1000)",
96
105
  "schema": {
97
106
  "type": "integer",
98
107
  "default": 50,
@@ -397,6 +406,15 @@
397
406
  "type": "string"
398
407
  }
399
408
  },
409
+ {
410
+ "name": "useSynonym",
411
+ "in": "query",
412
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
413
+ "schema": {
414
+ "type": "boolean",
415
+ "default": true
416
+ }
417
+ },
400
418
  {
401
419
  "name": "fmeaType",
402
420
  "in": "query",
@@ -424,7 +442,7 @@
424
442
  {
425
443
  "name": "page",
426
444
  "in": "query",
427
- "description": "Page number (0 = all, default: 1)",
445
+ "description": "Page number (default: 1)",
428
446
  "schema": {
429
447
  "type": "integer",
430
448
  "default": 1,
@@ -434,7 +452,7 @@
434
452
  {
435
453
  "name": "size",
436
454
  "in": "query",
437
- "description": "Page size (default: 50)",
455
+ "description": "Page size (default: 50, max: 1000)",
438
456
  "schema": {
439
457
  "type": "integer",
440
458
  "default": 50,
@@ -670,6 +688,15 @@
670
688
  "schema": {
671
689
  "type": "string"
672
690
  }
691
+ },
692
+ {
693
+ "name": "useSynonym",
694
+ "in": "query",
695
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
696
+ "schema": {
697
+ "type": "boolean",
698
+ "default": true
699
+ }
673
700
  }
674
701
  ],
675
702
  "responses": {
@@ -1080,9 +1107,19 @@
1080
1107
  {
1081
1108
  "name": "q",
1082
1109
  "in": "query",
1110
+ "description": "Unified keyword for high-item titles",
1083
1111
  "schema": {
1084
1112
  "type": "string"
1085
1113
  }
1114
+ },
1115
+ {
1116
+ "name": "useSynonym",
1117
+ "in": "query",
1118
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
1119
+ "schema": {
1120
+ "type": "boolean",
1121
+ "default": true
1122
+ }
1086
1123
  }
1087
1124
  ],
1088
1125
  "responses": {
@@ -37,6 +37,15 @@
37
37
  "type": "string"
38
38
  }
39
39
  },
40
+ {
41
+ "name": "useSynonym",
42
+ "in": "query",
43
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
44
+ "schema": {
45
+ "type": "boolean",
46
+ "default": true
47
+ }
48
+ },
40
49
  {
41
50
  "name": "scope",
42
51
  "in": "query",
@@ -73,7 +82,7 @@
73
82
  {
74
83
  "name": "page",
75
84
  "in": "query",
76
- "description": "Page number (0 = all, default: 1)",
85
+ "description": "Page number (default: 1)",
77
86
  "schema": {
78
87
  "type": "integer",
79
88
  "default": 1,
@@ -83,7 +92,7 @@
83
92
  {
84
93
  "name": "size",
85
94
  "in": "query",
86
- "description": "Page size (default: 50)",
95
+ "description": "Page size (default: 50, max: 1000)",
87
96
  "schema": {
88
97
  "type": "integer",
89
98
  "default": 50,
@@ -8,7 +8,7 @@
8
8
  "method": "GET",
9
9
  "operationId": "searchFailureModes",
10
10
  "summary": "Search failure modes globally",
11
- "description": "Searches failure modes across all projects in the system. Supports keyword search (q), scope filtering (my/division/all), project-level filters (projectId, projectName, fmeaType, status), and sorting (sort=name,asc or sort=rpn,desc). Returns paged results with project summary information and S/O/D cause data.",
11
+ "description": "Searches failure modes across all projects in the system. Supports keyword search (q, optional, comma-separated with synonym expansion), project-level filters (projectId, projectName, fmeaType, status), and sorting (sort=name,asc or sort=rpn,desc). Returns paged results with project summary information and S/O/D cause data.",
12
12
  "tags": [
13
13
  "Search"
14
14
  ],
@@ -16,7 +16,7 @@
16
16
  {
17
17
  "name": "q",
18
18
  "in": "query",
19
- "description": "Search keyword for failure mode names (required, max 100 characters)",
19
+ "description": "Search keyword for failure mode names (optional, max 100 characters, comma-separated OR search with synonym expansion)",
20
20
  "schema": {
21
21
  "type": "string"
22
22
  }
@@ -72,7 +72,7 @@
72
72
  {
73
73
  "name": "page",
74
74
  "in": "query",
75
- "description": "Page number (0 = all, default: 1)",
75
+ "description": "Page number (default: 1)",
76
76
  "schema": {
77
77
  "type": "integer",
78
78
  "default": 1,
@@ -82,13 +82,22 @@
82
82
  {
83
83
  "name": "size",
84
84
  "in": "query",
85
- "description": "Page size (default: 50)",
85
+ "description": "Page size (default: 50, max: 1000)",
86
86
  "schema": {
87
87
  "type": "integer",
88
88
  "default": 50,
89
89
  "format": "int32"
90
90
  }
91
91
  },
92
+ {
93
+ "name": "useSynonym",
94
+ "in": "query",
95
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
96
+ "schema": {
97
+ "type": "boolean",
98
+ "default": true
99
+ }
100
+ },
92
101
  {
93
102
  "name": "projectId",
94
103
  "in": "query",
@@ -121,6 +130,9 @@
121
130
  "name": {
122
131
  "type": "string"
123
132
  },
133
+ "blockDiagramId": {
134
+ "type": "string"
135
+ },
124
136
  "blockType": {
125
137
  "type": "string",
126
138
  "enum": [
@@ -371,7 +383,7 @@
371
383
  {
372
384
  "name": "page",
373
385
  "in": "query",
374
- "description": "Page number (0 = all, default: 1)",
386
+ "description": "Page number (default: 1)",
375
387
  "schema": {
376
388
  "type": "integer",
377
389
  "default": 1,
@@ -381,13 +393,22 @@
381
393
  {
382
394
  "name": "size",
383
395
  "in": "query",
384
- "description": "Page size (default: 50)",
396
+ "description": "Page size (default: 50, max: 1000)",
385
397
  "schema": {
386
398
  "type": "integer",
387
399
  "default": 50,
388
400
  "format": "int32"
389
401
  }
390
402
  },
403
+ {
404
+ "name": "useSynonym",
405
+ "in": "query",
406
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
407
+ "schema": {
408
+ "type": "boolean",
409
+ "default": true
410
+ }
411
+ },
391
412
  {
392
413
  "name": "sort",
393
414
  "in": "query",
@@ -682,6 +703,15 @@
682
703
  "type": "string"
683
704
  }
684
705
  },
706
+ {
707
+ "name": "useSynonym",
708
+ "in": "query",
709
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
710
+ "schema": {
711
+ "type": "boolean",
712
+ "default": true
713
+ }
714
+ },
685
715
  {
686
716
  "name": "aiId",
687
717
  "in": "query",
@@ -20,6 +20,15 @@
20
20
  "schema": {
21
21
  "type": "string"
22
22
  }
23
+ },
24
+ {
25
+ "name": "useSynonym",
26
+ "in": "query",
27
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
28
+ "schema": {
29
+ "type": "boolean",
30
+ "default": true
31
+ }
23
32
  }
24
33
  ],
25
34
  "requestBody": null,
@@ -76,7 +76,7 @@
76
76
  "method": "GET",
77
77
  "operationId": "list_11",
78
78
  "summary": "List synonym groups",
79
- "description": "Returns synonym groups with optional keyword filtering and paging. Use page=0 to retrieve all groups without paging.",
79
+ "description": "Returns synonym groups with optional keyword filtering and paging.",
80
80
  "tags": [
81
81
  "Synonym"
82
82
  ],
@@ -89,10 +89,19 @@
89
89
  "type": "string"
90
90
  }
91
91
  },
92
+ {
93
+ "name": "useSynonym",
94
+ "in": "query",
95
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
96
+ "schema": {
97
+ "type": "boolean",
98
+ "default": true
99
+ }
100
+ },
92
101
  {
93
102
  "name": "page",
94
103
  "in": "query",
95
- "description": "Page number (0 = all, default: 1)",
104
+ "description": "Page number (default: 1)",
96
105
  "schema": {
97
106
  "type": "integer",
98
107
  "default": 1,
@@ -102,7 +111,7 @@
102
111
  {
103
112
  "name": "size",
104
113
  "in": "query",
105
- "description": "Page size (default: 50)",
114
+ "description": "Page size (default: 50, max: 1000)",
106
115
  "schema": {
107
116
  "type": "integer",
108
117
  "default": 50,
@@ -51,6 +51,15 @@
51
51
  "type": "string"
52
52
  }
53
53
  },
54
+ {
55
+ "name": "useSynonym",
56
+ "in": "query",
57
+ "description": "Whether to expand q with synonym dictionary terms (default: true)",
58
+ "schema": {
59
+ "type": "boolean",
60
+ "default": true
61
+ }
62
+ },
54
63
  {
55
64
  "name": "divisionId",
56
65
  "in": "query",