From 4ae68ef61ec93e8ce1e4cdaf93a9b6b005656c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=A5=E9=BA=92?= Date: Fri, 5 Jun 2026 15:52:47 +0800 Subject: [PATCH] fix(mcp): let mcp commands handle auth after arg validation and dry-run check --- packages/cli/src/commands/mcp/call.ts | 2 ++ packages/cli/src/commands/mcp/tools.ts | 2 ++ packages/cli/src/main.ts | 3 +++ packages/core/lib/remote-telemetry/tracker.js | 4 +--- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/mcp/call.ts b/packages/cli/src/commands/mcp/call.ts index 5f3bf37..e234b4c 100644 --- a/packages/cli/src/commands/mcp/call.ts +++ b/packages/cli/src/commands/mcp/call.ts @@ -8,6 +8,7 @@ import { } from "bailian-cli-core"; import { failIfMissing } from "../../output/prompt.ts"; import { emitResult } from "../../output/output.ts"; +import { ensureApiKey } from "../../utils/ensure-key.ts"; function parseArgFlags(raw: string[]): Record { const out: Record = {}; @@ -106,6 +107,7 @@ export default defineCommand({ return; } + await ensureApiKey(config); const client = new McpClient(config, url); await client.initialize(); const result = await client.callTool(toolName, toolArgs); diff --git a/packages/cli/src/commands/mcp/tools.ts b/packages/cli/src/commands/mcp/tools.ts index 7a88d75..b7ffe63 100644 --- a/packages/cli/src/commands/mcp/tools.ts +++ b/packages/cli/src/commands/mcp/tools.ts @@ -8,6 +8,7 @@ import { } from "bailian-cli-core"; import { failIfMissing } from "../../output/prompt.ts"; import { emitResult } from "../../output/output.ts"; +import { ensureApiKey } from "../../utils/ensure-key.ts"; export default defineCommand({ name: "mcp tools", @@ -40,6 +41,7 @@ export default defineCommand({ return; } + await ensureApiKey(config); const client = new McpClient(config, url); await client.initialize(); const tools = await client.listTools(); diff --git a/packages/cli/src/main.ts b/packages/cli/src/main.ts index b3b94b2..f320920 100644 --- a/packages/cli/src/main.ts +++ b/packages/cli/src/main.ts @@ -60,6 +60,9 @@ const NO_AUTH_SETUP = [ ["app", "list"], ["console", "call"], ["usage", "free"], + ["mcp", "list"], + ["mcp", "tools"], + ["mcp", "call"], ]; async function main() { diff --git a/packages/core/lib/remote-telemetry/tracker.js b/packages/core/lib/remote-telemetry/tracker.js index c2e363b..1de5d9d 100644 --- a/packages/core/lib/remote-telemetry/tracker.js +++ b/packages/core/lib/remote-telemetry/tracker.js @@ -1129,9 +1129,7 @@ module.exports = (function (e) { method: "POST", keepalive: true, body: JSON.stringify({ gokey: encodeURIComponent(e), gmkey: "EXP" }), - }).catch(function (e) { - console.warn("send fail", e); - }) + }).catch(function () {}) ); }) .catch(function (t) {