@modelcontextprotocol/inspector-client 0.16.1 → 0.16.3

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/bin/start.js CHANGED
@@ -28,8 +28,15 @@ function getClientUrl(port, authDisabled, sessionToken, serverPort) {
28
28
  }
29
29
 
30
30
  async function startDevServer(serverOptions) {
31
- const { SERVER_PORT, CLIENT_PORT, sessionToken, envVars, abort } =
32
- serverOptions;
31
+ const {
32
+ SERVER_PORT,
33
+ CLIENT_PORT,
34
+ sessionToken,
35
+ envVars,
36
+ abort,
37
+ transport,
38
+ serverUrl,
39
+ } = serverOptions;
33
40
  const serverCommand = "npx";
34
41
  const serverArgs = ["tsx", "watch", "--clear-screen=false", "src/index.ts"];
35
42
  const isWindows = process.platform === "win32";
@@ -40,8 +47,10 @@ async function startDevServer(serverOptions) {
40
47
  ...process.env,
41
48
  SERVER_PORT,
42
49
  CLIENT_PORT,
43
- MCP_PROXY_TOKEN: sessionToken,
50
+ MCP_PROXY_AUTH_TOKEN: sessionToken,
44
51
  MCP_ENV_VARS: JSON.stringify(envVars),
52
+ ...(transport ? { MCP_TRANSPORT: transport } : {}),
53
+ ...(serverUrl ? { MCP_SERVER_URL: serverUrl } : {}),
45
54
  },
46
55
  signal: abort.signal,
47
56
  echoOutput: true,
@@ -78,6 +87,8 @@ async function startProdServer(serverOptions) {
78
87
  abort,
79
88
  command,
80
89
  mcpServerArgs,
90
+ transport,
91
+ serverUrl,
81
92
  } = serverOptions;
82
93
  const inspectorServerPath = resolve(
83
94
  __dirname,
@@ -91,15 +102,19 @@ async function startProdServer(serverOptions) {
91
102
  "node",
92
103
  [
93
104
  inspectorServerPath,
94
- ...(command ? [`--env`, command] : []),
95
- ...(mcpServerArgs ? [`--args=${mcpServerArgs.join(" ")}`] : []),
105
+ ...(command ? [`--command=${command}`] : []),
106
+ ...(mcpServerArgs && mcpServerArgs.length > 0
107
+ ? [`--args=${mcpServerArgs.join(" ")}`]
108
+ : []),
109
+ ...(transport ? [`--transport=${transport}`] : []),
110
+ ...(serverUrl ? [`--server-url=${serverUrl}`] : []),
96
111
  ],
97
112
  {
98
113
  env: {
99
114
  ...process.env,
100
115
  SERVER_PORT,
101
116
  CLIENT_PORT,
102
- MCP_PROXY_TOKEN: sessionToken,
117
+ MCP_PROXY_AUTH_TOKEN: sessionToken,
103
118
  MCP_ENV_VARS: JSON.stringify(envVars),
104
119
  },
105
120
  signal: abort.signal,
@@ -206,6 +221,8 @@ async function main() {
206
221
  let command = null;
207
222
  let parsingFlags = true;
208
223
  let isDev = false;
224
+ let transport = null;
225
+ let serverUrl = null;
209
226
 
210
227
  for (let i = 0; i < args.length; i++) {
211
228
  const arg = args[i];
@@ -220,6 +237,16 @@ async function main() {
220
237
  continue;
221
238
  }
222
239
 
240
+ if (parsingFlags && arg === "--transport" && i + 1 < args.length) {
241
+ transport = args[++i];
242
+ continue;
243
+ }
244
+
245
+ if (parsingFlags && arg === "--server-url" && i + 1 < args.length) {
246
+ serverUrl = args[++i];
247
+ continue;
248
+ }
249
+
223
250
  if (parsingFlags && arg === "-e" && i + 1 < args.length) {
224
251
  const envVar = args[++i];
225
252
  const equalsIndex = envVar.indexOf("=");
@@ -247,8 +274,9 @@ async function main() {
247
274
  : "Starting MCP inspector...",
248
275
  );
249
276
 
250
- // Generate session token for authentication
251
- const sessionToken = randomBytes(32).toString("hex");
277
+ // Use provided token from environment or generate a new one
278
+ const sessionToken =
279
+ process.env.MCP_PROXY_AUTH_TOKEN || randomBytes(32).toString("hex");
252
280
  const authDisabled = !!process.env.DANGEROUSLY_OMIT_AUTH;
253
281
 
254
282
  const abort = new AbortController();
@@ -270,6 +298,8 @@ async function main() {
270
298
  abort,
271
299
  command,
272
300
  mcpServerArgs,
301
+ transport,
302
+ serverUrl,
273
303
  };
274
304
 
275
305
  const result = isDev
@@ -1,4 +1,4 @@
1
- import { u as useToast, r as reactExports, j as jsxRuntimeExports, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-CPgI0-gs.js";
1
+ import { u as useToast, r as reactExports, j as jsxRuntimeExports, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-CHDvjhl9.js";
2
2
  import { p as parseOAuthCallbackParams, g as generateOAuthErrorDescription } from "./oauthUtils-DTcoXpSP.js";
3
3
  const OAuthCallback = ({ onConnect }) => {
4
4
  const { toast } = useToast();
@@ -1,4 +1,4 @@
1
- import { r as reactExports, S as SESSION_KEYS, j as jsxRuntimeExports } from "./index-CPgI0-gs.js";
1
+ import { r as reactExports, S as SESSION_KEYS, j as jsxRuntimeExports } from "./index-CHDvjhl9.js";
2
2
  import { p as parseOAuthCallbackParams, g as generateOAuthErrorDescription } from "./oauthUtils-DTcoXpSP.js";
3
3
  const OAuthDebugCallback = ({ onConnect }) => {
4
4
  reactExports.useEffect(() => {
@@ -56,8 +56,6 @@ pre[class*="language-"] {
56
56
  -moz-tab-size: 4;
57
57
  -o-tab-size: 4;
58
58
  tab-size: 4;
59
-
60
- -webkit-hyphens: none;
61
59
  hyphens: none;
62
60
  }
63
61
 
@@ -757,6 +755,9 @@ video {
757
755
  .collapse {
758
756
  visibility: collapse;
759
757
  }
758
+ .static {
759
+ position: static;
760
+ }
760
761
  .fixed {
761
762
  position: fixed;
762
763
  }
@@ -994,6 +995,9 @@ video {
994
995
  .w-full {
995
996
  width: 100%;
996
997
  }
998
+ .min-w-0 {
999
+ min-width: 0px;
1000
+ }
997
1001
  .min-w-\[8rem\] {
998
1002
  min-width: 8rem;
999
1003
  }
@@ -1171,6 +1175,9 @@ video {
1171
1175
  .border {
1172
1176
  border-width: 1px;
1173
1177
  }
1178
+ .border-2 {
1179
+ border-width: 2px;
1180
+ }
1174
1181
  .border-b {
1175
1182
  border-bottom-width: 1px;
1176
1183
  }
@@ -1191,6 +1198,10 @@ video {
1191
1198
  --tw-border-opacity: 1;
1192
1199
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
1193
1200
  }
1201
+ .border-blue-500 {
1202
+ --tw-border-opacity: 1;
1203
+ border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
1204
+ }
1194
1205
  .border-border {
1195
1206
  border-color: hsl(var(--border));
1196
1207
  }
@@ -1204,6 +1215,10 @@ video {
1204
1215
  --tw-border-opacity: 1;
1205
1216
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
1206
1217
  }
1218
+ .border-gray-300 {
1219
+ --tw-border-opacity: 1;
1220
+ border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
1221
+ }
1207
1222
  .border-green-200 {
1208
1223
  --tw-border-opacity: 1;
1209
1224
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
@@ -1226,6 +1241,9 @@ video {
1226
1241
  --tw-border-opacity: 1;
1227
1242
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
1228
1243
  }
1244
+ .border-t-transparent {
1245
+ border-top-color: transparent;
1246
+ }
1229
1247
  .bg-accent {
1230
1248
  background-color: hsl(var(--accent));
1231
1249
  }
@@ -1325,6 +1343,10 @@ video {
1325
1343
  .p-6 {
1326
1344
  padding: 1.5rem;
1327
1345
  }
1346
+ .px-1 {
1347
+ padding-left: 0.25rem;
1348
+ padding-right: 0.25rem;
1349
+ }
1328
1350
  .px-12 {
1329
1351
  padding-left: 3rem;
1330
1352
  padding-right: 3rem;
@@ -1349,6 +1371,10 @@ video {
1349
1371
  padding-top: 0px;
1350
1372
  padding-bottom: 0px;
1351
1373
  }
1374
+ .py-0\.5 {
1375
+ padding-top: 0.125rem;
1376
+ padding-bottom: 0.125rem;
1377
+ }
1352
1378
  .py-1 {
1353
1379
  padding-top: 0.25rem;
1354
1380
  padding-bottom: 0.25rem;
@@ -1424,6 +1450,9 @@ video {
1424
1450
  .leading-none {
1425
1451
  line-height: 1;
1426
1452
  }
1453
+ .leading-relaxed {
1454
+ line-height: 1.625;
1455
+ }
1427
1456
  .tracking-tight {
1428
1457
  letter-spacing: -0.025em;
1429
1458
  }
@@ -1600,9 +1629,7 @@ video {
1600
1629
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1601
1630
  }
1602
1631
  .transition {
1603
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
1604
1632
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1605
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
1606
1633
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1607
1634
  transition-duration: 150ms;
1608
1635
  }
@@ -1796,6 +1823,11 @@ h1 {
1796
1823
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
1797
1824
  }
1798
1825
 
1826
+ .hover\:text-blue-800:hover {
1827
+ --tw-text-opacity: 1;
1828
+ color: rgb(30 64 175 / var(--tw-text-opacity, 1));
1829
+ }
1830
+
1799
1831
  .hover\:text-foreground:hover {
1800
1832
  color: hsl(var(--foreground));
1801
1833
  }
@@ -1837,6 +1869,11 @@ h1 {
1837
1869
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1838
1870
  }
1839
1871
 
1872
+ .focus\:ring-blue-500:focus {
1873
+ --tw-ring-opacity: 1;
1874
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
1875
+ }
1876
+
1840
1877
  .focus\:ring-ring:focus {
1841
1878
  --tw-ring-color: hsl(var(--ring));
1842
1879
  }
@@ -1862,10 +1899,19 @@ h1 {
1862
1899
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1863
1900
  }
1864
1901
 
1902
+ .focus-visible\:ring-blue-500:focus-visible {
1903
+ --tw-ring-opacity: 1;
1904
+ --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
1905
+ }
1906
+
1865
1907
  .focus-visible\:ring-ring:focus-visible {
1866
1908
  --tw-ring-color: hsl(var(--ring));
1867
1909
  }
1868
1910
 
1911
+ .focus-visible\:ring-offset-1:focus-visible {
1912
+ --tw-ring-offset-width: 1px;
1913
+ }
1914
+
1869
1915
  .focus-visible\:ring-offset-2:focus-visible {
1870
1916
  --tw-ring-offset-width: 2px;
1871
1917
  }
@@ -2139,11 +2185,21 @@ h1 {
2139
2185
  border-color: hsl(var(--destructive));
2140
2186
  }
2141
2187
 
2188
+ .dark\:border-gray-600:is(.dark *) {
2189
+ --tw-border-opacity: 1;
2190
+ border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
2191
+ }
2192
+
2142
2193
  .dark\:border-gray-800:is(.dark *) {
2143
2194
  --tw-border-opacity: 1;
2144
2195
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
2145
2196
  }
2146
2197
 
2198
+ .dark\:border-red-800:is(.dark *) {
2199
+ --tw-border-opacity: 1;
2200
+ border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
2201
+ }
2202
+
2147
2203
  .dark\:bg-blue-900:is(.dark *) {
2148
2204
  --tw-bg-opacity: 1;
2149
2205
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
@@ -2169,6 +2225,10 @@ h1 {
2169
2225
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
2170
2226
  }
2171
2227
 
2228
+ .dark\:bg-red-900\/20:is(.dark *) {
2229
+ background-color: rgb(127 29 29 / 0.2);
2230
+ }
2231
+
2172
2232
  .dark\:bg-yellow-900:is(.dark *) {
2173
2233
  --tw-bg-opacity: 1;
2174
2234
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
@@ -2179,6 +2239,11 @@ h1 {
2179
2239
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
2180
2240
  }
2181
2241
 
2242
+ .dark\:text-blue-400:is(.dark *) {
2243
+ --tw-text-opacity: 1;
2244
+ color: rgb(96 165 250 / var(--tw-text-opacity, 1));
2245
+ }
2246
+
2182
2247
  .dark\:text-gray-100:is(.dark *) {
2183
2248
  --tw-text-opacity: 1;
2184
2249
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
@@ -2209,6 +2274,11 @@ h1 {
2209
2274
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
2210
2275
  }
2211
2276
 
2277
+ .dark\:text-red-400:is(.dark *) {
2278
+ --tw-text-opacity: 1;
2279
+ color: rgb(248 113 113 / var(--tw-text-opacity, 1));
2280
+ }
2281
+
2212
2282
  .dark\:text-white:is(.dark *) {
2213
2283
  --tw-text-opacity: 1;
2214
2284
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -2236,6 +2306,11 @@ h1 {
2236
2306
  background-color: hsl(var(--secondary));
2237
2307
  }
2238
2308
 
2309
+ .dark\:hover\:text-blue-300:hover:is(.dark *) {
2310
+ --tw-text-opacity: 1;
2311
+ color: rgb(147 197 253 / var(--tw-text-opacity, 1));
2312
+ }
2313
+
2239
2314
  .group:hover .dark\:group-hover\:text-gray-100:is(.dark *) {
2240
2315
  --tw-text-opacity: 1;
2241
2316
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));