angular/angular-cli · error
Unsupported '${strings.classify(selectedTool)}' MCP server c
Error message
Unsupported '${strings.classify(selectedTool)}' MCP server configuraiton. What it means
The `ai-config` schematic generates MCP server configuration for a set of supported tools (e.g. Gemini CLI, OpenAI Codex, VS Code). If the selected tool is not one of the handled cases in the switch, the schematic throws with the classified tool name in the message. (Note: the message contains a typo, "configuraiton".)
Source
Thrown at packages/schematics/angular/ai-config/index.ts:102
fileInfo,
tool: selectedTool,
};
switch (fileInfo.type) {
case ContextFileType.BestPracticesMd:
return addBestPracticesMarkdown(fileCfgOpts);
case ContextFileType.McpConfig:
switch (selectedTool) {
case Tool.ClaudeCode:
case Tool.Cursor:
case Tool.GeminiCli:
return addJsonMcpConfig(fileCfgOpts, 'mcpServers');
case Tool.OpenAiCodex:
return addTomlMcpConfig(fileCfgOpts);
case Tool.Vscode:
return addJsonMcpConfig(fileCfgOpts, 'servers');
default:
throw new Error(
`Unsupported '${strings.classify(selectedTool)}' MCP server configuraiton.`,
);
}
}
}),
);
return chain(rules);
};
}
View on GitHub (pinned to bb72145f9a)
Solutions
- Use one of the supported `--tool` values (check the schematic's schema/README, e.g. gemini-cli, openai-codex, vscode)
- Fix the spelling/casing of the tool option
- Upgrade @angular/cli and @schematics/angular together so the Tool enum and schematic handling match
- If you need a new tool, add a case in the switch calling an appropriate addJsonMcpConfig/addTomlMcpConfig variant
Example fix
// before ng add @angular/ai-config --tool=cursor // after ng add @angular/ai-config --tool=vscode
Defensive patterns
Strategy: validation
Validate before calling
const SUPPORTED_TOOLS = ['gemini-cli', 'openai-codex', 'vscode'];
if (!SUPPORTED_TOOLS.includes(options.tool)) {
throw new Error(`Unsupported tool: ${options.tool}. Use one of: ${SUPPORTED_TOOLS.join(', ')}`);
} Try / catch
try {
await generateSchematic('ai-config', { tool: selectedTool });
} catch (e) {
if (e.message.includes('MCP server configuraiton')) {
console.error(`Tool "${selectedTool}" unsupported; choose a supported --tool value`);
} else throw e;
} Prevention
- Check `ng add @angular/ai-config --help` (or the schematic schema.json) for supported tool values
- Avoid scripting arbitrary tool names
- Keep @angular/cli and @schematics/angular versions in sync
When it happens
Trigger: Running the ai-config schematic with a `tool` option value that reaches the MCP-config switch's `default` branch — i.e. a tool enum value that has no dedicated config-file writer (json mcpServers / toml / vscode servers).
Common situations: Passing an unsupported or misspelled tool name (e.g. `--tool=cursor`) when the schematic only supports specific tools; using a newer/older CLI version where the Tool enum differs; scripting the schematic with an arbitrary string.
Related errors
- Schematics has invalid name: "${name}".
- "${options.type}" is an unknown configuration file type.
- No project name provided and no default project found in wor
- Option "project" is required.
- Project is not defined in this workspace.
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/818e987db01eec78.
Report an issue: GitHub.