@visionpoint/avps-mcp 1.0.3 → 1.0.4
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.
- package/dist/index.js +75 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -63,7 +63,7 @@ const RPC_ENDPOINT = `${API_URL}/mcp/rpc`;
|
|
|
63
63
|
// Server info for MCP initialize response
|
|
64
64
|
const SERVER_INFO = {
|
|
65
65
|
name: 'avps-mcp',
|
|
66
|
-
version: '1.0.
|
|
66
|
+
version: '1.0.4',
|
|
67
67
|
};
|
|
68
68
|
// MCP capabilities we support
|
|
69
69
|
const SERVER_CAPABILITIES = {
|
|
@@ -157,8 +157,18 @@ function handleInitialize(request) {
|
|
|
157
157
|
};
|
|
158
158
|
sendResponse(response);
|
|
159
159
|
}
|
|
160
|
+
// Login tool shown when not authenticated
|
|
161
|
+
const LOGIN_TOOL = {
|
|
162
|
+
name: 'avps_login',
|
|
163
|
+
description: 'Sign in to AVPS (AV Professional Services) to access inventory, projects, service orders, and more. This will open a browser for Microsoft authentication.',
|
|
164
|
+
inputSchema: {
|
|
165
|
+
type: 'object',
|
|
166
|
+
properties: {},
|
|
167
|
+
required: [],
|
|
168
|
+
},
|
|
169
|
+
};
|
|
160
170
|
/**
|
|
161
|
-
* Handle tools/list - proxy to API if authenticated, return
|
|
171
|
+
* Handle tools/list - proxy to API if authenticated, return login tool if not
|
|
162
172
|
*/
|
|
163
173
|
async function handleToolsList(request) {
|
|
164
174
|
if (auth) {
|
|
@@ -172,11 +182,11 @@ async function handleToolsList(request) {
|
|
|
172
182
|
}
|
|
173
183
|
}
|
|
174
184
|
else {
|
|
175
|
-
// Return
|
|
185
|
+
// Return login tool - user needs to authenticate first
|
|
176
186
|
sendResponse({
|
|
177
187
|
jsonrpc: '2.0',
|
|
178
188
|
id: request.id,
|
|
179
|
-
result: { tools: [] },
|
|
189
|
+
result: { tools: [LOGIN_TOOL] },
|
|
180
190
|
});
|
|
181
191
|
}
|
|
182
192
|
}
|
|
@@ -203,6 +213,58 @@ async function handleResourcesList(request) {
|
|
|
203
213
|
});
|
|
204
214
|
}
|
|
205
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Handle the login tool - triggers device code auth flow
|
|
218
|
+
*/
|
|
219
|
+
async function handleLoginTool(request) {
|
|
220
|
+
try {
|
|
221
|
+
if (auth) {
|
|
222
|
+
sendResponse({
|
|
223
|
+
jsonrpc: '2.0',
|
|
224
|
+
id: request.id,
|
|
225
|
+
result: {
|
|
226
|
+
content: [
|
|
227
|
+
{
|
|
228
|
+
type: 'text',
|
|
229
|
+
text: `Already signed in as ${auth.userName} (${auth.userEmail}). You can now use all AVPS tools.`,
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
// Trigger authentication
|
|
237
|
+
log('Login tool called - starting authentication...');
|
|
238
|
+
await ensureAuthenticated();
|
|
239
|
+
sendResponse({
|
|
240
|
+
jsonrpc: '2.0',
|
|
241
|
+
id: request.id,
|
|
242
|
+
result: {
|
|
243
|
+
content: [
|
|
244
|
+
{
|
|
245
|
+
type: 'text',
|
|
246
|
+
text: `Successfully signed in as ${auth.userName} (${auth.userEmail}). AVPS tools are now available. Please ask me again what you'd like to do.`,
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
},
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
sendResponse({
|
|
254
|
+
jsonrpc: '2.0',
|
|
255
|
+
id: request.id,
|
|
256
|
+
result: {
|
|
257
|
+
content: [
|
|
258
|
+
{
|
|
259
|
+
type: 'text',
|
|
260
|
+
text: `Authentication failed: ${error.message}. Please try again.`,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
isError: true,
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
206
268
|
/**
|
|
207
269
|
* Handle incoming JSON-RPC message from stdin
|
|
208
270
|
*/
|
|
@@ -238,9 +300,15 @@ async function handleMessage(line) {
|
|
|
238
300
|
await handleResourcesList(request);
|
|
239
301
|
break;
|
|
240
302
|
case 'tools/call':
|
|
241
|
-
//
|
|
242
|
-
|
|
243
|
-
|
|
303
|
+
// Handle login tool specially
|
|
304
|
+
if (request.params?.name === 'avps_login') {
|
|
305
|
+
await handleLoginTool(request);
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
// Requires auth - will trigger device code flow if needed
|
|
309
|
+
const response = await sendToApi(request);
|
|
310
|
+
sendResponse(response);
|
|
311
|
+
}
|
|
244
312
|
break;
|
|
245
313
|
default:
|
|
246
314
|
// Proxy all other requests to API
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|