Skip to content

Commit bf44ce3

Browse files
Copilotkdinev
andcommitted
Add MCP server package with core implementation
Co-authored-by: kdinev <[email protected]>
1 parent e1046f3 commit bf44ce3

File tree

6 files changed

+829
-27
lines changed

6 files changed

+829
-27
lines changed

packages/mcp-server/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules/
2+
dist/
3+
*.log
4+
.DS_Store

packages/mcp-server/README.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# Ignite UI MCP Server
2+
3+
Model Context Protocol (MCP) server for Ignite UI CLI, enabling AI assistants to create and manage Ignite UI projects programmatically.
4+
5+
## Overview
6+
7+
This MCP server exposes the capabilities of the Ignite UI CLI through the Model Context Protocol, allowing AI assistants and other MCP clients to:
8+
9+
- Create new Ignite UI projects for Angular, React, Web Components, and jQuery
10+
- Upgrade projects from trial to licensed versions
11+
- Access Ignite UI documentation and generate component code
12+
13+
## Installation
14+
15+
```bash
16+
npm install -g @igniteui/mcp-server
17+
```
18+
19+
Or use it directly with npx:
20+
21+
```bash
22+
npx @igniteui/mcp-server
23+
```
24+
25+
## Usage
26+
27+
### With Claude Desktop
28+
29+
Add to your Claude Desktop configuration file:
30+
31+
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
32+
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
33+
34+
```json
35+
{
36+
"mcpServers": {
37+
"igniteui": {
38+
"command": "npx",
39+
"args": ["-y", "@igniteui/mcp-server"]
40+
}
41+
}
42+
}
43+
```
44+
45+
### With Other MCP Clients
46+
47+
The server communicates over stdio and follows the MCP protocol specification. Start it with:
48+
49+
```bash
50+
npx @igniteui/mcp-server
51+
```
52+
53+
## Available Tools
54+
55+
### 1. create_igniteui_project
56+
57+
Create a new Ignite UI project for the specified framework.
58+
59+
**Parameters:**
60+
- `name` (required): Project name
61+
- `framework` (required): One of `angular`, `react`, `webcomponents`, or `jquery`
62+
- `projectType` (optional): Project type (e.g., `igx-ts` for Angular, `igr-es6` or `igr-ts` for React, `igc-ts` for Web Components)
63+
- `template` (optional): Project template (e.g., `empty`, `side-nav`, `side-nav-auth`)
64+
- `theme` (optional): Theme name
65+
- `skipGit` (optional): Skip Git initialization (default: false)
66+
- `skipInstall` (optional): Skip npm installation (default: false)
67+
68+
**Example:**
69+
```typescript
70+
{
71+
"name": "my-app",
72+
"framework": "angular",
73+
"projectType": "igx-ts",
74+
"template": "side-nav"
75+
}
76+
```
77+
78+
### 2. upgrade_to_licensed
79+
80+
Upgrade an Ignite UI project from trial to licensed version.
81+
82+
**Parameters:**
83+
- `projectPath` (optional): Path to project directory (defaults to current directory)
84+
- `skipInstall` (optional): Skip npm installation after upgrade (default: false)
85+
86+
**Example:**
87+
```typescript
88+
{
89+
"projectPath": "./my-app",
90+
"skipInstall": false
91+
}
92+
```
93+
94+
### 3. generate_from_docs
95+
96+
Generate component code from Ignite UI documentation.
97+
98+
**Parameters:**
99+
- `component` (required): Component or term to search (e.g., `grid`, `data-grid`, `chart`)
100+
- `framework` (optional): Framework context for documentation search
101+
102+
**Example:**
103+
```typescript
104+
{
105+
"component": "data-grid",
106+
"framework": "angular"
107+
}
108+
```
109+
110+
## Supported Frameworks
111+
112+
- **Ignite UI for Angular**: Create TypeScript Angular applications with Ignite UI components
113+
- **Ignite UI for React**: Create React applications with Ignite UI components
114+
- **Ignite UI for Web Components**: Create standards-based Web Components applications
115+
- **Ignite UI for jQuery**: Create jQuery applications with Ignite UI controls
116+
117+
## Development
118+
119+
### Building
120+
121+
```bash
122+
npm run build
123+
```
124+
125+
### Running Locally
126+
127+
```bash
128+
npm run build
129+
node dist/index.js
130+
```
131+
132+
## License
133+
134+
MIT
135+
136+
## Links
137+
138+
- [Ignite UI CLI Documentation](https://github.com/IgniteUI/igniteui-cli/wiki)
139+
- [Model Context Protocol](https://modelcontextprotocol.io/)
140+
- [Ignite UI for Angular](https://www.infragistics.com/products/ignite-ui-angular)
141+
- [Ignite UI for React](https://www.infragistics.com/products/ignite-ui-react)
142+
- [Ignite UI for Web Components](https://www.infragistics.com/products/ignite-ui-web-components)

packages/mcp-server/package.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"name": "@igniteui/mcp-server",
3+
"version": "1.0.0",
4+
"description": "Model Context Protocol (MCP) server for Ignite UI CLI",
5+
"keywords": [
6+
"MCP",
7+
"Model Context Protocol",
8+
"Ignite UI",
9+
"CLI"
10+
],
11+
"author": "Infragistics",
12+
"license": "MIT",
13+
"repository": {
14+
"type": "git",
15+
"url": "https://github.com/IgniteUI/igniteui-cli.git",
16+
"directory": "packages/mcp-server"
17+
},
18+
"bin": {
19+
"igniteui-mcp": "dist/index.js"
20+
},
21+
"main": "dist/index.js",
22+
"types": "dist/index.d.ts",
23+
"scripts": {
24+
"build": "tsc",
25+
"watch": "tsc --watch",
26+
"prepublishOnly": "npm run build"
27+
},
28+
"files": [
29+
"dist/**/*",
30+
"README.md"
31+
],
32+
"dependencies": {
33+
"@modelcontextprotocol/sdk": "^1.20.0",
34+
"@igniteui/cli-core": "~14.6.3",
35+
"igniteui-cli": "~14.6.3"
36+
},
37+
"devDependencies": {
38+
"@types/node": "^22.5.5",
39+
"typescript": "~5.6.2"
40+
}
41+
}

0 commit comments

Comments
 (0)