mcp-consultant-tools 35.0.0-beta.2 → 35.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Duplicate-safe registration for the meta aggregator.
3
+ *
4
+ * Meta merges every package into a single MCP namespace. The SDK throws
5
+ * `Tool <name> is already registered` when two packages export the same tool
6
+ * name. Because each package registers inside one try/catch, that throw used to
7
+ * abort the *rest of that package* — a name collision silently dropped every
8
+ * tool the package had not yet registered. `azure-devops-admin` lost 28 of its
9
+ * 32 tools this way.
10
+ *
11
+ * The proxy below turns a collision into a per-name skip: the first package to
12
+ * claim a name keeps it, later packages lose only the colliding name and go on
13
+ * registering everything else. Registration order in `registerAllTools` therefore
14
+ * decides which package owns a shared name.
15
+ *
16
+ * Only the `is already registered` error is swallowed; anything else (a missing
17
+ * optional dependency, a bad schema) still propagates to the caller's try/catch.
18
+ */
19
+ export interface SkippedRegistration {
20
+ package: string;
21
+ kind: "tool" | "prompt";
22
+ name: string;
23
+ }
24
+ /**
25
+ * Wrap `server` so `tool()` and `prompt()` skip an already-registered name
26
+ * rather than throwing. Every skip is appended to `skipped`.
27
+ */
28
+ export declare function duplicateSafeServer(server: any, packageName: string, skipped: SkippedRegistration[]): any;
29
+ /**
30
+ * Human-readable summary of the duplicate names, for stderr.
31
+ *
32
+ * Deliberately avoids the word "skipped": `<Package> skipped:` is reserved for a
33
+ * package that failed to load at all, and release checks grep for it.
34
+ */
35
+ export declare function formatDuplicates(skipped: SkippedRegistration[]): string[];
36
+ //# sourceMappingURL=duplicate-safe-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-safe-server.d.ts","sourceRoot":"","sources":["../src/duplicate-safe-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,EAAE,GAC7B,GAAG,CAsBL;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,EAAE,CAezE"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Duplicate-safe registration for the meta aggregator.
3
+ *
4
+ * Meta merges every package into a single MCP namespace. The SDK throws
5
+ * `Tool <name> is already registered` when two packages export the same tool
6
+ * name. Because each package registers inside one try/catch, that throw used to
7
+ * abort the *rest of that package* — a name collision silently dropped every
8
+ * tool the package had not yet registered. `azure-devops-admin` lost 28 of its
9
+ * 32 tools this way.
10
+ *
11
+ * The proxy below turns a collision into a per-name skip: the first package to
12
+ * claim a name keeps it, later packages lose only the colliding name and go on
13
+ * registering everything else. Registration order in `registerAllTools` therefore
14
+ * decides which package owns a shared name.
15
+ *
16
+ * Only the `is already registered` error is swallowed; anything else (a missing
17
+ * optional dependency, a bad schema) still propagates to the caller's try/catch.
18
+ */
19
+ const DUPLICATE_MESSAGE = / is already registered$/;
20
+ /**
21
+ * Wrap `server` so `tool()` and `prompt()` skip an already-registered name
22
+ * rather than throwing. Every skip is appended to `skipped`.
23
+ */
24
+ export function duplicateSafeServer(server, packageName, skipped) {
25
+ const guard = (kind) => (...args) => {
26
+ try {
27
+ return server[kind](...args);
28
+ }
29
+ catch (error) {
30
+ const message = error instanceof Error ? error.message : String(error);
31
+ if (!DUPLICATE_MESSAGE.test(message))
32
+ throw error;
33
+ skipped.push({ package: packageName, kind, name: String(args[0]) });
34
+ return undefined;
35
+ }
36
+ };
37
+ return new Proxy(server, {
38
+ get(target, prop) {
39
+ if (prop === "tool" || prop === "prompt")
40
+ return guard(prop);
41
+ const value = Reflect.get(target, prop);
42
+ // Bind to the real server: McpServer reads private fields off `this`.
43
+ return typeof value === "function" ? value.bind(target) : value;
44
+ },
45
+ });
46
+ }
47
+ /**
48
+ * Human-readable summary of the duplicate names, for stderr.
49
+ *
50
+ * Deliberately avoids the word "skipped": `<Package> skipped:` is reserved for a
51
+ * package that failed to load at all, and release checks grep for it.
52
+ */
53
+ export function formatDuplicates(skipped) {
54
+ if (skipped.length === 0)
55
+ return [];
56
+ const byPackage = new Map();
57
+ for (const entry of skipped) {
58
+ const list = byPackage.get(entry.package) ?? [];
59
+ list.push(entry);
60
+ byPackage.set(entry.package, list);
61
+ }
62
+ const lines = [
63
+ `⚠️ ${skipped.length} duplicate name(s) not registered (an earlier package owns them):`,
64
+ ];
65
+ for (const [pkg, entries] of byPackage) {
66
+ lines.push(` ${pkg}: ${entries.map((e) => `${e.kind} ${e.name}`).join(", ")}`);
67
+ }
68
+ return lines;
69
+ }
70
+ //# sourceMappingURL=duplicate-safe-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-safe-server.js","sourceRoot":"","sources":["../src/duplicate-safe-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAW,EACX,WAAmB,EACnB,OAA8B;IAE9B,MAAM,KAAK,GACT,CAAC,IAAuB,EAAE,EAAE,CAC5B,CAAC,GAAG,IAAe,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,KAAK,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEJ,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;QACvB,GAAG,CAAC,MAAM,EAAE,IAAI;YACd,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,sEAAsE;YACtE,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA8B;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,OAAO,OAAO,CAAC,MAAM,mEAAmE;KACzF,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/build/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Register all MCP Consultant Tools
4
4
  *
5
- * This meta-package combines all 18 service packages:
5
+ * This meta-package combines all 22 service packages:
6
6
  * - PowerPlatform (read-only: 46 tools, 12 prompts)
7
7
  * - PowerPlatform Customization (schema changes: 70 tools)
8
8
  * - PowerPlatform Data (data CRUD: 10 tools)
@@ -18,6 +18,10 @@
18
18
  * - Azure AD B2C (user management, password reset, groups)
19
19
  * - Azure Data Factory (pipeline execution, monitoring, error debugging)
20
20
  * - Azure Management (ARM API - Function Apps, App Services, Key Vaults, Storage, SQL, Monitoring)
21
+ * - Azure Defender for Cloud (secure score, assessments, regulatory compliance, attack paths)
22
+ * - Entra ID (app registration audit, client secret and certificate expiry)
23
+ * - Message Center (M365 service health, issues, incident reports, Message Center posts)
24
+ * - Code Review (repository .NET EOL scan, NuGet audit, complexity estimate, GitHub Packages)
21
25
  * - Azure Storage (blobs, queues, tables, file shares)
22
26
  * - REST API (generic HTTP requests with auth)
23
27
  * - Teams (channel messages, adaptive cards for release announcements)
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA0BA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,QAwF3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,QA4H3C"}
package/build/index.js CHANGED
@@ -3,6 +3,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
3
3
  import { pathToFileURL } from "node:url";
4
4
  import { realpathSync } from "node:fs";
5
5
  import { createMcpServer, createEnvLoader, resolveSecrets } from "@mcp-consultant-tools/core";
6
+ import { duplicateSafeServer, formatDuplicates } from "./duplicate-safe-server.js";
6
7
  import { registerPowerPlatformTools } from "@mcp-consultant-tools/powerplatform";
7
8
  import { registerPowerplatformCustomizationTools } from "@mcp-consultant-tools/powerplatform-customization";
8
9
  import { registerPowerplatformDataTools } from "@mcp-consultant-tools/powerplatform-data";
@@ -17,6 +18,10 @@ import { registerGitHubEnterpriseTools } from "@mcp-consultant-tools/github-ente
17
18
  import { registerAzureB2CTools } from "@mcp-consultant-tools/azure-b2c";
18
19
  import { registerAzureDataFactoryTools } from "@mcp-consultant-tools/azure-data-factory";
19
20
  import { registerAzureManagementTools } from "@mcp-consultant-tools/azure-management";
21
+ import { registerAzureDefenderTools } from "@mcp-consultant-tools/azure-defender";
22
+ import { registerEntraIdTools } from "@mcp-consultant-tools/entra-id";
23
+ import { registerMessageCenterTools } from "@mcp-consultant-tools/message-center";
24
+ import { registerCodeReviewTools } from "@mcp-consultant-tools/code-review";
20
25
  import { registerTeamsTools } from "@mcp-consultant-tools/teams";
21
26
  import { registerAzureDevOpsAdminTools } from "@mcp-consultant-tools/azure-devops-admin";
22
27
  import { registerAzureStorageTools } from "@mcp-consultant-tools/azure-storage";
@@ -26,7 +31,7 @@ import { registerFabricTools } from "@mcp-consultant-tools/fabric";
26
31
  /**
27
32
  * Register all MCP Consultant Tools
28
33
  *
29
- * This meta-package combines all 18 service packages:
34
+ * This meta-package combines all 22 service packages:
30
35
  * - PowerPlatform (read-only: 46 tools, 12 prompts)
31
36
  * - PowerPlatform Customization (schema changes: 70 tools)
32
37
  * - PowerPlatform Data (data CRUD: 10 tools)
@@ -42,95 +47,134 @@ import { registerFabricTools } from "@mcp-consultant-tools/fabric";
42
47
  * - Azure AD B2C (user management, password reset, groups)
43
48
  * - Azure Data Factory (pipeline execution, monitoring, error debugging)
44
49
  * - Azure Management (ARM API - Function Apps, App Services, Key Vaults, Storage, SQL, Monitoring)
50
+ * - Azure Defender for Cloud (secure score, assessments, regulatory compliance, attack paths)
51
+ * - Entra ID (app registration audit, client secret and certificate expiry)
52
+ * - Message Center (M365 service health, issues, incident reports, Message Center posts)
53
+ * - Code Review (repository .NET EOL scan, NuGet audit, complexity estimate, GitHub Packages)
45
54
  * - Azure Storage (blobs, queues, tables, file shares)
46
55
  * - REST API (generic HTTP requests with auth)
47
56
  * - Teams (channel messages, adaptive cards for release announcements)
48
57
  */
49
58
  export function registerAllTools(server) {
50
59
  console.error("Registering all MCP Consultant Tools...");
60
+ // Meta merges every package into one namespace, so two packages can claim the
61
+ // same tool name. `safe()` makes a collision skip that one name instead of
62
+ // aborting the rest of the package — first registration below wins the name.
63
+ const duplicates = [];
64
+ const safe = (packageName) => duplicateSafeServer(server, packageName, duplicates);
51
65
  // Register all service tools
52
- registerPowerPlatformTools(server);
66
+ registerPowerPlatformTools(safe("PowerPlatform"));
53
67
  // PowerPlatform Customization (optional - install @mcp-consultant-tools/powerplatform-customization separately if needed)
54
68
  try {
55
- registerPowerplatformCustomizationTools(server);
69
+ registerPowerplatformCustomizationTools(safe("PowerPlatform Customization"));
56
70
  }
57
71
  catch (error) {
58
72
  console.error("⚠️ PowerPlatform Customization skipped:", error.message);
59
73
  }
60
74
  // PowerPlatform Data (optional - install @mcp-consultant-tools/powerplatform-data separately if needed)
61
75
  try {
62
- registerPowerplatformDataTools(server);
76
+ registerPowerplatformDataTools(safe("PowerPlatform Data"));
63
77
  }
64
78
  catch (error) {
65
79
  console.error("⚠️ PowerPlatform Data skipped:", error.message);
66
80
  }
67
- registerAzureDevOpsTools(server);
68
- registerFigmaTools(server);
69
- registerApplicationInsightsTools(server);
70
- registerLogAnalyticsTools(server);
71
- registerAzureSqlTools(server);
72
- registerServiceBusTools(server);
73
- registerSharePointTools(server);
74
- registerGitHubEnterpriseTools(server);
75
- registerAzureB2CTools(server);
81
+ registerAzureDevOpsTools(safe("Azure DevOps"));
82
+ registerFigmaTools(safe("Figma"));
83
+ registerApplicationInsightsTools(safe("Application Insights"));
84
+ registerLogAnalyticsTools(safe("Log Analytics"));
85
+ registerAzureSqlTools(safe("Azure SQL"));
86
+ registerServiceBusTools(safe("Service Bus"));
87
+ registerSharePointTools(safe("SharePoint"));
88
+ registerGitHubEnterpriseTools(safe("GitHub Enterprise"));
89
+ registerAzureB2CTools(safe("Azure B2C"));
76
90
  // Azure Data Factory (optional - for pipeline execution and monitoring)
77
91
  try {
78
- registerAzureDataFactoryTools(server);
92
+ registerAzureDataFactoryTools(safe("Azure Data Factory"));
79
93
  }
80
94
  catch (error) {
81
95
  console.error("⚠️ Azure Data Factory skipped:", error.message);
82
96
  }
83
97
  // Azure Management (optional - for ARM API resource discovery)
84
98
  try {
85
- registerAzureManagementTools(server);
99
+ registerAzureManagementTools(safe("Azure Management"));
86
100
  }
87
101
  catch (error) {
88
102
  console.error("⚠️ Azure Management skipped:", error.message);
89
103
  }
104
+ // Azure Defender for Cloud (optional - secure score, assessments, compliance, attack paths)
105
+ try {
106
+ registerAzureDefenderTools(safe("Azure Defender"));
107
+ }
108
+ catch (error) {
109
+ console.error("⚠️ Azure Defender skipped:", error.message);
110
+ }
111
+ // Entra ID (optional - app registration audit, secret and certificate expiry)
112
+ try {
113
+ registerEntraIdTools(safe("Entra ID"));
114
+ }
115
+ catch (error) {
116
+ console.error("⚠️ Entra ID skipped:", error.message);
117
+ }
118
+ // Message Center (optional - M365 service health, issues, incident reports, Message Center posts)
119
+ try {
120
+ registerMessageCenterTools(safe("Message Center"));
121
+ }
122
+ catch (error) {
123
+ console.error("⚠️ Message Center skipped:", error.message);
124
+ }
125
+ // Code Review (optional - repository .NET EOL scan, NuGet audit, complexity estimate, GitHub Packages)
126
+ try {
127
+ registerCodeReviewTools(safe("Code Review"));
128
+ }
129
+ catch (error) {
130
+ console.error("⚠️ Code Review skipped:", error.message);
131
+ }
90
132
  // Teams (optional - for release announcements)
91
133
  try {
92
- registerTeamsTools(server);
134
+ registerTeamsTools(safe("Teams"));
93
135
  }
94
136
  catch (error) {
95
137
  console.error("⚠️ Teams skipped:", error.message);
96
138
  }
97
139
  // Azure DevOps Admin (optional - pipeline management, environments, service connections)
98
140
  try {
99
- registerAzureDevOpsAdminTools(server);
141
+ registerAzureDevOpsAdminTools(safe("Azure DevOps Admin"));
100
142
  }
101
143
  catch (error) {
102
144
  console.error("⚠️ Azure DevOps Admin skipped:", error.message);
103
145
  }
104
146
  // Azure Storage (optional - blobs, queues, tables, file shares)
105
147
  try {
106
- registerAzureStorageTools(server);
148
+ registerAzureStorageTools(safe("Azure Storage"));
107
149
  }
108
150
  catch (error) {
109
151
  console.error("⚠️ Azure Storage skipped:", error.message);
110
152
  }
111
153
  // REST API (optional - generic HTTP requests with auth)
112
154
  try {
113
- registerRestApiTools(server);
155
+ registerRestApiTools(safe("REST API"));
114
156
  }
115
157
  catch (error) {
116
158
  console.error("⚠️ REST API skipped:", error.message);
117
159
  }
118
160
  // 1Password (optional - vault and item management)
119
161
  try {
120
- registerOnePasswordTools(server);
162
+ registerOnePasswordTools(safe("1Password"));
121
163
  }
122
164
  catch (error) {
123
165
  console.error("⚠️ 1Password skipped:", error.message);
124
166
  }
125
167
  // Microsoft Fabric (optional - workspaces, capacities, items, shortcuts, domains)
126
168
  try {
127
- registerFabricTools(server);
169
+ registerFabricTools(safe("Microsoft Fabric"));
128
170
  }
129
171
  catch (error) {
130
172
  console.error("⚠️ Microsoft Fabric skipped:", error.message);
131
173
  }
174
+ for (const line of formatDuplicates(duplicates))
175
+ console.error(line);
132
176
  console.error("All tools registered successfully!");
133
- console.error("Total integrations: 18 services");
177
+ console.error("Total integrations: 22 services");
134
178
  }
135
179
  // CLI entry point (standalone execution)
136
180
  // Uses realpathSync to resolve symlinks created by npx
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAC5G,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAW;IAC1C,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAEzD,6BAA6B;IAC7B,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAEnC,0HAA0H;IAC1H,IAAI,CAAC;QACH,uCAAuC,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAED,wGAAwG;IACxG,IAAI,CAAC;QACH,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACzC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAE9B,wEAAwE;IACxE,IAAI,CAAC;QACH,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC;QACH,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC;QACH,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,yFAAyF;IACzF,IAAI,CAAC;QACH,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC;QACH,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,wDAAwD;IACxD,IAAI,CAAC;QACH,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC;QACH,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC;QACH,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpD,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC;AAED,yCAAyC;AACzC,uDAAuD;AACvD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC;IACV,MAAM,cAAc,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACzC,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-consultant-tools",
3
- "version": "35.0.0-beta.2",
3
+ "version": "35.0.0-beta.3",
4
4
  "description": "Complete MCP Consultant Tools package with all integrations: PowerPlatform, Azure DevOps, Azure Management, Figma, Application Insights, Log Analytics, Azure SQL, Service Bus, SharePoint, GitHub Enterprise, and Azure AD B2C",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -22,6 +22,7 @@
22
22
  "scripts": {
23
23
  "build": "tsc",
24
24
  "clean": "rm -rf build *.tsbuildinfo",
25
+ "test": "vitest run",
25
26
  "prepublishOnly": "npm run build"
26
27
  },
27
28
  "keywords": [
@@ -46,7 +47,7 @@
46
47
  "monitoring",
47
48
  "crm"
48
49
  ],
49
- "author": "Michal Sobieraj",
50
+ "author": "Klemens Stelk",
50
51
  "license": "MIT",
51
52
  "repository": {
52
53
  "type": "git",
@@ -60,18 +61,22 @@
60
61
  "@mcp-consultant-tools/1password": "35.0.0-beta.1",
61
62
  "@mcp-consultant-tools/application-insights": "35.0.0-beta.1",
62
63
  "@mcp-consultant-tools/azure-b2c": "35.0.0-beta.1",
63
- "@mcp-consultant-tools/azure-data-factory": "35.0.0-beta.1",
64
- "@mcp-consultant-tools/azure-devops": "35.0.0-beta.1",
65
- "@mcp-consultant-tools/azure-devops-admin": "35.0.0-beta.2",
66
- "@mcp-consultant-tools/azure-management": "35.0.0-beta.1",
67
- "@mcp-consultant-tools/azure-sql": "35.0.0-beta.1",
64
+ "@mcp-consultant-tools/azure-data-factory": "35.0.0-beta.2",
65
+ "@mcp-consultant-tools/azure-defender": "35.0.0-beta.1",
66
+ "@mcp-consultant-tools/azure-devops": "35.0.0-beta.2",
67
+ "@mcp-consultant-tools/azure-devops-admin": "35.0.0-beta.3",
68
+ "@mcp-consultant-tools/azure-management": "35.0.0-beta.2",
69
+ "@mcp-consultant-tools/azure-sql": "35.0.0-beta.2",
68
70
  "@mcp-consultant-tools/azure-storage": "35.0.0-beta.1",
71
+ "@mcp-consultant-tools/code-review": "35.0.0-beta.1",
69
72
  "@mcp-consultant-tools/core": "34.0.0",
73
+ "@mcp-consultant-tools/entra-id": "35.0.0-beta.1",
70
74
  "@mcp-consultant-tools/fabric": "35.0.0-beta.1",
71
75
  "@mcp-consultant-tools/figma": "35.0.0-beta.1",
72
76
  "@mcp-consultant-tools/github-enterprise": "35.0.0-beta.1",
73
77
  "@mcp-consultant-tools/log-analytics": "35.0.0-beta.1",
74
- "@mcp-consultant-tools/powerplatform": "35.0.0-beta.1",
78
+ "@mcp-consultant-tools/message-center": "35.0.0-beta.1",
79
+ "@mcp-consultant-tools/powerplatform": "35.0.0-beta.2",
75
80
  "@mcp-consultant-tools/powerplatform-customization": "35.0.0-beta.1",
76
81
  "@mcp-consultant-tools/powerplatform-data": "35.0.0-beta.1",
77
82
  "@mcp-consultant-tools/rest-api": "35.0.0-beta.1",
@@ -83,6 +88,7 @@
83
88
  },
84
89
  "devDependencies": {
85
90
  "@types/node": "^22.10.5",
86
- "typescript": "^5.8.2"
91
+ "typescript": "^5.8.2",
92
+ "vitest": "^2.1.9"
87
93
  }
88
94
  }