Skip to content

Commit 3f37833

Browse files
committed
Merge branch 'feat/igniteui-mcp' into ibarakov/setup-api-mcp
2 parents 7f50fae + 871d2c9 commit 3f37833

40 files changed

Lines changed: 756 additions & 578 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Source and config
2+
src/
3+
tsconfig.json
4+
.env
5+
.env.*
6+
.gitattributes
7+
CLAUDE.md
8+
test.json
9+
10+
# Pipeline scripts
11+
scripts/
12+
13+
# Documentation submodules and processing artifacts
14+
angular/
15+
blazor/
16+
react/
17+
webcomponents/
18+
common/
19+
docs_baseline/
20+
dist/docs_processing/
21+
dist/docs_prepeared/
22+
dist/docs_final/
23+
dist/diff-manifest.json
24+
tmp/
25+
26+
# Dev files
27+
node_modules/
28+
*.tgz

packages/igniteui-mcp/igniteui-doc-mcp/DEVELOPMENT.md

Lines changed: 512 additions & 0 deletions
Large diffs are not rendered by default.

packages/igniteui-mcp/igniteui-doc-mcp/README.md

Lines changed: 69 additions & 442 deletions
Large diffs are not rendered by default.

packages/igniteui-mcp/igniteui-doc-mcp/package.json

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@
44
"description": "Unified MCP server for Ignite UI — documentation, GitHub API, and CLI scaffolding",
55
"type": "module",
66
"main": "dist/index.js",
7+
"exports": {
8+
".": "./dist/index.js"
9+
},
710
"bin": {
811
"igniteui-mcp": "./dist/index.js"
912
},
13+
"files": [
14+
"dist/**/*.js",
15+
"dist/**/*.d.ts",
16+
"dist/igniteui-docs.db",
17+
"README.md"
18+
],
1019
"scripts": {
1120
"build": "tsc && npx tsx scripts/build.ts",
1221
"start": "node dist/index.js",
@@ -68,10 +77,6 @@
6877
"dependencies": {
6978
"@modelcontextprotocol/sdk": "^1.12.1",
7079
"dotenv": "^17.2.4",
71-
"js-tiktoken": "^1.0.21",
72-
"js-yaml": "^4.1.1",
73-
"octokit": "^5.0.5",
74-
"openai": "^6.22.0",
7580
"sql.js": "^1.14.1",
7681
"zod": "^3.25.1"
7782
},
@@ -81,6 +86,10 @@
8186
"@types/node": "^25.2.2",
8287
"@types/tmp": "^0.2.6",
8388
"better-sqlite3": "^12.6.2",
89+
"js-tiktoken": "^1.0.21",
90+
"js-yaml": "^4.1.1",
91+
"octokit": "^5.0.5",
92+
"openai": "^6.22.0",
8493
"tsx": "^4.21.0",
8594
"typescript": "^5.8.3",
8695
"typedoc": "^0.28.6",

packages/igniteui-mcp/igniteui-doc-mcp/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/usr/bin/env node
12
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
23
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
34
import { z } from "zod";

packages/igniteui-mcp/igniteui-doc-mcp/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"outDir": "./dist",
88
"rootDir": "./src",
99
"strict": true,
10+
"declaration": true,
1011
"esModuleInterop": true,
1112
"skipLibCheck": true
1213
},

packages/igx-templates/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/__filePrefix__.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ import {
4444
} from 'igniteui-angular-charts';
4545
import { timer } from 'rxjs';
4646
import { debounce } from 'rxjs/operators';
47-
import { LocalDataService } from './localData.service';
48-
import { Contract, REGIONS } from './localData/financialData';
47+
import { LocalData } from './local-data';
48+
import { Contract, REGIONS } from './data/financialData';
4949
import { NgIf, NgFor, CurrencyPipe } from '@angular/common';
5050
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
5151

5252
@Component({
53-
providers: [LocalDataService],
53+
providers: [LocalData],
5454
selector: 'app-<%=filePrefix%>',
5555
templateUrl: './<%=filePrefix%>.html',
5656
styleUrl: './<%=filePrefix%>.scss',
@@ -136,11 +136,11 @@ export class <%=ClassName%> implements OnInit, AfterViewInit, OnDestroy {
136136
private timer: any;
137137
private volumeChanged: any;
138138
constructor(
139-
private localService: LocalDataService,
139+
private localData: LocalData,
140140
private elRef: ElementRef,
141141
private cdr: ChangeDetectorRef) {
142-
this.subscription = this.localService.getData(this.volume);
143-
this.localService.records.subscribe(x => { this.data = x; });
142+
this.subscription = this.localData.getData(this.volume);
143+
this.localData.records.subscribe(x => { this.data = x; });
144144
}
145145

146146
public ngOnInit(): void {
@@ -166,7 +166,7 @@ export class <%=ClassName%> implements OnInit, AfterViewInit, OnDestroy {
166166
this.volumeChanged = this.volumeSlider.valueChange.pipe(debounce(() => timer(200)));
167167
this.volumeChanged.subscribe(
168168
() => {
169-
this.localService.getData(this.volume);
169+
this.localData.getData(this.volume);
170170
},
171171
(err: string) => console.log('Error: ' + err));
172172
}

packages/igx-templates/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/localData/financialData.ts renamed to packages/igx-templates/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/data/financialData.ts

File renamed without changes.

packages/igx-templates/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/localData.service.ts renamed to packages/igx-templates/igx-ts/custom-templates/fintech-grid/files/src/app/__path__/local-data.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Injectable } from '@angular/core';
22
import { BehaviorSubject, Observable} from 'rxjs';
3-
import { FinancialData } from './localData/financialData';
3+
import { FinancialData } from './data/financialData';
44

55
@Injectable()
6-
export class LocalDataService {
6+
export class LocalData {
77
public records: Observable<any[]>;
88
public records$: BehaviorSubject<any[]>;
99

packages/igx-templates/igx-ts/custom-templates/fintech-tree-grid/files/src/app/__path__/__filePrefix__.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ import {
3333
} from '<%=igxPackage%>';
3434
import { timer } from 'rxjs';
3535
import { debounce } from 'rxjs/operators';
36-
import { LocalDataService } from './localData.service';
36+
import { LocalData } from './local-data';
3737
import { ITreeGridAggregation, <%=ClassName%>TreeGridGroupingPipe } from './tree-grid-grouping.pipe';
3838
import { NgIf, CurrencyPipe } from '@angular/common';
3939
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
4040

4141
@Component({
42-
providers: [LocalDataService],
42+
providers: [LocalData],
4343
selector: 'app-<%=filePrefix%>',
4444
templateUrl: './<%=filePrefix%>.html',
4545
styleUrl: './<%=filePrefix%>.scss',
@@ -140,17 +140,17 @@ export class <%=ClassName%> implements OnInit, AfterViewInit, OnDestroy {
140140
private timer: any;
141141
private volumeChanged: any;
142142

143-
constructor(private zone: NgZone, private localService: LocalDataService, private elRef: ElementRef) {
144-
this.subscription = this.localService.getData(this.volume);
145-
this.localService.records.subscribe((d) => this.data = d);
143+
constructor(private zone: NgZone, private localData: LocalData, private elRef: ElementRef) {
144+
this.subscription = this.localData.getData(this.volume);
145+
this.localData.records.subscribe((d) => this.data = d);
146146
}
147147

148148
public ngOnInit(): void {
149149
this.grid1.sortingExpressions = [{ fieldName: this.groupColumnKey, dir: SortingDirection.Desc }];
150150
this.volumeChanged = this.volumeSlider.valueChange.pipe(debounce(() => timer(200)));
151151
this.volumeChanged.subscribe(
152152
() => {
153-
this.localService.getData(this.volume);
153+
this.localData.getData(this.volume);
154154
},
155155
(err: string) => console.log('Error: ' + err));
156156
}

0 commit comments

Comments
 (0)