summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/mcp-client.ts
diff options
context:
space:
mode:
authorBilly Biggs <[email protected]>2025-07-14 06:42:22 +0200
committerGitHub <[email protected]>2025-07-14 04:42:22 +0000
commitbc4182b9d2925df692a77a2874b53e1da4ce9bf0 (patch)
tree941a856e37ce76025c248df797b4a329e9689b05 /packages/core/src/tools/mcp-client.ts
parentc7840966e2bdd1c57433ccefcea41e925b798046 (diff)
Show stderr output from mcp servers in debug mode (#4049)
Diffstat (limited to 'packages/core/src/tools/mcp-client.ts')
-rw-r--r--packages/core/src/tools/mcp-client.ts20
1 files changed, 19 insertions, 1 deletions
diff --git a/packages/core/src/tools/mcp-client.ts b/packages/core/src/tools/mcp-client.ts
index e4a87b68..6edfbac8 100644
--- a/packages/core/src/tools/mcp-client.ts
+++ b/packages/core/src/tools/mcp-client.ts
@@ -127,6 +127,7 @@ export async function discoverMcpTools(
mcpServers: Record<string, MCPServerConfig>,
mcpServerCommand: string | undefined,
toolRegistry: ToolRegistry,
+ debugMode: boolean,
): Promise<void> {
// Set discovery state to in progress
mcpDiscoveryState = MCPDiscoveryState.IN_PROGRESS;
@@ -147,7 +148,12 @@ export async function discoverMcpTools(
const discoveryPromises = Object.entries(mcpServers).map(
([mcpServerName, mcpServerConfig]) =>
- connectAndDiscover(mcpServerName, mcpServerConfig, toolRegistry),
+ connectAndDiscover(
+ mcpServerName,
+ mcpServerConfig,
+ toolRegistry,
+ debugMode,
+ ),
);
await Promise.all(discoveryPromises);
@@ -174,6 +180,7 @@ async function connectAndDiscover(
mcpServerName: string,
mcpServerConfig: MCPServerConfig,
toolRegistry: ToolRegistry,
+ debugMode: boolean,
): Promise<void> {
// Initialize the server status as connecting
updateMCPServerStatus(mcpServerName, MCPServerStatus.CONNECTING);
@@ -223,6 +230,17 @@ async function connectAndDiscover(
return;
}
+ if (
+ debugMode &&
+ transport instanceof StdioClientTransport &&
+ transport.stderr
+ ) {
+ transport.stderr.on('data', (data) => {
+ const stderrStr = data.toString().trim();
+ console.debug(`[DEBUG] [MCP STDERR (${mcpServerName})]: `, stderrStr);
+ });
+ }
+
const mcpClient = new Client({
name: 'gemini-cli-mcp-client',
version: '0.0.1',