This document describes the Model Context Protocol (MCP) server implementation for the Ignite UI CLI and Angular Schematics packages.
The MCP server provides a programmatic interface for AI assistants to interact with Ignite UI CLI functionality. It follows the Model Context Protocol specification and implements all three core MCP primitives: Tools, Resources, and Prompts.
The CLI package includes an mcp command that exposes key CLI functionality through MCP tools for all Ignite UI frameworks: Angular, React, WebComponents, and jQuery.
To start the MCP server:
ig mcpOr via npx:
npx igniteui-cli mcpAdd the following configuration to your MCP host:
{
"mcpServers": {
"igniteui-cli": {
"command": "npx",
"args": ["-y", "igniteui-cli", "mcp"]
}
}
}The server implements:
- ✅ Tools - 8 executable functions for project management
- ✅ Resources - Contextual data access (via tools)
- ✅ Prompts - Reusable interaction templates (declared)
-
ig_new - Create a new Ignite UI project
- Parameters: name, framework (angular/react/webcomponents/jQuery), type, theme, skipGit, skipInstall, template
- Supports: All frameworks
-
ig_add - Add a component template to an existing project
- Parameters: template, name, module, skipRoute
- Supports: All frameworks
-
ig_upgrade_packages - Upgrade Ignite UI packages
- Parameters: skipInstall
- Supports: All frameworks
-
ig_interactive - Start interactive step-by-step mode
- No parameters
- Provides: Guided project creation
-
ig_list_templates - List available frameworks and templates (JSON format)
- No parameters
- Returns: Structured JSON with all components
-
ig_list_components_with_commands ⭐ NEW - List components with formatted table
- Parameters: framework (angular/react/webcomponents), format (table/json)
- Returns: Formatted table showing Component | Description | CLI Command | Schematic Command
- Example output:
Available Ignite UI Components for angular: | Component | Description | CLI Command | Schematic Command (Angular) | |------------|--------------|----------------------|-----------------------------------------------------| | grid | Data Grid | ig add grid newGrid | ng g @igniteui/angular-schematics:component grid newGrid | | combo | Combo Box | ig add combo newCombo| ng g @igniteui/angular-schematics:component combo newCombo | To add a component, use either command from the table above. After adding a component, start your application with: - For Angular: ng serve (or ig start) - For React: npm start (or ig start) - For WebComponents: npm start (or ig start)
-
ig_get_project_config ⭐ NEW - Get current project configuration
- No parameters
- Returns: Content of ignite-ui-cli.json
-
ig_get_components_catalog ⭐ NEW - Get full component catalog
- Parameters: framework
- Returns: Complete component metadata including templates, descriptions, groups
The MCP server provides unified access to:
🅰️ Angular - igniteui-angular- ⚛️ React - igniteui-react
- 🌐 WebComponents - igniteui-webcomponents
- 📦 jQuery - Legacy support
--read-only: Only register read-only tools (default: false)
The ng-schematics package includes an MCP server for Angular-specific functionality.
Via Angular CLI schematic:
ng generate @igniteui/angular-schematics:mcpThe server implements:
- ✅ Tools - 6 executable functions for Angular projects
- ✅ Resources - Contextual data access (via tools)
- ✅ Prompts - Reusable interaction templates (declared)
-
ng_new_igniteui - Create a new Angular project with Ignite UI
- Parameters: name, template, theme, skipGit
-
ng_add_component - Add an Ignite UI component
- Parameters: template, name, module, skipRoute
- Returns: Both CLI and schematic commands
-
ng_list_components - List available components (JSON)
- No parameters
-
ng_upgrade_packages - Upgrade to licensed packages
- No parameters
-
ng_list_components_with_commands ⭐ NEW - List with table formatting
- Parameters: format (table/json)
- Returns: Formatted table with both command options
-
ng_get_workspace_info ⭐ NEW - Get Angular workspace info
- No parameters
- Returns: Angular workspace configuration guidance
-
Discover Components
{ "tool": "ig_list_components_with_commands", "arguments": { "framework": "angular", "format": "table" } } -
Choose Component from the table (e.g., grid)
-
Add Component using suggested command:
ng g @igniteui/angular-schematics:component grid myGrid
Or:
ig add grid myGrid
-
Start Application
ng serve # or ig start
The same MCP server works for all frameworks:
For React:
{
"tool": "ig_list_components_with_commands",
"arguments": { "framework": "react" }
}For WebComponents:
{
"tool": "ig_list_components_with_commands",
"arguments": { "framework": "webcomponents" }
}npm run buildnpm testAll MCP tests passing:
- ✅ MCP command tests (3/3)
- ✅ MCP Server Extended Tests (10/10)
- ✅ MCP Server Capabilities (3/3)
npm run lint- Both packages use the
@modelcontextprotocol/sdk@1.21.0library - The MCP server uses stdio transport for communication
- When run in a TTY (interactive terminal), the command displays usage instructions
- When run non-interactively (e.g., from an MCP host), it starts the MCP server
capabilities: {
tools: {}, // Executable functions
resources: {}, // Contextual data sources
prompts: {}, // Interaction templates
}The enhanced list tools provide formatted tables that show:
- Component name and description
- Two command options: CLI command AND schematic command (for Angular)
- Framework-specific start commands
- Clear next steps guidance
This addresses the key requirement for developers to see both command options side-by-side and know how to start their application after adding a component.
For complete Angular development, configure both MCP servers:
{
"mcpServers": {
"angular-cli": {
"command": "npx",
"args": ["-y", "@angular/cli", "mcp"]
},
"igniteui-cli": {
"command": "npx",
"args": ["-y", "igniteui-cli", "mcp"]
}
}
}This allows AI assistants to:
- Use Angular CLI tools for core Angular operations (build, serve, test, generate standard components)
- Use Ignite UI CLI tools for Ignite UI-specific operations (add Ignite UI components, configure themes)
Potential additions based on the discussion:
ig_get_component_docs- Detailed component documentationig_search_docs- Documentation searchig_get_code_example- Code examples for componentsig_check_compatibility- Version compatibility checkingig_get_migration_guide- Migration guides between versionsig_get_best_practices- Framework-specific best practices