{"record":{"id":"4787c07194e2a4d7","repo":"musistudio/claude-code-router","slug":"mcp-server-name-is-required","errorCode":null,"errorMessage":"MCP server name is required.","messagePattern":"MCP server name is required\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/web/management-server.ts","lineNumber":350,"sourceCode":"  getProfileRuntimeStatus: () => getProfileRuntimeStatus(),\n  getProviderAccountSnapshots: (provider, options) => getProviderAccountSnapshots(provider as string | undefined, options as ProviderAccountSnapshotRequestOptions | undefined),\n  getProviderCatalogModels: (request) => getProviderCatalogModels(request as ProviderCatalogModelsRequest),\n  getOpenRouterProviderCatalog: (request) => getOpenRouterProviderCatalog(request as OpenRouterProviderCatalogRequest),\n  getProviderPresets: () => getProviderPresets(),\n  getProxyCertificateStatus: () => proxyService.getCertificateStatus(),\n  getProxyNetworkCaptures: () => proxyService.getNetworkCaptures(),\n  getProxyStatus: () => proxyService.getStatus(),\n  getRequestLogDetail: (request) => getRequestLogDetail(request as RequestLogDetailRequest),\n  getRequestLogBodyChunk: (request) => getRequestLogBodyChunk(request as RequestLogBodyChunkRequest),\n  getRequestLogs: (filter) => getRequestLogs(filter as RequestLogListFilter | undefined),\n  getUpdateStatus: () => unsupportedUpdateStatus,\n  getUsageStats: (range, filter) => getUsageStats(range as UsageStatsRange | undefined, filter as UsageStatsFilter | undefined),\n  importLocalAgentProvider: (request) => importLocalAgentProvider(request as LocalAgentProviderImportRequest),\n  installProxyCertificate: () => proxyService.installCertificate(),\n  listMcpServerTools: async (serverName) => {\n    const name = typeof serverName === \"string\" ? serverName.trim() : \"\";\n    if (!name) {\n      throw new Error(\"MCP server name is required.\");\n    }\n    const config = await loadAppConfig();\n    const server = config.agent.mcpServers.find((candidate) => candidate.name === name);\n    if (!server) {\n      throw new Error(\"MCP server must be saved before tool discovery.\");\n    }\n    return listMcpServerTools(server);\n  },\n  openBotGatewayQrWindow: async (request) => {\n    const qrRequest = request as BotGatewayQrWindowOpenRequest;\n    await openSystemExternal(qrRequest.url);\n    return {\n      message: \"Opened the QR login URL in your default browser.\",\n      observed: false,\n      opened: true\n    };\n  },\n  openBuiltInBrowser: async (url) => {","sourceCodeStart":332,"sourceCodeEnd":368,"githubUrl":"https://github.com/musistudio/claude-code-router/blob/99f24806c6a2c660b16e53e95211c517448a6c90/packages/core/src/web/management-server.ts#L332-L368","documentation":"Error \"MCP server name is required.\" thrown in musistudio/claude-code-router.","triggerScenarios":"Thrown at packages/core/src/web/management-server.ts:350 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"99f24806c6a2c660b16e53e95211c517448a6c90","analyzedAt":"2026-08-27T04:11:01.184Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}