{"record":{"id":"0324559ccf07b2e3","repo":"affaan-m/ECC","slug":"ecc-mcp-warning-msg","errorCode":null,"errorMessage":"[ecc-mcp] WARNING: ${msg}","messagePattern":"\\[ecc-mcp\\] WARNING: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"scripts/codex/merge-mcp-config.js","lineNumber":123,"sourceCode":"const RETIRED_INVALID_URL_SERVERS = {\n  exa: 'https://mcp.exa.ai/mcp'\n};\n\n// Legacy section names that should be treated as an existing ECC server.\n// e.g. older configs shipped [mcp_servers.context7-mcp] instead of\n// [mcp_servers.context7]. Empty since the June 2026 default-set reduction.\nconst LEGACY_ALIASES = {};\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction log(msg) {\n  console.log(`[ecc-mcp] ${msg}`);\n}\n\nfunction warn(msg) {\n  console.warn(`[ecc-mcp] WARNING: ${msg}`);\n}\n\n/** Shallow-compare two objects (one level deep, arrays by JSON). */\nfunction configDiffers(existing, recommended) {\n  for (const key of Object.keys(recommended)) {\n    const a = existing[key];\n    const b = recommended[key];\n    if (Array.isArray(b)) {\n      if (JSON.stringify(a) !== JSON.stringify(b)) return true;\n    } else if (a !== b) {\n      return true;\n    }\n  }\n  return false;\n}\n\n/**\n * Remove a TOML section and its key-value pairs from raw text.","sourceCodeStart":105,"sourceCodeEnd":141,"githubUrl":"https://github.com/affaan-m/ECC/blob/8321021c54d670126ce3b2969d5deb880b4b0c2a/scripts/codex/merge-mcp-config.js#L105-L141","documentation":"merge-mcp-config.js prints `[ecc-mcp] WARNING: <msg>` via its warn() helper for non-fatal MCP server configuration conditions found while merging recommended MCP server entries into the Codex config. The merge continues; the message indicates manual attention may be needed.","triggerScenarios":"main detects a condition it cannot or will not auto-fix — typically when running in add-only mode (no --update-mcp) and an existing server entry drifts from the ECC recommendation, or a legacy-named entry is present.","commonSituations":"User manually edited their MCP server config so fields differ from ECC's recommended spec; a server was renamed to a canonical name but the old legacy entry remains; running the merge in default (non-updating) mode.","solutions":["Read the message after 'WARNING:' to see which mcp_servers entry is affected","Re-run with --update-mcp to let the script migrate/refresh the entry to the ECC recommendation","Or manually edit the TOML entry to match the recommended fields in the script's specs","Re-run the merge and confirm the entry now logs `[ok]`"],"exampleFix":"// before\n$ node scripts/codex/merge-mcp-config.js\n[ecc-mcp] WARNING: mcp_servers.context7 differs from ECC recommendation...\n// after\n$ node scripts/codex/merge-mcp-config.js --update-mcp\n[ecc-mcp] [ok] mcp_servers.context7","handlingStrategy":"validation","validationCode":"// compare existing entry with recommended spec before merge\nconst differs = Object.keys(recommended).some(k => JSON.stringify(existing[k]) !== JSON.stringify(recommended[k]));\nif (differs) runMergeWithUpdateFlag();","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run the merge with --update-mcp after upgrading ECC","Avoid hand-editing fields of script-managed MCP servers","Review [ecc-mcp] WARNING lines after each run"],"tags":["codex","mcp","config","toml","drift"],"backgroundTag":"invalid-config-value","analyzedSha":"8321021c54d670126ce3b2969d5deb880b4b0c2a","analyzedAt":"2026-09-16T10:08:13.343Z","contentChangedAt":"2026-09-16T10:08:13.343Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}