Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions cli/src/client/connection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ export async function connect(
): Promise<void> {
try {
await client.connect(transport);

if (client.getServerCapabilities()?.logging) {
// default logging level is undefined in the spec, but the user of the
// inspector most likely wants debug.
await client.setLoggingLevel("debug");
}
} catch (error) {
throw new Error(
`Failed to connect to MCP server: ${error instanceof Error ? error.message : String(error)}`,
Expand Down
1 change: 1 addition & 0 deletions client/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,7 @@ const App = () => {
window.location.hash = "elicitations";
},
getRoots: () => rootsRef.current,
defaultLoggingLevel: logLevel,
});

useEffect(() => {
Expand Down
6 changes: 6 additions & 0 deletions client/src/lib/hooks/useConnection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import {
ToolListChangedNotificationSchema,
PromptListChangedNotificationSchema,
Progress,
LoggingLevel,
ElicitRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
import { RequestOptions } from "@modelcontextprotocol/sdk/shared/protocol.js";
Expand Down Expand Up @@ -72,6 +73,7 @@ interface UseConnectionOptions {
onElicitationRequest?: (request: any, resolve: any) => void;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
getRoots?: () => any[];
defaultLoggingLevel?: LoggingLevel;
}

export function useConnection({
Expand All @@ -90,6 +92,7 @@ export function useConnection({
onPendingRequest,
onElicitationRequest,
getRoots,
defaultLoggingLevel,
}: UseConnectionOptions) {
const [connectionStatus, setConnectionStatus] =
useState<ConnectionStatus>("disconnected");
Expand Down Expand Up @@ -560,6 +563,9 @@ export function useConnection({
});
}

if (capabilities?.logging && defaultLoggingLevel) {
await client.setLoggingLevel(defaultLoggingLevel);

if (onElicitationRequest) {
client.setRequestHandler(ElicitRequestSchema, async (request) => {
return new Promise((resolve) => {
Expand Down
Loading