@modelcontextprotocol/inspector-client 0.16.6 → 0.16.7
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/assets/{OAuthCallback-Cmffn8om.js → OAuthCallback-aXDAN43J.js} +1 -1
- package/dist/assets/{OAuthDebugCallback-BhzcPtuF.js → OAuthDebugCallback-BanjyQ_V.js} +1 -1
- package/dist/assets/{index-C217Ot8c.css → index-DZ1A0VH0.css} +33 -0
- package/dist/assets/{index-B_qh-Btq.js → index-Dg7mXHRE.js} +88 -13
- package/dist/index.html +2 -2
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-
|
|
1
|
+
import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-Dg7mXHRE.js";
|
|
2
2
|
const OAuthCallback = ({ onConnect }) => {
|
|
3
3
|
const { toast } = useToast();
|
|
4
4
|
const hasProcessedRef = reactExports.useRef(false);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-
|
|
1
|
+
import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-Dg7mXHRE.js";
|
|
2
2
|
const OAuthDebugCallback = ({ onConnect }) => {
|
|
3
3
|
reactExports.useEffect(() => {
|
|
4
4
|
let isProcessed = false;
|
|
@@ -735,6 +735,39 @@ video {
|
|
|
735
735
|
background-color: hsl(var(--background));
|
|
736
736
|
color: hsl(var(--foreground));
|
|
737
737
|
}
|
|
738
|
+
.container {
|
|
739
|
+
width: 100%;
|
|
740
|
+
}
|
|
741
|
+
@media (min-width: 640px) {
|
|
742
|
+
|
|
743
|
+
.container {
|
|
744
|
+
max-width: 640px;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
@media (min-width: 768px) {
|
|
748
|
+
|
|
749
|
+
.container {
|
|
750
|
+
max-width: 768px;
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
@media (min-width: 1024px) {
|
|
754
|
+
|
|
755
|
+
.container {
|
|
756
|
+
max-width: 1024px;
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
@media (min-width: 1280px) {
|
|
760
|
+
|
|
761
|
+
.container {
|
|
762
|
+
max-width: 1280px;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
@media (min-width: 1536px) {
|
|
766
|
+
|
|
767
|
+
.container {
|
|
768
|
+
max-width: 1536px;
|
|
769
|
+
}
|
|
770
|
+
}
|
|
738
771
|
.sr-only {
|
|
739
772
|
position: absolute;
|
|
740
773
|
width: 1px;
|
|
@@ -15230,6 +15230,20 @@ const CancelledNotificationSchema = NotificationSchema.extend({
|
|
|
15230
15230
|
reason: stringType().optional()
|
|
15231
15231
|
})
|
|
15232
15232
|
});
|
|
15233
|
+
const IconSchema = objectType({
|
|
15234
|
+
/**
|
|
15235
|
+
* URL or data URI for the icon.
|
|
15236
|
+
*/
|
|
15237
|
+
src: stringType(),
|
|
15238
|
+
/**
|
|
15239
|
+
* Optional MIME type for the icon.
|
|
15240
|
+
*/
|
|
15241
|
+
mimeType: optionalType(stringType()),
|
|
15242
|
+
/**
|
|
15243
|
+
* Optional string specifying icon dimensions (e.g., "48x48 96x96").
|
|
15244
|
+
*/
|
|
15245
|
+
sizes: optionalType(stringType())
|
|
15246
|
+
}).passthrough();
|
|
15233
15247
|
const BaseMetadataSchema = objectType({
|
|
15234
15248
|
/** Intended for programmatic or logical use, but used as a display name in past specs or fallback */
|
|
15235
15249
|
name: stringType(),
|
|
@@ -15244,7 +15258,20 @@ const BaseMetadataSchema = objectType({
|
|
|
15244
15258
|
title: optionalType(stringType())
|
|
15245
15259
|
}).passthrough();
|
|
15246
15260
|
const ImplementationSchema = BaseMetadataSchema.extend({
|
|
15247
|
-
version: stringType()
|
|
15261
|
+
version: stringType(),
|
|
15262
|
+
/**
|
|
15263
|
+
* An optional URL of the website for this implementation.
|
|
15264
|
+
*/
|
|
15265
|
+
websiteUrl: optionalType(stringType()),
|
|
15266
|
+
/**
|
|
15267
|
+
* An optional list of icons for this implementation.
|
|
15268
|
+
* This can be used by clients to display the implementation in a user interface.
|
|
15269
|
+
* Each icon should have a `kind` property that specifies whether it is a data representation or a URL source, a `src` property that points to the icon file or data representation, and may also include a `mimeType` and `sizes` property.
|
|
15270
|
+
* The `mimeType` property should be a valid MIME type for the icon file, such as "image/png" or "image/svg+xml".
|
|
15271
|
+
* The `sizes` property should be a string that specifies one or more sizes at which the icon file can be used, such as "48x48" or "any" for scalable formats like SVG.
|
|
15272
|
+
* The `sizes` property is optional, and if not provided, the client should assume that the icon can be used at any size.
|
|
15273
|
+
*/
|
|
15274
|
+
icons: optionalType(arrayType(IconSchema))
|
|
15248
15275
|
});
|
|
15249
15276
|
const ClientCapabilitiesSchema = objectType({
|
|
15250
15277
|
/**
|
|
@@ -15435,6 +15462,10 @@ const ResourceSchema = BaseMetadataSchema.extend({
|
|
|
15435
15462
|
* The MIME type of this resource, if known.
|
|
15436
15463
|
*/
|
|
15437
15464
|
mimeType: optionalType(stringType()),
|
|
15465
|
+
/**
|
|
15466
|
+
* An optional list of icons for this resource.
|
|
15467
|
+
*/
|
|
15468
|
+
icons: optionalType(arrayType(IconSchema)),
|
|
15438
15469
|
/**
|
|
15439
15470
|
* See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
|
|
15440
15471
|
* for notes on _meta usage.
|
|
@@ -15539,6 +15570,10 @@ const PromptSchema = BaseMetadataSchema.extend({
|
|
|
15539
15570
|
* A list of arguments to use for templating the prompt.
|
|
15540
15571
|
*/
|
|
15541
15572
|
arguments: optionalType(arrayType(PromptArgumentSchema)),
|
|
15573
|
+
/**
|
|
15574
|
+
* An optional list of icons for this prompt.
|
|
15575
|
+
*/
|
|
15576
|
+
icons: optionalType(arrayType(IconSchema)),
|
|
15542
15577
|
/**
|
|
15543
15578
|
* See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
|
|
15544
15579
|
* for notes on _meta usage.
|
|
@@ -15706,6 +15741,10 @@ const ToolSchema = BaseMetadataSchema.extend({
|
|
|
15706
15741
|
* Optional additional tool information.
|
|
15707
15742
|
*/
|
|
15708
15743
|
annotations: optionalType(ToolAnnotationsSchema),
|
|
15744
|
+
/**
|
|
15745
|
+
* An optional list of icons for this tool.
|
|
15746
|
+
*/
|
|
15747
|
+
icons: optionalType(arrayType(IconSchema)),
|
|
15709
15748
|
/**
|
|
15710
15749
|
* See [MCP specification](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/47339c03c143bb4ec01a26e721a1b8fe66634ebe/docs/specification/draft/basic/index.mdx#general-fields)
|
|
15711
15750
|
* for notes on _meta usage.
|
|
@@ -17176,7 +17215,7 @@ const oauthTransitions = {
|
|
|
17176
17215
|
);
|
|
17177
17216
|
context.provider.saveCodeVerifier(codeVerifier);
|
|
17178
17217
|
context.updateState({
|
|
17179
|
-
authorizationUrl
|
|
17218
|
+
authorizationUrl,
|
|
17180
17219
|
oauthStep: "authorization_code"
|
|
17181
17220
|
});
|
|
17182
17221
|
}
|
|
@@ -24866,7 +24905,7 @@ class StreamableHTTPClientTransport {
|
|
|
24866
24905
|
return this._protocolVersion;
|
|
24867
24906
|
}
|
|
24868
24907
|
}
|
|
24869
|
-
const version$1 = "0.16.
|
|
24908
|
+
const version$1 = "0.16.7";
|
|
24870
24909
|
const packageJson = {
|
|
24871
24910
|
version: version$1
|
|
24872
24911
|
};
|
|
@@ -25432,11 +25471,15 @@ function useConnection({
|
|
|
25432
25471
|
setCompletionsSupported(false);
|
|
25433
25472
|
setServerCapabilities(null);
|
|
25434
25473
|
};
|
|
25474
|
+
const clearRequestHistory = () => {
|
|
25475
|
+
setRequestHistory([]);
|
|
25476
|
+
};
|
|
25435
25477
|
return {
|
|
25436
25478
|
connectionStatus,
|
|
25437
25479
|
serverCapabilities,
|
|
25438
25480
|
mcpClient,
|
|
25439
25481
|
requestHistory,
|
|
25482
|
+
clearRequestHistory,
|
|
25440
25483
|
makeRequest,
|
|
25441
25484
|
sendNotification,
|
|
25442
25485
|
handleCompletion,
|
|
@@ -26730,7 +26773,7 @@ const OAuthFlowProgress = ({
|
|
|
26730
26773
|
children: authState.authorizationUrl && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-2 p-3 border rounded-md bg-muted", children: [
|
|
26731
26774
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "font-medium mb-2 text-sm", children: "Authorization URL:" }),
|
|
26732
26775
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
26733
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs break-all", children: authState.authorizationUrl }),
|
|
26776
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs break-all", children: String(authState.authorizationUrl) }),
|
|
26734
26777
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
26735
26778
|
"button",
|
|
26736
26779
|
{
|
|
@@ -26992,7 +27035,7 @@ const AuthDebugger = ({
|
|
|
26992
27035
|
SESSION_KEYS.AUTH_DEBUGGER_STATE,
|
|
26993
27036
|
JSON.stringify(currentState)
|
|
26994
27037
|
);
|
|
26995
|
-
window.location.href = currentState.authorizationUrl;
|
|
27038
|
+
window.location.href = currentState.authorizationUrl.toString();
|
|
26996
27039
|
break;
|
|
26997
27040
|
}
|
|
26998
27041
|
}
|
|
@@ -27383,7 +27426,9 @@ const JsonNode = reactExports.memo(
|
|
|
27383
27426
|
JsonNode.displayName = "JsonNode";
|
|
27384
27427
|
const HistoryAndNotifications = ({
|
|
27385
27428
|
requestHistory,
|
|
27386
|
-
serverNotifications
|
|
27429
|
+
serverNotifications,
|
|
27430
|
+
onClearHistory,
|
|
27431
|
+
onClearNotifications
|
|
27387
27432
|
}) => {
|
|
27388
27433
|
const [expandedRequests, setExpandedRequests] = reactExports.useState({});
|
|
27389
27434
|
const [expandedNotifications, setExpandedNotifications] = reactExports.useState({});
|
|
@@ -27395,7 +27440,19 @@ const HistoryAndNotifications = ({
|
|
|
27395
27440
|
};
|
|
27396
27441
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-card overflow-hidden flex h-full", children: [
|
|
27397
27442
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto p-4 border-r", children: [
|
|
27398
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
27443
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
|
|
27444
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-lg font-semibold", children: "History" }),
|
|
27445
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27446
|
+
Button,
|
|
27447
|
+
{
|
|
27448
|
+
variant: "outline",
|
|
27449
|
+
size: "sm",
|
|
27450
|
+
onClick: onClearHistory,
|
|
27451
|
+
disabled: requestHistory.length === 0,
|
|
27452
|
+
children: "Clear"
|
|
27453
|
+
}
|
|
27454
|
+
)
|
|
27455
|
+
] }),
|
|
27399
27456
|
requestHistory.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400 italic", children: "No history yet" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "space-y-3", children: requestHistory.slice().reverse().map((request, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
27400
27457
|
"li",
|
|
27401
27458
|
{
|
|
@@ -27445,7 +27502,19 @@ const HistoryAndNotifications = ({
|
|
|
27445
27502
|
)) })
|
|
27446
27503
|
] }),
|
|
27447
27504
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto p-4", children: [
|
|
27448
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
27505
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
|
|
27506
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-lg font-semibold", children: "Server Notifications" }),
|
|
27507
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27508
|
+
Button,
|
|
27509
|
+
{
|
|
27510
|
+
variant: "outline",
|
|
27511
|
+
size: "sm",
|
|
27512
|
+
onClick: onClearNotifications,
|
|
27513
|
+
disabled: serverNotifications.length === 0,
|
|
27514
|
+
children: "Clear"
|
|
27515
|
+
}
|
|
27516
|
+
)
|
|
27517
|
+
] }),
|
|
27449
27518
|
serverNotifications.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400 italic", children: "No notifications yet" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: "space-y-3", children: serverNotifications.slice().reverse().map((notification, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
27450
27519
|
"li",
|
|
27451
27520
|
{
|
|
@@ -36472,7 +36541,7 @@ const useTheme = () => {
|
|
|
36472
36541
|
[theme, setThemeWithSideEffect]
|
|
36473
36542
|
);
|
|
36474
36543
|
};
|
|
36475
|
-
const version = "0.16.
|
|
36544
|
+
const version = "0.16.7";
|
|
36476
36545
|
var [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [
|
|
36477
36546
|
createPopperScope
|
|
36478
36547
|
]);
|
|
@@ -37046,7 +37115,7 @@ const Sidebar = ({
|
|
|
37046
37115
|
setCopiedServerEntry(true);
|
|
37047
37116
|
toast2({
|
|
37048
37117
|
title: "Config entry copied",
|
|
37049
|
-
description: transportType === "stdio" ? "Server configuration has been copied to clipboard. Add this to your mcp.json inside the 'mcpServers' object with your preferred server name." : "SSE URL has been copied. Use this URL directly in your MCP Client."
|
|
37118
|
+
description: transportType === "stdio" ? "Server configuration has been copied to clipboard. Add this to your mcp.json inside the 'mcpServers' object with your preferred server name." : transportType === "streamable-http" ? "Streamable HTTP URL has been copied. Use this URL directly in your MCP Client." : "SSE URL has been copied. Use this URL directly in your MCP Client."
|
|
37050
37119
|
});
|
|
37051
37120
|
setTimeout(() => {
|
|
37052
37121
|
setCopiedServerEntry(false);
|
|
@@ -38636,6 +38705,7 @@ const App = () => {
|
|
|
38636
38705
|
serverCapabilities,
|
|
38637
38706
|
mcpClient,
|
|
38638
38707
|
requestHistory,
|
|
38708
|
+
clearRequestHistory,
|
|
38639
38709
|
makeRequest,
|
|
38640
38710
|
sendNotification,
|
|
38641
38711
|
handleCompletion,
|
|
@@ -39083,6 +39153,9 @@ const App = () => {
|
|
|
39083
39153
|
const handleRootsChange = async () => {
|
|
39084
39154
|
await sendNotification({ method: "notifications/roots/list_changed" });
|
|
39085
39155
|
};
|
|
39156
|
+
const handleClearNotifications = () => {
|
|
39157
|
+
setNotifications([]);
|
|
39158
|
+
};
|
|
39086
39159
|
const sendLogLevelRequest = async (level) => {
|
|
39087
39160
|
await sendMCPRequest(
|
|
39088
39161
|
{
|
|
@@ -39104,13 +39177,13 @@ const App = () => {
|
|
|
39104
39177
|
) });
|
|
39105
39178
|
if (window.location.pathname === "/oauth/callback") {
|
|
39106
39179
|
const OAuthCallback = React.lazy(
|
|
39107
|
-
() => __vitePreload(() => import("./OAuthCallback-
|
|
39180
|
+
() => __vitePreload(() => import("./OAuthCallback-aXDAN43J.js"), true ? [] : void 0)
|
|
39108
39181
|
);
|
|
39109
39182
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthCallback, { onConnect: onOAuthConnect }) });
|
|
39110
39183
|
}
|
|
39111
39184
|
if (window.location.pathname === "/oauth/callback/debug") {
|
|
39112
39185
|
const OAuthDebugCallback = React.lazy(
|
|
39113
|
-
() => __vitePreload(() => import("./OAuthDebugCallback-
|
|
39186
|
+
() => __vitePreload(() => import("./OAuthDebugCallback-BanjyQ_V.js"), true ? [] : void 0)
|
|
39114
39187
|
);
|
|
39115
39188
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthDebugCallback, { onConnect: onOAuthDebugConnect }) });
|
|
39116
39189
|
}
|
|
@@ -39457,7 +39530,9 @@ const App = () => {
|
|
|
39457
39530
|
HistoryAndNotifications,
|
|
39458
39531
|
{
|
|
39459
39532
|
requestHistory,
|
|
39460
|
-
serverNotifications: notifications
|
|
39533
|
+
serverNotifications: notifications,
|
|
39534
|
+
onClearHistory: clearRequestHistory,
|
|
39535
|
+
onClearNotifications: handleClearNotifications
|
|
39461
39536
|
}
|
|
39462
39537
|
) })
|
|
39463
39538
|
]
|
package/dist/index.html
CHANGED
|
@@ -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-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-Dg7mXHRE.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DZ1A0VH0.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": "@modelcontextprotocol/inspector-client",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.7",
|
|
4
4
|
"description": "Client-side application for the Model Context Protocol inspector",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Anthropic, PBC (https://anthropic.com)",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"cleanup:e2e": "node e2e/global-teardown.js"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
28
|
+
"@modelcontextprotocol/sdk": "^1.18.0",
|
|
29
29
|
"@radix-ui/react-checkbox": "^1.1.4",
|
|
30
30
|
"@radix-ui/react-dialog": "^1.1.3",
|
|
31
31
|
"@radix-ui/react-icons": "^1.3.0",
|