Ignite UI MCP Server

io.github.IgniteUI由 GitHub 帳號 IgniteUI 發布v15.9.0更新於 Nov 7, 2026

Unified MCP server for Ignite UI — documentation, API, and CLI scaffolding

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理查詢 Ignite UI 的文件、API 參考與專案建置指引,涵蓋 Angular、React、Blazor 與 Web Components。

可以做什麼
  • 瀏覽與閱讀元件文件:依框架列出文件索引、依名稱取得完整 markdown 文件,並對文件做全文搜尋。
  • 搜尋與查閱 API:依關鍵字或部分元件名稱在四個框架中檢索,並依精確名稱回傳元件或類別的完整 API 參考。
  • 解析匯入語句:在撰寫 import 之前回傳 Ignite UI 符號所屬的套件與進入點。
  • 取得專案建置指南:Angular、React、Web Components 的腳手架步驟,以及 Blazor 的 dotnet new 與 NuGet 設定說明。
適用情境
適合在開發或維護使用 Ignite UI 元件的應用程式時,讓助理查閱對應框架的正確文件、API 簽章與匯入路徑,而不是憑猜測作答。建立新的 Ignite UI 專案、需要建置步驟時也適用。
執行需求
以 stdio 方式在本機執行,通常透過 npx 使用 @igniteui/mcp-server 套件,因此需要 Node.js,首次下載還需要網路存取。未宣告任何驗證、環境變數或標頭。首次啟動時 npx 快取套件可能需要 10 秒以上。
安裝前請注意
此伺服器只做唯讀的文件查詢,本身不會產生或修改專案。固定版本或全域安裝不會自動更新,內建文件會停留在該版本。較完整的 Ignite UI CLI 會向 Google Analytics 匿名回報使用統計,除非關閉分析功能。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Ignite UI MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Ignite UI CLI

[Node.js CI] [Coverage Status] [npm version] [Discord]

Quickly create projects, including Ignite UI for Angular and Ignite UI for Web Components, for a variety of frameworks.

Overview

Features:

  • Create project structure
  • Add views with Ignite UI components (e.g. Combo, Grid or Chart)
  • Add scenario based templates with multiple components (e.g. a dashboard)
  • Build and install npm packages
  • Select a theme, support for custom themes coming soon
  • Step by step guide

Supported frameworks

  • Angular
  • React
  • Web Components
  • Blazor
  • jQuery

Prerequisites

The repository houses multiple packages and orchestrates building and publishing them with lerna and yarn workspaces.

In order to build the repository locally, you need to have yarn installed on your machine. For installation instructions, please visit their official page

Packages

This monorepo contains several packages that combine into the igniteui-cli:

PackageDescriptionLocation
@igniteui/cli-coreContains the core functionality of the cli toolpackages/core
@igniteui/angular-templatesContains the template definitions for Angular componentspackages/igx-templates
@igniteui/angular-schematicsIgniteUI CLI implementation to be used with Angular CLI's schematics enginepackages/ng-schematics
igniteui-cliStandalone IgniteUI CLI tool for React, Blazor, Angular, jQuery and Web Componentspackages/cli
@igniteui/mcp-serverMCP server providing AI assistants with Ignite UI documentation and API referencepackages/igniteui-mcp/igniteui-doc-mcp

Table of Contents

Installation

Install the npm package as a global module:

bash
npm install -g igniteui-cli

Usage

The main entry point is igniteui and is also aliased as ig. Both can be used interchangeably to call available commands. Check out our Wiki documentation for more details.

Step by step

To get a guided experience through the available options, simply run:

bash
ig

[圖片]

Upon creation, project will be automatically loaded in the default browser. NOTE: If that doesn't happen the port may be already in use. Ports vary for different project types, see the description for the ig start command for details on default ports.

List the available commands.

bash
ig help

Generating projects and adding components

Create a new project passing name, framework and style theme.

bash
ig new <project name> --framework=<framework> --type=<proj-type> --theme=<theme>

This will create the project and will install the needed dependencies.

Parameters besides name are optional. Framework defaults to "angular", project type defaults to the first available in the framework and theme to the first available for the project. For more information visit ig new Wiki page.

Generate Ignite UI for Angular project

To create a new project with Ignite UI for Angular use ig new by specifying angular as framework, and optionally igx-ts as project type and selecting one of the project templates:

bash
ig new "IG Project" --framework=angular --type=igx-ts --template=side-nav
Generate Ignite UI for React project

To create a new project with Ignite UI for React use ig new by specifying react as framework and igr-ts as project type:

bash
ig new "IG Project" --framework=react --type=igr-ts
Generate Ignite UI for Web Components project

To create a new project with Ignite UI for Web Components use ig new by specifying webcomponents as framework:

bash
ig new "IG Project" --framework=webcomponents
Adding components

Once you have created a project, at any point you can add additional component templates using ig add. Running the command without parameters will guide you through the available templates:

bash
ig add

Add a new component or template to the project passing component ID and choosing a name.

bash
ig add <component/template> <component_name>

The ID matches either a component ("grid", "combo", "text-editor", etc) or a predefined template. Predefined templates are framework/project specific and can provide predefined views with either multiple components or fulfilling a specific use case like "form-validation", "master-detail" and so on.

For full list of supported templates in the current project you can simply run ig list command:

bash
ig list

Build and run

bash
ig buildig start

Configure AI Tooling

Ignite UI provides rich AI assisted development toolchain. To configure Ignite UI AI tooling — MCP servers and AI coding skills — run:

bash
ig ai-config

You will be prompted with two selections:

  • AI agents — which tools to generate skill and instruction files for (Generic and Claude are selected by default)
  • Coding assistants — which assistants to configure MCP servers for (general .mcp.json is selected by default, compatible with Claude Code, VS Code, and others)

You can also pass options directly:

bash
ig ai-config --agents claude copilot generic --assistants vscode cursor

This creates or updates the assistant-specific MCP config file (e.g. .mcp.json, .vscode/mcp.json, .cursor/mcp.json) with entries for the Ignite UI MCP and igniteui-theming MCP servers (existing servers are preserved), copies AI coding skill files from installed Ignite UI packages, and generates agent-specific instruction files (e.g. CLAUDE.md, AGENTS.md).

The ig new command also prompts for AI tool configuration as part of project creation.

MCP Server

The CLI includes a bundled MCP (Model Context Protocol) server that provides AI assistants with Ignite UI documentation search, API reference lookup, and scaffolding guidance for Angular, React, Blazor, and Web Components.

Start the MCP server:

bash
ig mcp

The server runs over stdio and supports the following options:

bash
ig mcp --remote <url>   # Use a remote backend instead of the local SQLite databaseig mcp --debug          # Enable debug logging to mcp-server.log

Using with AI Assistants

For VS Code, the ig ai-config command handles configuration automatically (see above). For other MCP clients (e.g., Claude Desktop, Cursor), configure them manually:

json
{  "mcpServers": {    "igniteui-cli": {      "command": "npx",      "args": ["-y", "@igniteui/mcp-server"]    },    "igniteui-theming": {      "command": "npx",      "args": ["-y", "igniteui-theming", "igniteui-theming-mcp"]    }  }}

In a project that lists igniteui-cli as a dependency, ig ai-config writes "args": ["-y", "igniteui-cli", "mcp"] instead, which starts the server bundled with the project's CLI. Use that form there too when configuring manually: with pnpm, npx -y @igniteui/mcp-server cannot start inside such a project.

The first start downloads the server into the npx cache, which can take 10 seconds or more, and npx downloads it again after each new release. If your MCP client has a short connection timeout, install the server globally (npm install -g @igniteui/mcp-server) and use "command": "igniteui-mcp" with no arguments, or pin a version ("args": ["-y", "@igniteui/mcp-server@<version>"]). Pinned and global installs don't update on their own, so the bundled documentation stays at that version until you change it.

The MCP server exposes the following tools to AI assistants:

ToolDescription
list_componentsList available Ignite UI component docs. Filter by framework and optional keyword match against filename, component name, keywords, or summary.
get_docReturn the full markdown content of a specific component doc by name (e.g., grid-editing, accordion).
search_docsFull-text search across Ignite UI docs for a specific framework. Supports prefix matching (e.g., grid*).
search_apiSearch Ignite UI API entries by keyword, feature name, or partial component name.
get_api_referenceReturn the full API reference for a specific Ignite UI component or class by exact name.
get_project_setup_guideReturns setup guides for creating a new Ignite UI project. For Angular/React/Web Components: CLI scaffolding instructions. For Blazor: dotnet new + NuGet setup guide.

Testing with MCP Inspector

To interactively test and debug the MCP server tools:

bash
npx @modelcontextprotocol/inspector ig mcp

Schematics

You can also add Ignite UI for Angular components to your projects by using the igniteui/angular-schematics package. It included schematic definitions for most of the logic present in the igniteui-cli. These can be called in any existing Angular project or even when creating one. You can learn more about the schematics package on from its readme.

Contribution

See the Contribution guide to get started.

Run locally

  1. Clone the repository

  2. Install dependencies with yarn install

  3. Build the MCP server and bundle it into the CLI:

    bash
    cd packages/igniteui-mcp/igniteui-doc-mcpnpm installnpm run buildcd ../../..npm run build:mcp
  4. Build the monorepo packages: npm run build

  5. Open in Visual Studio Code

    There is a predefined launch.config file for VS Code in the root folder, so you can use VS Code View/Debug window and choose one of the predefined actions. These include launching the step by step guide, create new project for a particular framework or add components.

  6. Hit Start Debugging/F5

Template smoke test

scripts/smoke-test.sh drives the locally built CLI end to end: it scaffolds a project, adds every component template into it, installs, and builds. The Jasmine specs under spec/ stub out PackageManager.installPackages, so they verify that files land on disk but never that the result installs or compiles — this script covers that gap.

bash
npm run build                 # required: the script runs your local build, not the published CLIscripts/smoke-test.sh         # angular, react and webcomponents (~20-30 min)

Options:

OptionMeaning
-f, --frameworks LISTcomma separated; default angular,react,webcomponents
-p, --project IDproject template to scaffold (default: the framework's own default)
--all-projectsscaffold and build every project template, skip component adds
--templates LISTonly these component template ids — the fast path when iterating
--isolateone project per component template; slow, use to bisect a failure
--skip-buildscaffold and add only
--keepkeep the generated projects even when everything passes
-o, --out DIRwork directory (default output/smoke, which is gitignored) — wiped on each run, see below
-j, --jobs Nframeworks to run in parallel (default 1)
bash
scripts/smoke-test.sh -f angular --templates grid,combo    # quick check, ~2 minscripts/smoke-test.sh -f angular --all-projects            # every Angular project templatescripts/smoke-test.sh -f webcomponents --isolate           # bisect which template broke

Per-step logs land in <out>/logs/, and <out>/results.tsv is a machine-readable framework / step / template / status / seconds table. The script exits non-zero if any step failed and prints a summary of the failures.

The work directory is deleted and recreated on every run, so the script refuses to touch anything it cannot show is its own: the filesystem root, your home directory, the repository or any directory containing it, and any non-empty directory that lacks either the .smoke-test-workdir sentinel it drops or the results.tsv of an earlier run. Point --out elsewhere, or remove the directory yourself, if you hit that.

Two things to know if you modify it:

  • All ig calls must happen before npm install. packages/cli/bin/execute.js delegates to node_modules/igniteui-cli whenever one resolves inside the current directory, and every project template lists igniteui-cli as a devDependency — so once a generated project has been installed, ig add silently switches to the published CLI and its bundled templates. Scaffolding with --skip-install keeps PackageManager.queuePackage from spawning installs, so dependencies are written to package.json and installed once at the end.
  • Exit codes are not sufficient. Util.error logs and returns without setting one, so ig add does-not-exist x exits 0. Each step is judged on its exit code and an error scan of its log and an artifact check.

jQuery and Blazor are opt-in via -f. jQuery has no build script and 13 of its templates pull ignite-ui-full from the Infragistics ProGet feed, which needs credentials; Blazor needs the .NET SDK and has no component templates, so only dotnet build runs.

MCP Server development

The MCP server at packages/igniteui-mcp/igniteui-doc-mcp has its own build pipeline, separate from the monorepo. It uses ESM (ES2022, Node16 modules) while the rest of the monorepo uses CommonJS. See DEVELOPMENT.md for the full MCP server development guide.

Build the MCP server:

bash
cd packages/igniteui-mcp/igniteui-doc-mcpnpm install          # Install MCP-specific dependencies (separate from yarn workspaces)npm run build        # Compile TypeScript + copy SQLite DB to dist/

Build API reference documentation:

The MCP server includes API reference docs for Angular, React, and Web Components. Angular and Web Components docs are generated from framework submodules via TypeDoc (submodules are auto-initialized by the build scripts). React uses a pre-built TypeDoc JSON model checked into git.

bash
cd packages/igniteui-mcp/igniteui-doc-mcpnpm run build:docs:angular         # Angular: init submodule → TypeDoc → markdown + index.jsonnpm run build:docs:webcomponents   # Web Components: init submodule → build lib → TypeDoc → markdown + index.jsonnpm run build:docs:all             # Build both

Note: Web Components requires a one-time library build (npm run build:publish in the submodule) before TypeDoc can run. The build script handles this automatically.

Build MCP server (from the repo root):

bash
npm run build:mcp    # Compiles MCP server TypeScript and copies SQLite DB into dist/

Test the MCP server locally:

bash
npm run build:mcpnpm run buildnode packages/cli/lib/cli.js mcp          # Start via CLI# or directly:node packages/cli/mcp/dist/index.js       # Start the bundled server
Building CLI package with bundled MCP server

The CLI package includes the MCP server as a bundled build artifact (not an npm dependency). To produce a complete CLI package with full MCP functionality, follow these steps:

bash
# 1. Install monorepo dependenciesyarn install
# 2. Build the MCP servercd packages/igniteui-mcp/igniteui-doc-mcpnpm installnpm run build                              # Compile TypeScript + copy SQLite DB
# 3. Build API reference docs (optional but recommended for full functionality)npm run build:docs:all                     # Init submodules + generate Angular + WC API docs via TypeDoc
# 4. Bundle MCP into CLI (from repo root)cd ../../..npm run build:mcp                      # Build MCP server
# 5. Build all packages for publishingnpm run build-pack

After step 5, npm pack from the repo root or packages/cli/ will produce a tarball with the MCP server, documentation database, and API reference docs all included.

Skipping API docs: If you skip step 3, the MCP server will still work for list_components, get_doc, search_docs, and get_project_setup_guide tools using the bundled SQLite database. Only the get_api_reference and search_api tools require API docs.

Data Collection

The Ignite UI CLI tool uses Google Analytics to anonymously report feature usage statistics and basic crash reports. This data is used to help improve the Ignite UI CLI tools over time. You can opt out of analytics before any data is sent by using

bach
ig config set disableAnalytics true -g

when using the CLI. You can read Infragistics privacy policy at https://www.infragistics.com/legal/privacy.

來源:README.md,提交 b6f9bbc

工具

7

list_components

Browse the Ignite UI component documentation index for a framework, grouped by the published documentation table of contents. By default returns a compact index: one heading per group with a short group summary and the doc names it contains. Use it to discover what docs exist before calling get_doc. For feature-based or free-text queries ("how do I enable row editing"), use search_docs instead. Narrowing, cheapest first: - 'group' — pass a heading exactly as printed by the index (e.g. "Grids & Lists > Data Grid") to get that group's docs with a summary each, in documentation order. An unknown value returns the valid headings rather than an error. - 'filter' — case-insensitive substring match on filename, component name, keywords, summary, or group name. Groups with no match are omitted; per-doc summaries are included when few enough docs match. Combine with 'group' to search inside one group. - 'detail: "docs"' — the flat per-doc list with a summary for every doc. This is the largest response by a wide margin; reach for it only when you genuinely need every summary at once. It matches the five doc columns only, not group names. Doc names printed by any mode are what you pass as the 'name' parameter to get_doc. ⭐ marks premium docs. No pagination — the full result set is returned in one call.

輸入參數groupdetailfilterframework必填

get_doc

Retrieve the full markdown content of one specific Ignite UI component doc by its exact name. The name is kebab-case without the .md extension (e.g. "grid-editing", "combo-overview", "accordion"). For grid feature docs, the bare feature name works without the "grid-" prefix — e.g. "sorting" resolves to "grid-sorting", "remote-data-operations" resolves to "grid-remote-data-operations". Common aliases are also handled: "virtualization" → "grid-virtualization", "virtual-scroll" → "grid-virtualization". For completely unknown names, use list_components or search_docs to discover the exact name first. Returns YAML frontmatter (component, keywords, summary) followed by the complete markdown body with code samples, tables, and links. Returns isError if the doc name is not found, with a suggestion to use list_components.

輸入參數name必填framework必填

search_docs

Full-text search across all Ignite UI documentation for a specific framework. Use this when the user asks "how do I..." or describes a feature need — e.g. "column pinning", "data validation", "virtual scroll", "remote data", "tree*". For browsing by component name instead, use list_components. For a known doc name, use get_doc directly. Returns up to 20 results ranked by relevance — results are title- and keyword-weighted, so the first result is typically the dedicated feature doc for the query. Each result includes: doc name (pass to get_doc for full content), display name, summary, and a text excerpt with matching terms highlighted between >>> and <<<. Query syntax: multi-word queries require ALL terms to appear (implicit AND) — "virtual scroll" matches docs containing both words. Prefix matching with trailing * (e.g. "grid*"). Hyphenated terms matched as a phrase (e.g. "grid-editing"). Special characters are sanitized automatically — only * needs to be passed explicitly. Query must be non-empty.

輸入參數query必填framework必填

get_project_setup_guide

Get the Ignite UI project setup guide for one framework: angular, react, blazor, or webcomponents. Use this when the user wants to create a new Ignite UI project, needs installation or scaffolding steps, or asks how to set up Ignite UI for a specific framework. Use documentation tools such as list_components or search_api first if you need to identify which components the user plans to use. Returns documentation text only. For Angular, React, and Web Components, it returns Ignite UI CLI setup and template guidance. For Blazor, it returns dotnet new and NuGet installation guidance. The response may contain one or more markdown guide sections concatenated into a single text result. This tool is read-only: it does not create files, run commands, detect the current project, or modify the workspace. Template rule: start with the base template unless the user explicitly needs multiple routed views. Use side-nav only when multi-view routing is actually required.

輸入參數framework

get_api_reference

Look up the full API reference for a specific Ignite UI component or class by exact name. Case-insensitive matching. Covers all four frameworks: angular, react, webcomponents, and blazor. Use this when you already know the exact component name — from the user's code (e.g. IgxGridComponent, IgrGrid, IgcSelect) or from a previous search_api result. If you only have a keyword or partial name, call search_api first to discover the exact name. Returns formatted markdown with the class/interface summary, properties (with types and descriptions), methods (with signatures), and events. Use section="properties", "methods", or "events" to retrieve only that section and reduce response size. Defaults to section="all". Supply member="<name>" (e.g. "checked", "click", "igcChange") to return only a single property/method/event line instead of the full entry — useful when the user is asking about one specific member. Takes precedence over section when both are supplied. Component name must be ≤128 characters. Returns isError with a suggestion to use search_api if not found, or if a supplied member name does not exist on the component.

輸入參數membersectionplatform必填component必填

search_api

Search Ignite UI API entries by keyword, feature name, or partial component name. Returns up to 10 results ranked by relevance across all four frameworks: angular, react, webcomponents, and blazor. Use this as the discovery step when the exact component name is unknown — e.g. the user asks about "grid virtualization" or "combo filtering". Also use it to confirm which framework a component belongs to. Do NOT use this if you already know the exact component name — call get_api_reference directly instead. Each result includes: exact component name, framework tag, API type (class/interface/directive/enum), match count, keyword list, and a content excerpt. Pass the component name and framework from a result to get_api_reference for full details. To reduce response size, use section="properties", "methods", or "events" instead of the default "all". Always specify `platform` when your target framework is known — this prevents cross-framework API contamination. Omit only when you explicitly need to compare or search across all frameworks at once. Maximum query length is 256 characters.

輸入參數query必填platform

resolve_import

Return the exact import statement for Ignite UI symbols — which package and entry point each class, directive, module, service, interface, enum, type or constant must be imported from. Covers angular, react, webcomponents, and blazor. Call this BEFORE writing or fixing import statements. Ignite UI for Angular is split into secondary entry points (e.g. IgxGridComponent → 'igniteui-angular/grids/grid', IgxColumnComponent → 'igniteui-angular/grids/core', IgxButtonDirective → 'igniteui-angular/directives'); guessed paths are a common cause of "has no exported member" / "cannot find module" compile errors. React and Web Components symbols are spread over several packages (e.g. igniteui-react-grids, igniteui-webcomponents-grids/grids). For Blazor, returns the NuGet package, the @using namespace and the module registration. Pass every symbol a file needs in one call: symbols=["IgxGridComponent", "IgxColumnComponent"]. The platform is inferred from the Igx/Igr/Igc/Igb prefix; pass `platform` for names without one (e.g. "GridSelectionMode"). Returns ready-to-paste import lines grouped by module, plus "Did you mean" suggestions for names that do not exist (e.g. IgxGrid → IgxGridComponent). Up to 50 symbols per call.

輸入參數symbols必填platform

版本歷史

4
  1. v15.9.0最新Nov 5, 2026
  2. v15.8.2Oct 12, 2026
  3. v15.8.1Oct 2, 2026
  4. v15.6.1Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分