Skip to content

Commit 513c053

Browse files
Ensure tests will always use the current client name and version
1 parent cc98483 commit 513c053

3 files changed

Lines changed: 13 additions & 10 deletions

File tree

client/src/lib/constants.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
import { InspectorConfig } from "./configurationTypes";
2+
import packageJson from "../../package.json";
3+
4+
// Client identity for MCP connections
5+
export const CLIENT_IDENTITY = (() => {
6+
const [, name = packageJson.name] = packageJson.name.split("/");
7+
const version = packageJson.version;
8+
return { name, version };
9+
})();
210

311
// OAuth-related session storage keys
412
export const SESSION_KEYS = {

client/src/lib/hooks/__tests__/useConnection.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { renderHook, act } from "@testing-library/react";
22
import { useConnection } from "../useConnection";
33
import { z } from "zod";
44
import { ClientRequest } from "@modelcontextprotocol/sdk/types.js";
5-
import { DEFAULT_INSPECTOR_CONFIG } from "../../constants";
5+
import { DEFAULT_INSPECTOR_CONFIG, CLIENT_IDENTITY } from "../../constants";
66
import { SSEClientTransportOptions } from "@modelcontextprotocol/sdk/client/sse.js";
77
import {
88
ElicitResult,
@@ -222,8 +222,8 @@ describe("useConnection", () => {
222222

223223
expect(Client).toHaveBeenCalledWith(
224224
expect.objectContaining({
225-
name: "inspector-client",
226-
version: expect.any(String),
225+
name: CLIENT_IDENTITY.name,
226+
version: CLIENT_IDENTITY.version,
227227
}),
228228
expect.objectContaining({
229229
capabilities: expect.objectContaining({

client/src/lib/hooks/useConnection.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,14 @@ import { RequestOptions } from "@modelcontextprotocol/sdk/shared/protocol.js";
3535
import { useEffect, useState } from "react";
3636
import { useToast } from "@/lib/hooks/useToast";
3737
import { z } from "zod";
38-
import { ConnectionStatus } from "../constants";
38+
import { ConnectionStatus, CLIENT_IDENTITY } from "../constants";
3939
import { Notification, StdErrNotificationSchema } from "../notificationTypes";
4040
import { auth } from "@modelcontextprotocol/sdk/client/auth.js";
4141
import {
4242
clearClientInformationFromSessionStorage,
4343
InspectorOAuthClientProvider,
4444
saveClientInformationToSessionStorage,
4545
} from "../auth";
46-
import packageJson from "../../../package.json";
4746
import {
4847
getMCPProxyAddress,
4948
getMCPServerRequestMaxTotalTimeout,
@@ -328,10 +327,6 @@ export function useConnection({
328327
};
329328

330329
const connect = async (_e?: unknown, retryCount: number = 0) => {
331-
const [, name = packageJson.name] = packageJson.name.split("/");
332-
const version = packageJson.version;
333-
const clientIdentity = { name, version };
334-
335330
const clientCapabilities = {
336331
capabilities: {
337332
sampling: {},
@@ -343,7 +338,7 @@ export function useConnection({
343338
};
344339

345340
const client = new Client<Request, Notification, Result>(
346-
clientIdentity,
341+
CLIENT_IDENTITY,
347342
clientCapabilities,
348343
);
349344

0 commit comments

Comments
 (0)