@bryan-thompson/inspector-assessment 1.4.0 → 1.6.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.
@@ -945,6 +945,12 @@ video {
945
945
  .mt-4 {
946
946
  margin-top: 1rem;
947
947
  }
948
+ .line-clamp-2 {
949
+ overflow: hidden;
950
+ display: -webkit-box;
951
+ -webkit-box-orient: vertical;
952
+ -webkit-line-clamp: 2;
953
+ }
948
954
  .block {
949
955
  display: block;
950
956
  }
@@ -1039,6 +1045,9 @@ video {
1039
1045
  .max-h-40 {
1040
1046
  max-height: 10rem;
1041
1047
  }
1048
+ .max-h-48 {
1049
+ max-height: 12rem;
1050
+ }
1042
1051
  .max-h-64 {
1043
1052
  max-height: 16rem;
1044
1053
  }
@@ -1646,6 +1655,10 @@ video {
1646
1655
  --tw-bg-opacity: 1;
1647
1656
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
1648
1657
  }
1658
+ .object-contain {
1659
+ -o-object-fit: contain;
1660
+ object-fit: contain;
1661
+ }
1649
1662
  .p-0 {
1650
1663
  padding: 0px;
1651
1664
  }
@@ -1730,6 +1743,10 @@ video {
1730
1743
  padding-top: 1.5rem;
1731
1744
  padding-bottom: 1.5rem;
1732
1745
  }
1746
+ .py-8 {
1747
+ padding-top: 2rem;
1748
+ padding-bottom: 2rem;
1749
+ }
1733
1750
  .pb-1 {
1734
1751
  padding-bottom: 0.25rem;
1735
1752
  }
@@ -2441,6 +2458,11 @@ h1 {
2441
2458
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
2442
2459
  }
2443
2460
 
2461
+ .focus-visible\:ring-red-500:focus-visible {
2462
+ --tw-ring-opacity: 1;
2463
+ --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
2464
+ }
2465
+
2444
2466
  .focus-visible\:ring-ring:focus-visible {
2445
2467
  --tw-ring-color: hsl(var(--ring));
2446
2468
  }
@@ -2911,6 +2933,11 @@ h1 {
2911
2933
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
2912
2934
  }
2913
2935
 
2936
+ .dark\:text-gray-200:is(.dark *) {
2937
+ --tw-text-opacity: 1;
2938
+ color: rgb(229 231 235 / var(--tw-text-opacity, 1));
2939
+ }
2940
+
2914
2941
  .dark\:text-gray-300:is(.dark *) {
2915
2942
  --tw-text-opacity: 1;
2916
2943
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/mcp.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>MCP Inspector</title>
8
- <script type="module" crossorigin src="/assets/index-CynAt5P-.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-Cz-lwW4x.css">
8
+ <script type="module" crossorigin src="/assets/index-B3lTiDVe.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-Bj7kEsw0.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root" class="w-full"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bryan-thompson/inspector-assessment",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
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>",
@@ -48,6 +48,7 @@
48
48
  "kill": "node scripts/kill-server.js",
49
49
  "restart": "npm run kill && npm run dev",
50
50
  "assess": "tsx --tsconfig client/tsconfig.app.json scripts/run-security-assessment.ts",
51
+ "assess:full": "tsx --tsconfig client/tsconfig.app.json scripts/run-full-assessment.ts",
51
52
  "dev:sdk": "npm run link:sdk && concurrently \"npm run dev\" \"cd sdk && npm run build:esm:w\"",
52
53
  "link:sdk": "(test -d sdk || ln -sf ${MCP_SDK:-$PWD/../typescript-sdk} sdk) && (cd sdk && npm link && (test -d node_modules || npm i)) && npm link @modelcontextprotocol/sdk",
53
54
  "unlink:sdk": "(cd sdk && npm unlink -g) && rm sdk && npm unlink @modelcontextprotocol/sdk",
@@ -73,7 +74,8 @@
73
74
  "@bryan-thompson/inspector-assessment-cli": "^1.0.0",
74
75
  "@bryan-thompson/inspector-assessment-client": "^1.0.0",
75
76
  "@bryan-thompson/inspector-assessment-server": "^1.0.0",
76
- "@modelcontextprotocol/sdk": "^1.18.2",
77
+ "@esbuild/darwin-arm64": "^0.27.1",
78
+ "@modelcontextprotocol/sdk": "^1.23.0",
77
79
  "concurrently": "^9.2.0",
78
80
  "node-fetch": "^3.3.2",
79
81
  "open": "^10.2.0",
@@ -91,10 +93,14 @@
91
93
  "husky": "^9.1.7",
92
94
  "jest-fixed-jsdom": "^0.0.9",
93
95
  "lint-staged": "^16.1.5",
94
- "prettier": "^3.6.2",
96
+ "playwright": "^1.56.1",
97
+ "prettier": "^3.7.1",
95
98
  "rimraf": "^6.0.1",
96
99
  "typescript": "^5.4.2"
97
100
  },
101
+ "overrides": {
102
+ "get-intrinsic": "1.3.0"
103
+ },
98
104
  "engines": {
99
105
  "node": ">=22.7.5"
100
106
  },
@@ -188,18 +188,31 @@ const authMiddleware = (req, res, next) => {
188
188
  * This is necessary for the EventSource polyfill which expects web streams
189
189
  */
190
190
  const createWebReadableStream = (nodeStream) => {
191
+ let closed = false;
191
192
  return new ReadableStream({
192
193
  start(controller) {
193
194
  nodeStream.on("data", (chunk) => {
194
- controller.enqueue(chunk);
195
+ if (!closed) {
196
+ controller.enqueue(chunk);
197
+ }
195
198
  });
196
199
  nodeStream.on("end", () => {
197
- controller.close();
200
+ if (!closed) {
201
+ closed = true;
202
+ controller.close();
203
+ }
198
204
  });
199
205
  nodeStream.on("error", (err) => {
200
- controller.error(err);
206
+ if (!closed) {
207
+ closed = true;
208
+ controller.error(err);
209
+ }
201
210
  });
202
211
  },
212
+ cancel() {
213
+ closed = true;
214
+ nodeStream.destroy();
215
+ },
203
216
  });
204
217
  };
205
218
  /**
@@ -397,6 +410,7 @@ app.delete("/mcp", originValidationMiddleware, authMiddleware, async (req, res)
397
410
  }
398
411
  else {
399
412
  await serverTransport.terminateSession();
413
+ await serverTransport.close();
400
414
  webAppTransports.delete(sessionId);
401
415
  serverTransports.delete(sessionId);
402
416
  sessionHeaderHolders.delete(sessionId);