Skip to content

Commit ae7d745

Browse files
Ensure tests will always use the current client name and version
1 parent 0d202ee commit ae7d745

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

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 {
77
SSEClientTransportOptions,
88
SseError,
@@ -247,8 +247,8 @@ describe("useConnection", () => {
247247

248248
expect(Client).toHaveBeenCalledWith(
249249
expect.objectContaining({
250-
name: "inspector-client",
251-
version: expect.any(String),
250+
name: CLIENT_IDENTITY.name,
251+
version: CLIENT_IDENTITY.version,
252252
}),
253253
expect.objectContaining({
254254
capabilities: expect.objectContaining({

client/src/lib/hooks/useConnection.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ 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 } from "../notificationTypes";
4040
import {
4141
auth,
@@ -47,7 +47,6 @@ import {
4747
saveClientInformationToSessionStorage,
4848
discoverScopes,
4949
} from "../auth";
50-
import packageJson from "../../../package.json";
5150
import {
5251
getMCPProxyAddress,
5352
getMCPServerRequestMaxTotalTimeout,
@@ -347,10 +346,6 @@ export function useConnection({
347346
};
348347

349348
const connect = async (_e?: unknown, retryCount: number = 0) => {
350-
const [, name = packageJson.name] = packageJson.name.split("/");
351-
const version = packageJson.version;
352-
const clientIdentity = { name, version };
353-
354349
const clientCapabilities = {
355350
capabilities: {
356351
sampling: {},
@@ -362,7 +357,7 @@ export function useConnection({
362357
};
363358

364359
const client = new Client<Request, Notification, Result>(
365-
clientIdentity,
360+
CLIENT_IDENTITY,
366361
clientCapabilities,
367362
);
368363

0 commit comments

Comments
 (0)