@bryan-thompson/inspector-assessment 1.6.0 → 1.7.1

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 (76) hide show
  1. package/cli/build/assess-full.js +528 -0
  2. package/cli/build/assess-security.js +342 -0
  3. package/client/dist/assets/{OAuthCallback-ZcXdfhZQ.js → OAuthCallback-cGhwkoyY.js} +1 -1
  4. package/client/dist/assets/{OAuthDebugCallback-xt1SlIHS.js → OAuthDebugCallback-2rmUqser.js} +1 -1
  5. package/client/dist/assets/{index-B3lTiDVe.js → index-BnFixpvH.js} +4 -4
  6. package/client/dist/index.html +1 -1
  7. package/client/lib/lib/assessmentTypes.d.ts +670 -0
  8. package/client/lib/lib/assessmentTypes.d.ts.map +1 -0
  9. package/client/lib/lib/assessmentTypes.js +220 -0
  10. package/client/lib/lib/aupPatterns.d.ts +63 -0
  11. package/client/lib/lib/aupPatterns.d.ts.map +1 -0
  12. package/client/lib/lib/aupPatterns.js +344 -0
  13. package/client/lib/lib/prohibitedLibraries.d.ts +76 -0
  14. package/client/lib/lib/prohibitedLibraries.d.ts.map +1 -0
  15. package/client/lib/lib/prohibitedLibraries.js +364 -0
  16. package/client/lib/lib/securityPatterns.d.ts +64 -0
  17. package/client/lib/lib/securityPatterns.d.ts.map +1 -0
  18. package/client/lib/lib/securityPatterns.js +453 -0
  19. package/client/lib/services/assessment/AssessmentOrchestrator.d.ts +88 -0
  20. package/client/lib/services/assessment/AssessmentOrchestrator.d.ts.map +1 -0
  21. package/client/lib/services/assessment/AssessmentOrchestrator.js +418 -0
  22. package/client/lib/services/assessment/ResponseValidator.d.ts +69 -0
  23. package/client/lib/services/assessment/ResponseValidator.d.ts.map +1 -0
  24. package/client/lib/services/assessment/ResponseValidator.js +1038 -0
  25. package/client/lib/services/assessment/TestDataGenerator.d.ts +86 -0
  26. package/client/lib/services/assessment/TestDataGenerator.d.ts.map +1 -0
  27. package/client/lib/services/assessment/TestDataGenerator.js +669 -0
  28. package/client/lib/services/assessment/TestScenarioEngine.d.ts +91 -0
  29. package/client/lib/services/assessment/TestScenarioEngine.d.ts.map +1 -0
  30. package/client/lib/services/assessment/TestScenarioEngine.js +505 -0
  31. package/client/lib/services/assessment/ToolClassifier.d.ts +61 -0
  32. package/client/lib/services/assessment/ToolClassifier.d.ts.map +1 -0
  33. package/client/lib/services/assessment/ToolClassifier.js +349 -0
  34. package/client/lib/services/assessment/lib/claudeCodeBridge.d.ts +160 -0
  35. package/client/lib/services/assessment/lib/claudeCodeBridge.d.ts.map +1 -0
  36. package/client/lib/services/assessment/lib/claudeCodeBridge.js +357 -0
  37. package/client/lib/services/assessment/modules/AUPComplianceAssessor.d.ts +100 -0
  38. package/client/lib/services/assessment/modules/AUPComplianceAssessor.d.ts.map +1 -0
  39. package/client/lib/services/assessment/modules/AUPComplianceAssessor.js +474 -0
  40. package/client/lib/services/assessment/modules/BaseAssessor.d.ts +71 -0
  41. package/client/lib/services/assessment/modules/BaseAssessor.d.ts.map +1 -0
  42. package/client/lib/services/assessment/modules/BaseAssessor.js +171 -0
  43. package/client/lib/services/assessment/modules/DocumentationAssessor.d.ts +45 -0
  44. package/client/lib/services/assessment/modules/DocumentationAssessor.d.ts.map +1 -0
  45. package/client/lib/services/assessment/modules/DocumentationAssessor.js +355 -0
  46. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts +25 -0
  47. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.d.ts.map +1 -0
  48. package/client/lib/services/assessment/modules/ErrorHandlingAssessor.js +564 -0
  49. package/client/lib/services/assessment/modules/FunctionalityAssessor.d.ts +20 -0
  50. package/client/lib/services/assessment/modules/FunctionalityAssessor.d.ts.map +1 -0
  51. package/client/lib/services/assessment/modules/FunctionalityAssessor.js +253 -0
  52. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts +70 -0
  53. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.d.ts.map +1 -0
  54. package/client/lib/services/assessment/modules/MCPSpecComplianceAssessor.js +508 -0
  55. package/client/lib/services/assessment/modules/ManifestValidationAssessor.d.ts +70 -0
  56. package/client/lib/services/assessment/modules/ManifestValidationAssessor.d.ts.map +1 -0
  57. package/client/lib/services/assessment/modules/ManifestValidationAssessor.js +430 -0
  58. package/client/lib/services/assessment/modules/PortabilityAssessor.d.ts +43 -0
  59. package/client/lib/services/assessment/modules/PortabilityAssessor.d.ts.map +1 -0
  60. package/client/lib/services/assessment/modules/PortabilityAssessor.js +347 -0
  61. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.d.ts +41 -0
  62. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.d.ts.map +1 -0
  63. package/client/lib/services/assessment/modules/ProhibitedLibrariesAssessor.js +256 -0
  64. package/client/lib/services/assessment/modules/SecurityAssessor.d.ts +176 -0
  65. package/client/lib/services/assessment/modules/SecurityAssessor.d.ts.map +1 -0
  66. package/client/lib/services/assessment/modules/SecurityAssessor.js +1333 -0
  67. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts +96 -0
  68. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts.map +1 -0
  69. package/client/lib/services/assessment/modules/ToolAnnotationAssessor.js +593 -0
  70. package/client/lib/services/assessment/modules/UsabilityAssessor.d.ts +21 -0
  71. package/client/lib/services/assessment/modules/UsabilityAssessor.d.ts.map +1 -0
  72. package/client/lib/services/assessment/modules/UsabilityAssessor.js +241 -0
  73. package/client/lib/services/assessment/modules/index.d.ts +33 -0
  74. package/client/lib/services/assessment/modules/index.d.ts.map +1 -0
  75. package/client/lib/services/assessment/modules/index.js +35 -0
  76. package/package.json +5 -2
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Usability Assessor Module
3
+ * Evaluates tool naming, parameter clarity, and best practices
4
+ */
5
+ import { UsabilityAssessment } from "../../../lib/assessmentTypes.js";
6
+ import { BaseAssessor } from "./BaseAssessor.js";
7
+ import { AssessmentContext } from "../AssessmentOrchestrator.js";
8
+ export declare class UsabilityAssessor extends BaseAssessor {
9
+ assess(context: AssessmentContext): Promise<UsabilityAssessment>;
10
+ private analyzeUsability;
11
+ private analyzeNamingConvention;
12
+ private analyzeParameterClarity;
13
+ private checkDescriptions;
14
+ private checkBestPractices;
15
+ private isDescriptiveName;
16
+ private getToolSchema;
17
+ private determineUsabilityStatus;
18
+ private generateExplanation;
19
+ private generateRecommendations;
20
+ }
21
+ //# sourceMappingURL=UsabilityAssessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsabilityAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/UsabilityAssessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,iBAAkB,SAAQ,YAAY;IAC3C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBtE,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,uBAAuB;CAyBhC"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Usability Assessor Module
3
+ * Evaluates tool naming, parameter clarity, and best practices
4
+ */
5
+ import { BaseAssessor } from "./BaseAssessor.js";
6
+ export class UsabilityAssessor extends BaseAssessor {
7
+ async assess(context) {
8
+ this.log("Starting usability assessment");
9
+ const metrics = this.analyzeUsability(context.tools);
10
+ const status = this.determineUsabilityStatus(metrics);
11
+ const explanation = this.generateExplanation(metrics, context.tools);
12
+ const recommendations = this.generateRecommendations(metrics);
13
+ return {
14
+ metrics,
15
+ status,
16
+ explanation,
17
+ recommendations,
18
+ };
19
+ }
20
+ analyzeUsability(tools) {
21
+ const toolNamingConvention = this.analyzeNamingConvention(tools);
22
+ const parameterClarity = this.analyzeParameterClarity(tools);
23
+ const hasHelpfulDescriptions = this.checkDescriptions(tools);
24
+ const followsBestPractices = this.checkBestPractices(tools);
25
+ return {
26
+ toolNamingConvention,
27
+ parameterClarity,
28
+ hasHelpfulDescriptions,
29
+ followsBestPractices,
30
+ };
31
+ }
32
+ analyzeNamingConvention(tools) {
33
+ if (tools.length === 0)
34
+ return "consistent";
35
+ const namingPatterns = {
36
+ camelCase: 0,
37
+ snake_case: 0,
38
+ kebab_case: 0,
39
+ PascalCase: 0,
40
+ };
41
+ for (const tool of tools) {
42
+ const name = tool.name;
43
+ if (/^[a-z][a-zA-Z0-9]*$/.test(name)) {
44
+ namingPatterns.camelCase++;
45
+ }
46
+ else if (/^[a-z]+(_[a-z]+)*$/.test(name)) {
47
+ namingPatterns.snake_case++;
48
+ }
49
+ else if (/^[a-z]+(-[a-z]+)*$/.test(name)) {
50
+ namingPatterns.kebab_case++;
51
+ }
52
+ else if (/^[A-Z][a-zA-Z0-9]*$/.test(name)) {
53
+ namingPatterns.PascalCase++;
54
+ }
55
+ }
56
+ // Check if one pattern dominates (>70%)
57
+ const total = tools.length;
58
+ const threshold = total * 0.7;
59
+ for (const count of Object.values(namingPatterns)) {
60
+ if (count >= threshold) {
61
+ return "consistent";
62
+ }
63
+ }
64
+ return "inconsistent";
65
+ }
66
+ analyzeParameterClarity(tools) {
67
+ if (tools.length === 0)
68
+ return "clear";
69
+ let clearCount = 0;
70
+ let unclearCount = 0;
71
+ for (const tool of tools) {
72
+ const schema = this.getToolSchema(tool);
73
+ if (!schema?.properties)
74
+ continue;
75
+ for (const [paramName, paramDef] of Object.entries(schema.properties)) {
76
+ // Check if parameter name is self-descriptive
77
+ if (this.isDescriptiveName(paramName)) {
78
+ clearCount++;
79
+ }
80
+ else {
81
+ unclearCount++;
82
+ }
83
+ // Check if parameter has description
84
+ if (paramDef.description) {
85
+ clearCount++;
86
+ }
87
+ else {
88
+ unclearCount++;
89
+ }
90
+ }
91
+ }
92
+ const total = clearCount + unclearCount;
93
+ if (total === 0)
94
+ return "clear";
95
+ const clarityRatio = clearCount / total;
96
+ if (clarityRatio >= 0.8)
97
+ return "clear";
98
+ if (clarityRatio <= 0.3)
99
+ return "unclear";
100
+ return "mixed";
101
+ }
102
+ checkDescriptions(tools) {
103
+ if (tools.length === 0)
104
+ return false;
105
+ let toolsWithDescriptions = 0;
106
+ for (const tool of tools) {
107
+ if (tool.description && tool.description.length > 10) {
108
+ toolsWithDescriptions++;
109
+ }
110
+ }
111
+ // Consider helpful if >70% of tools have descriptions
112
+ return toolsWithDescriptions / tools.length >= 0.7;
113
+ }
114
+ checkBestPractices(tools) {
115
+ const practices = {
116
+ hasVersioning: false,
117
+ hasErrorHandling: false,
118
+ hasValidation: false,
119
+ hasDocumentation: false,
120
+ };
121
+ // Check various best practices
122
+ for (const tool of tools) {
123
+ const schema = this.getToolSchema(tool);
124
+ // Check for validation (required fields, enums, etc.)
125
+ if (schema?.required && schema.required.length > 0) {
126
+ practices.hasValidation = true;
127
+ }
128
+ // Check for proper parameter constraints
129
+ if (schema?.properties) {
130
+ for (const prop of Object.values(schema.properties)) {
131
+ if (prop.enum ||
132
+ prop.minimum !== undefined ||
133
+ prop.maximum !== undefined) {
134
+ practices.hasValidation = true;
135
+ }
136
+ }
137
+ }
138
+ // Check for documentation
139
+ if (tool.description) {
140
+ practices.hasDocumentation = true;
141
+ }
142
+ }
143
+ // Count how many practices are followed
144
+ const followedPractices = Object.values(practices).filter((v) => v).length;
145
+ // Consider following best practices if at least 2 are met
146
+ return followedPractices >= 2;
147
+ }
148
+ isDescriptiveName(name) {
149
+ // Check if name is self-descriptive
150
+ const goodNames = [
151
+ "query",
152
+ "search",
153
+ "input",
154
+ "output",
155
+ "data",
156
+ "content",
157
+ "message",
158
+ "text",
159
+ "file",
160
+ "path",
161
+ "url",
162
+ "name",
163
+ "id",
164
+ "value",
165
+ "result",
166
+ "response",
167
+ "request",
168
+ "params",
169
+ ];
170
+ const nameLower = name.toLowerCase();
171
+ // Check if name contains any good keywords
172
+ for (const goodName of goodNames) {
173
+ if (nameLower.includes(goodName)) {
174
+ return true;
175
+ }
176
+ }
177
+ // Check if name is not too short or cryptic
178
+ return name.length > 3 && !/^[a-z]$/.test(name);
179
+ }
180
+ getToolSchema(tool) {
181
+ if (!tool.inputSchema)
182
+ return null;
183
+ return typeof tool.inputSchema === "string"
184
+ ? this.safeJsonParse(tool.inputSchema)
185
+ : tool.inputSchema;
186
+ }
187
+ determineUsabilityStatus(metrics) {
188
+ let score = 0;
189
+ const maxScore = 4;
190
+ if (metrics.toolNamingConvention === "consistent")
191
+ score++;
192
+ if (metrics.parameterClarity === "clear")
193
+ score++;
194
+ if (metrics.hasHelpfulDescriptions)
195
+ score++;
196
+ if (metrics.followsBestPractices)
197
+ score++;
198
+ const percentage = (score / maxScore) * 100;
199
+ if (percentage >= 75)
200
+ return "PASS";
201
+ if (percentage >= 50)
202
+ return "NEED_MORE_INFO";
203
+ return "FAIL";
204
+ }
205
+ generateExplanation(metrics, tools) {
206
+ const parts = [];
207
+ parts.push(`Analyzed ${tools.length} tools for usability.`);
208
+ parts.push(`Naming convention: ${metrics.toolNamingConvention}.`);
209
+ parts.push(`Parameter clarity: ${metrics.parameterClarity}.`);
210
+ const features = [];
211
+ if (metrics.hasHelpfulDescriptions)
212
+ features.push("helpful descriptions");
213
+ if (metrics.followsBestPractices)
214
+ features.push("follows best practices");
215
+ if (features.length > 0) {
216
+ parts.push(`Features: ${features.join(", ")}.`);
217
+ }
218
+ else {
219
+ parts.push("Missing key usability features.");
220
+ }
221
+ return parts.join(" ");
222
+ }
223
+ generateRecommendations(metrics) {
224
+ const recommendations = [];
225
+ if (metrics.toolNamingConvention === "inconsistent") {
226
+ recommendations.push("Adopt a consistent naming convention for all tools");
227
+ }
228
+ if (metrics.parameterClarity !== "clear") {
229
+ recommendations.push("Use descriptive parameter names");
230
+ recommendations.push("Add descriptions for all parameters");
231
+ }
232
+ if (!metrics.hasHelpfulDescriptions) {
233
+ recommendations.push("Provide detailed descriptions for each tool");
234
+ }
235
+ if (!metrics.followsBestPractices) {
236
+ recommendations.push("Implement input validation with constraints");
237
+ recommendations.push("Follow MCP best practices for tool design");
238
+ }
239
+ return recommendations;
240
+ }
241
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * MCP Server Assessment Modules
3
+ *
4
+ * This module exports all assessors for comprehensive MCP server evaluation.
5
+ *
6
+ * Original Assessors (from MCP Inspector):
7
+ * - FunctionalityAssessor - Tests tool execution and response handling
8
+ * - DocumentationAssessor - Evaluates README and tool documentation
9
+ * - SecurityAssessor - Checks for security vulnerabilities
10
+ * - ErrorHandlingAssessor - Tests error handling patterns
11
+ * - UsabilityAssessor - Evaluates tool naming and schemas
12
+ * - MCPSpecComplianceAssessor - Verifies MCP specification compliance
13
+ *
14
+ * MCP Directory Compliance Assessors (new):
15
+ * - AUPComplianceAssessor - Checks for Acceptable Use Policy violations (14 categories)
16
+ * - ToolAnnotationAssessor - Verifies tool annotations per Policy #17
17
+ * - ProhibitedLibrariesAssessor - Detects prohibited libraries per Policy #28-30
18
+ * - ManifestValidationAssessor - Validates MCPB manifest.json
19
+ * - PortabilityAssessor - Checks for portability issues
20
+ */
21
+ export { BaseAssessor } from "./BaseAssessor.js";
22
+ export { FunctionalityAssessor } from "./FunctionalityAssessor.js";
23
+ export { DocumentationAssessor } from "./DocumentationAssessor.js";
24
+ export { SecurityAssessor } from "./SecurityAssessor.js";
25
+ export { ErrorHandlingAssessor } from "./ErrorHandlingAssessor.js";
26
+ export { UsabilityAssessor } from "./UsabilityAssessor.js";
27
+ export { MCPSpecComplianceAssessor } from "./MCPSpecComplianceAssessor.js";
28
+ export { AUPComplianceAssessor } from "./AUPComplianceAssessor.js";
29
+ export { ToolAnnotationAssessor } from "./ToolAnnotationAssessor.js";
30
+ export { ProhibitedLibrariesAssessor } from "./ProhibitedLibrariesAssessor.js";
31
+ export { ManifestValidationAssessor } from "./ManifestValidationAssessor.js";
32
+ export { PortabilityAssessor } from "./PortabilityAssessor.js";
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * MCP Server Assessment Modules
3
+ *
4
+ * This module exports all assessors for comprehensive MCP server evaluation.
5
+ *
6
+ * Original Assessors (from MCP Inspector):
7
+ * - FunctionalityAssessor - Tests tool execution and response handling
8
+ * - DocumentationAssessor - Evaluates README and tool documentation
9
+ * - SecurityAssessor - Checks for security vulnerabilities
10
+ * - ErrorHandlingAssessor - Tests error handling patterns
11
+ * - UsabilityAssessor - Evaluates tool naming and schemas
12
+ * - MCPSpecComplianceAssessor - Verifies MCP specification compliance
13
+ *
14
+ * MCP Directory Compliance Assessors (new):
15
+ * - AUPComplianceAssessor - Checks for Acceptable Use Policy violations (14 categories)
16
+ * - ToolAnnotationAssessor - Verifies tool annotations per Policy #17
17
+ * - ProhibitedLibrariesAssessor - Detects prohibited libraries per Policy #28-30
18
+ * - ManifestValidationAssessor - Validates MCPB manifest.json
19
+ * - PortabilityAssessor - Checks for portability issues
20
+ */
21
+ // Base class
22
+ export { BaseAssessor } from "./BaseAssessor.js";
23
+ // Original MCP Inspector Assessors
24
+ export { FunctionalityAssessor } from "./FunctionalityAssessor.js";
25
+ export { DocumentationAssessor } from "./DocumentationAssessor.js";
26
+ export { SecurityAssessor } from "./SecurityAssessor.js";
27
+ export { ErrorHandlingAssessor } from "./ErrorHandlingAssessor.js";
28
+ export { UsabilityAssessor } from "./UsabilityAssessor.js";
29
+ export { MCPSpecComplianceAssessor } from "./MCPSpecComplianceAssessor.js";
30
+ // MCP Directory Compliance Assessors
31
+ export { AUPComplianceAssessor } from "./AUPComplianceAssessor.js";
32
+ export { ToolAnnotationAssessor } from "./ToolAnnotationAssessor.js";
33
+ export { ProhibitedLibrariesAssessor } from "./ProhibitedLibrariesAssessor.js";
34
+ export { ManifestValidationAssessor } from "./ManifestValidationAssessor.js";
35
+ export { PortabilityAssessor } from "./PortabilityAssessor.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bryan-thompson/inspector-assessment",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
4
4
  "description": "Enhanced MCP Inspector with comprehensive assessment capabilities for server validation",
5
5
  "license": "MIT",
6
6
  "author": "Bryan Thompson <bryan@triepod.ai>",
@@ -24,11 +24,14 @@
24
24
  ],
25
25
  "type": "module",
26
26
  "bin": {
27
- "mcp-inspector-assess": "cli/build/cli.js"
27
+ "mcp-inspector-assess": "cli/build/cli.js",
28
+ "mcp-assess-full": "cli/build/assess-full.js",
29
+ "mcp-assess-security": "cli/build/assess-security.js"
28
30
  },
29
31
  "files": [
30
32
  "client/bin",
31
33
  "client/dist",
34
+ "client/lib",
32
35
  "server/build",
33
36
  "cli/build"
34
37
  ],