@mcp-consultant-tools/powerplatform-data 29.0.0-beta.1 → 29.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.
@@ -3,6 +3,14 @@
3
3
  * HTTP Server entry point for PowerPlatform Data MCP
4
4
  * Enables use with Claude Mobile via Cloudflare Tunnel
5
5
  *
6
+ * Authentication modes (checked in order):
7
+ * 1. API key: x-api-key header, ?api_key= query param, or Authorization: Bearer matching MCP_API_KEY
8
+ * 2. Entra ID JWT: Authorization: Bearer <jwt> validated against Entra ID (opt-in via ENTRA_JWT_* env vars)
9
+ * 3. No auth: if MCP_API_KEY is not set (development only)
10
+ *
11
+ * When JWT auth is used, the user's Object ID is extracted and passed as
12
+ * CallerObjectId to Dataverse for per-user security role enforcement.
13
+ *
6
14
  * Usage:
7
15
  * npm run start:http
8
16
  * # Then: cloudflared tunnel run <tunnel-name>
@@ -11,7 +19,10 @@ import express from 'express';
11
19
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
20
  import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
13
21
  import { createEnvLoader } from '@mcp-consultant-tools/core';
22
+ import { setRequestCallerObjectId } from '@mcp-consultant-tools/powerplatform-core';
14
23
  import { registerPowerplatformDataTools } from './index.js';
24
+ import jwt from 'jsonwebtoken';
25
+ import jwksRsa from 'jwks-rsa';
15
26
  // Load environment variables (suppresses stdout for MCP protocol)
16
27
  createEnvLoader();
17
28
  const app = express();
@@ -26,28 +37,107 @@ app.use((req, res, next) => {
26
37
  }
27
38
  next();
28
39
  });
29
- // API Key authentication middleware
30
- // Supports: x-api-key header, Authorization: Bearer <key>, or ?api_key=<key> query param
31
- const apiKeyAuth = (req, res, next) => {
40
+ // =====================================================
41
+ // JWT Validation (Entra ID)
42
+ // =====================================================
43
+ const jwtConfig = {
44
+ tenantId: process.env.ENTRA_JWT_TENANT_ID,
45
+ clientId: process.env.ENTRA_JWT_CLIENT_ID,
46
+ issuer: process.env.ENTRA_JWT_ISSUER,
47
+ };
48
+ const jwtEnabled = !!(jwtConfig.tenantId && jwtConfig.clientId);
49
+ // JWKS client — caches signing keys from Microsoft's OIDC endpoint
50
+ const jwksClient = jwtEnabled
51
+ ? jwksRsa({
52
+ jwksUri: `https://login.microsoftonline.com/${jwtConfig.tenantId}/discovery/v2.0/keys`,
53
+ cache: true,
54
+ cacheMaxAge: 600000, // 10 minutes
55
+ rateLimit: true,
56
+ jwksRequestsPerMinute: 10,
57
+ })
58
+ : null;
59
+ /**
60
+ * Validate an Entra ID JWT and return decoded claims.
61
+ * Verifies signature (via JWKS), audience, issuer, and expiry.
62
+ */
63
+ async function validateEntraJwt(token) {
64
+ if (!jwksClient || !jwtConfig.tenantId || !jwtConfig.clientId) {
65
+ throw new Error('JWT validation not configured');
66
+ }
67
+ // Decode header to get the signing key ID
68
+ const decoded = jwt.decode(token, { complete: true });
69
+ if (!decoded || typeof decoded === 'string') {
70
+ throw new Error('Invalid JWT: could not decode');
71
+ }
72
+ const kid = decoded.header.kid;
73
+ if (!kid) {
74
+ throw new Error('Invalid JWT: missing kid in header');
75
+ }
76
+ // Fetch the signing key from Microsoft's JWKS endpoint
77
+ const signingKey = await jwksClient.getSigningKey(kid);
78
+ const publicKey = signingKey.getPublicKey();
79
+ // Expected issuer: v2.0 endpoint
80
+ const expectedIssuer = jwtConfig.issuer || `https://login.microsoftonline.com/${jwtConfig.tenantId}/v2.0`;
81
+ // Verify signature, audience, issuer, and expiry
82
+ const verified = jwt.verify(token, publicKey, {
83
+ audience: jwtConfig.clientId,
84
+ issuer: expectedIssuer,
85
+ algorithms: ['RS256'],
86
+ });
87
+ if (typeof verified === 'string') {
88
+ throw new Error('Invalid JWT: unexpected string payload');
89
+ }
90
+ const oid = verified.oid;
91
+ if (!oid) {
92
+ throw new Error('Invalid JWT: missing oid claim');
93
+ }
94
+ return verified;
95
+ }
96
+ // =====================================================
97
+ // Authentication Middleware
98
+ // =====================================================
99
+ // API Key + JWT authentication middleware
100
+ // Priority: API key (x-api-key, ?api_key=, Bearer=apikey) > JWT > reject
101
+ const authMiddleware = async (req, res, next) => {
32
102
  const expectedKey = process.env.MCP_API_KEY;
33
103
  if (req.path === '/health' || req.path === '/' || req.method === 'OPTIONS') {
34
104
  return next();
35
105
  }
36
- if (!expectedKey) {
106
+ if (!expectedKey && !jwtEnabled) {
107
+ // No auth configured — development mode
37
108
  return next();
38
109
  }
39
- // Check multiple sources for API key
110
+ // Extract potential credentials
40
111
  const headerKey = req.headers['x-api-key'];
41
112
  const bearerToken = req.headers['authorization']?.replace('Bearer ', '');
42
113
  const queryKey = req.query.api_key;
43
- const providedKey = headerKey || bearerToken || queryKey;
44
- if (providedKey !== expectedKey) {
45
- console.error('API key authentication failed');
46
- return res.status(401).json({ error: 'Invalid or missing API key' });
114
+ // 1. API key via x-api-key header or ?api_key= query param
115
+ if (expectedKey && (headerKey === expectedKey || queryKey === expectedKey)) {
116
+ return next();
47
117
  }
48
- next();
118
+ // 2. Bearer token matching API key
119
+ if (expectedKey && bearerToken === expectedKey) {
120
+ return next();
121
+ }
122
+ // 3. Bearer token as JWT (if JWT auth is configured)
123
+ if (jwtEnabled && bearerToken) {
124
+ try {
125
+ const claims = await validateEntraJwt(bearerToken);
126
+ // Store user OID on request for CallerObjectId threading
127
+ req.userObjectId = claims.oid;
128
+ req.userName = claims.name || claims.preferred_username || 'unknown';
129
+ console.error(` JWT auth: user=${req.userName} oid=${claims.oid}`);
130
+ return next();
131
+ }
132
+ catch (err) {
133
+ console.error(` JWT validation failed: ${err.message}`);
134
+ // Fall through to 401
135
+ }
136
+ }
137
+ console.error('Authentication failed: no valid API key or JWT');
138
+ return res.status(401).json({ error: 'Invalid or missing authentication' });
49
139
  };
50
- app.use(apiKeyAuth);
140
+ app.use(authMiddleware);
51
141
  // Debug logging
52
142
  app.use((req, res, next) => {
53
143
  console.error(`[${new Date().toISOString()}] ${req.method} ${req.path}`);
@@ -65,7 +155,7 @@ async function initializeMcpServer() {
65
155
  return;
66
156
  mcpServer = new McpServer({
67
157
  name: 'powerplatform-data-http',
68
- version: '25.0.0-beta.2',
158
+ version: '29.0.0-beta.1',
69
159
  });
70
160
  registerPowerplatformDataTools(mcpServer);
71
161
  // Create linked in-memory transports
@@ -73,10 +163,16 @@ async function initializeMcpServer() {
73
163
  serverTransport = server;
74
164
  clientTransport = client;
75
165
  await mcpServer.connect(serverTransport);
76
- console.error('MCP server initialized with InMemoryTransport');
166
+ console.error('MCP server initialized with InMemoryTransport');
167
+ if (jwtEnabled) {
168
+ console.error(`Entra ID JWT auth enabled (tenant: ${jwtConfig.tenantId})`);
169
+ }
77
170
  }
78
171
  // MCP endpoint - manual JSON-RPC handling
79
172
  app.post('/mcp', async (req, res) => {
173
+ // Set per-request CallerObjectId from JWT auth (if present)
174
+ const userObjectId = req.userObjectId || null;
175
+ setRequestCallerObjectId(userObjectId);
80
176
  try {
81
177
  await initializeMcpServer();
82
178
  const jsonRpcRequest = req.body;
@@ -115,6 +211,10 @@ app.post('/mcp', async (req, res) => {
115
211
  id: req.body?.id || null,
116
212
  });
117
213
  }
214
+ finally {
215
+ // Clear per-request context
216
+ setRequestCallerObjectId(null);
217
+ }
118
218
  });
119
219
  // SSE endpoint for streaming (required by some clients)
120
220
  app.get('/mcp', (req, res) => {
@@ -134,21 +234,32 @@ app.get('/mcp', (req, res) => {
134
234
  });
135
235
  // Health check endpoint
136
236
  app.get('/health', (req, res) => {
137
- res.json({ status: 'ok', serverInitialized: mcpServer !== null });
237
+ res.json({
238
+ status: 'ok',
239
+ serverInitialized: mcpServer !== null,
240
+ jwtAuthEnabled: jwtEnabled,
241
+ });
138
242
  });
139
243
  // Root endpoint - info
140
244
  app.get('/', (req, res) => {
141
245
  res.json({
142
246
  name: 'PowerPlatform Data MCP Server',
143
- version: '25.0.0-beta.2',
247
+ version: '29.0.0-beta.1',
144
248
  mcp_endpoint: '/mcp',
145
249
  health_endpoint: '/health',
250
+ auth: {
251
+ apiKey: !!process.env.MCP_API_KEY,
252
+ jwt: jwtEnabled,
253
+ },
146
254
  tools: ['query-records', 'get-record', 'get-entity-metadata', 'get-lookup-target', 'create-record', 'update-record', 'delete-record', 'execute-action'],
147
255
  });
148
256
  });
149
257
  // REST-style tool endpoint for compatibility
150
258
  // Catches paths like /connector/link/tool_name
151
259
  app.post('/:connector/:linkId/:toolName', async (req, res) => {
260
+ // Set per-request CallerObjectId from JWT auth (if present)
261
+ const userObjectId = req.userObjectId || null;
262
+ setRequestCallerObjectId(userObjectId);
152
263
  try {
153
264
  await initializeMcpServer();
154
265
  const toolName = req.params.toolName;
@@ -189,11 +300,15 @@ app.post('/:connector/:linkId/:toolName', async (req, res) => {
189
300
  console.error('REST→MCP error:', error);
190
301
  res.status(500).json({ error: error.message });
191
302
  }
303
+ finally {
304
+ setRequestCallerObjectId(null);
305
+ }
192
306
  });
193
307
  const PORT = process.env.HTTP_PORT || 3001;
194
308
  app.listen(PORT, () => {
195
309
  console.error(`PowerPlatform Data MCP HTTP server running on http://localhost:${PORT}/mcp`);
196
310
  console.error(`Health check: http://localhost:${PORT}/health`);
311
+ console.error(`Auth: API key=${!!process.env.MCP_API_KEY}, JWT=${jwtEnabled}`);
197
312
  console.error('');
198
313
  console.error('To expose via tunnel: cloudflared tunnel run <tunnel-name>');
199
314
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,OAA4C,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,OAAO,MAAM,UAAU,CAAC;AAE/B,kEAAkE;AAClE,eAAe,EAAE,CAAC;AAElB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAExB,yBAAyB;AACzB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC1D,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;IACzE,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,4BAA4B;AAC5B,wDAAwD;AAExD,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACzC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;CACrC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhE,mEAAmE;AACnE,MAAM,UAAU,GAAG,UAAU;IAC3B,CAAC,CAAC,OAAO,CAAC;QACN,OAAO,EAAE,qCAAqC,SAAS,CAAC,QAAQ,sBAAsB;QACtF,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,MAAM,EAAE,aAAa;QAClC,SAAS,EAAE,IAAI;QACf,qBAAqB,EAAE,EAAE;KAC1B,CAAC;IACJ,CAAC,CAAC,IAAI,CAAC;AAET;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAa;IAC3C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;IAE5C,iCAAiC;IACjC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,IAAI,qCAAqC,SAAS,CAAC,QAAQ,OAAO,CAAC;IAE1G,iDAAiD;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE;QAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,MAAM,EAAE,cAAc;QACtB,UAAU,EAAE,CAAC,OAAO,CAAC;KACtB,CAAC,CAAC;IAEH,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,GAAG,GAAI,QAAgB,CAAC,GAAG,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,QAAoF,CAAC;AAC9F,CAAC;AAED,wDAAwD;AACxD,4BAA4B;AAC5B,wDAAwD;AAExD,0CAA0C;AAC1C,yEAAyE;AACzE,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,wCAAwC;QACxC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAW,CAAC;IACrD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAiB,CAAC;IAE7C,2DAA2D;IAC3D,IAAI,WAAW,IAAI,CAAC,SAAS,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,mCAAmC;IACnC,IAAI,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAC/C,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACnD,yDAAyD;YACxD,GAAW,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC;YACtC,GAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC;YAC9E,OAAO,CAAC,KAAK,CAAC,oBAAqB,GAAW,CAAC,QAAQ,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7E,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,sBAAsB;QACxB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAExB,gBAAgB;AAChB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,6BAA6B;AAC7B,IAAI,SAAS,GAAqB,IAAI,CAAC;AACvC,IAAI,eAAe,GAA6B,IAAI,CAAC;AACrD,IAAI,eAAe,GAA6B,IAAI,CAAC;AAErD,KAAK,UAAU,mBAAmB;IAChC,IAAI,SAAS;QAAE,OAAO;IAEtB,SAAS,GAAG,IAAI,SAAS,CAAC;QACxB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAE1C,qCAAqC;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAC9D,eAAe,GAAG,MAAM,CAAC;IACzB,eAAe,GAAG,MAAM,CAAC;IAEzB,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACrD,4DAA4D;IAC5D,MAAM,YAAY,GAAI,GAAW,CAAC,YAAY,IAAI,IAAI,CAAC;IACvD,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;QAE5B,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3D,iEAAiE;QACjE,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,KAAK,SAAS,CAAC;QAEvD,wCAAwC;QACxC,MAAM,eAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5C,IAAI,cAAc,EAAE,CAAC;YACnB,2DAA2D;YAC3D,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAClC,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;oBAC3B,IAAI,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,EAAE,CAAC;wBACjC,eAAgB,CAAC,SAAS,GAAG,SAAS,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC,CAAC;gBACF,eAAgB,CAAC,SAAS,GAAG,OAAO,CAAC;YACvC,CAAC,CAAC;YACF,IAAI,OAAO,CAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,EAAE,KAAK,CAAC,CAC/E;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YAC/C,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,4BAA4B;QAC5B,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC9C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAE1C,kCAAkC;IAClC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;IAEhE,wBAAwB;IACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IACjD,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,iBAAiB,EAAE,SAAS,KAAK,IAAI;QACrC,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3C,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,eAAe;QACxB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW;YACjC,GAAG,EAAE,UAAU;SAChB;QACD,KAAK,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC;KACxJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,6CAA6C;AAC7C,+CAA+C;AAC/C,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC9E,4DAA4D;IAC5D,MAAM,YAAY,GAAI,GAAW,CAAC,YAAY,IAAI,IAAI,CAAC;IACvD,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAE5F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG;YACrB,OAAO,EAAE,KAAc;YACvB,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;QAEF,MAAM,eAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAClC,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE;gBAC3B,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;oBAC3B,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;wBACzB,eAAgB,CAAC,SAAS,GAAG,SAAS,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC,CAAC;gBACF,eAAgB,CAAC,SAAS,GAAG,OAAO,CAAC;YACvC,CAAC,CAAC;YACF,IAAI,OAAO,CAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CACtD;SACF,CAAC,CAAC;QAEH,mEAAmE;QACnE,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC;AAC3C,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,kEAAkE,IAAI,MAAM,CAAC,CAAC;IAC5F,OAAO,CAAC,KAAK,CAAC,kCAAkC,IAAI,SAAS,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,UAAU,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/powerplatform-data",
3
- "version": "29.0.0-beta.1",
3
+ "version": "29.0.0-beta.3",
4
4
  "description": "MCP server for PowerPlatform data CRUD operations (operational use)",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -40,15 +40,18 @@
40
40
  "node": ">=16.0.0"
41
41
  },
42
42
  "dependencies": {
43
- "@mcp-consultant-tools/core": "28.0.0",
44
- "@mcp-consultant-tools/powerplatform-core": "29.0.0-beta.1",
43
+ "@mcp-consultant-tools/core": "29.0.0-beta.1",
44
+ "@mcp-consultant-tools/powerplatform-core": "29.0.0-beta.6",
45
45
  "@modelcontextprotocol/sdk": "^1.0.4",
46
46
  "commander": "^14.0.3",
47
47
  "express": "^4.21.2",
48
+ "jsonwebtoken": "^9.0.3",
49
+ "jwks-rsa": "^4.0.1",
48
50
  "zod": "^3.24.1"
49
51
  },
50
52
  "devDependencies": {
51
53
  "@types/express": "^5.0.0",
54
+ "@types/jsonwebtoken": "^9.0.10",
52
55
  "@types/node": "^22.10.5",
53
56
  "typescript": "^5.8.2"
54
57
  },