@uzqw/mcp 0.1.6 → 0.1.7
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 +33 -18
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -235,7 +235,7 @@ function registerTools(server2, client2) {
|
|
|
235
235
|
|
|
236
236
|
// src/index.ts
|
|
237
237
|
var CALLBACK_PORT = 8199;
|
|
238
|
-
var LOGIN_TIMEOUT_MS =
|
|
238
|
+
var LOGIN_TIMEOUT_MS = 3e5;
|
|
239
239
|
var require2 = createRequire(import.meta.url);
|
|
240
240
|
var MCP_VERSION = require2("../package.json").version;
|
|
241
241
|
var sub = process.argv[2];
|
|
@@ -272,23 +272,32 @@ server.registerTool(
|
|
|
272
272
|
annotations: { title: "\u767B\u5F55 Recolx", ...READ_ONLY2 },
|
|
273
273
|
inputSchema: LoginInput
|
|
274
274
|
},
|
|
275
|
-
async () => {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
275
|
+
async (args = {}) => {
|
|
276
|
+
if (!args.force) {
|
|
277
|
+
const existingToken = await client.auth.getAccessToken();
|
|
278
|
+
if (existingToken) {
|
|
279
|
+
try {
|
|
280
|
+
await client.getCurrentUser();
|
|
281
|
+
return {
|
|
282
|
+
content: [
|
|
283
|
+
{
|
|
284
|
+
type: "text",
|
|
285
|
+
text: "\u5DF2\u767B\u5F55\u3002\u82E5\u4F60\u60F3\u5207\u6362\u8D26\u53F7\uFF0C\u8BF7\u7528 login(force: true) \u5F3A\u5236\u91CD\u65B0\u8BA4\u8BC1\uFF08\u6D4F\u89C8\u5668\u4F1A\u5F39\u51FA\u767B\u5F55\u9875\uFF0C\u53EF\u6362\u53F7\uFF09\u3002"
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
};
|
|
289
|
+
} catch (err) {
|
|
290
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
291
|
+
if (msg.includes("401") || msg.includes("\u672A\u767B\u5F55")) {
|
|
292
|
+
await client.auth.logout();
|
|
293
|
+
} else {
|
|
294
|
+
return { content: [{ type: "text", text: `\u767B\u5F55\u6001\u6821\u9A8C\u5931\u8D25\uFF1A${msg}` }], isError: true };
|
|
295
|
+
}
|
|
287
296
|
}
|
|
288
297
|
}
|
|
289
298
|
}
|
|
290
299
|
const devUserId = process.env.RECOLX_DEV_USER_ID;
|
|
291
|
-
const authReq = client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : {});
|
|
300
|
+
const authReq = client.auth.createAuthorizationRequest(devUserId ? { user_id: devUserId } : args.force ? { prompt: "login" } : {});
|
|
292
301
|
const authUrlFile = process.env.RECOLX_DEV_AUTH_URL_FILE;
|
|
293
302
|
const result = await runOAuthCallback({
|
|
294
303
|
port: CALLBACK_PORT,
|
|
@@ -320,10 +329,9 @@ server.registerTool(
|
|
|
320
329
|
content: [
|
|
321
330
|
{
|
|
322
331
|
type: "text",
|
|
323
|
-
text: `\u6388\u6743\u8D85\u65F6\
|
|
324
|
-
${authReq.url}
|
|
332
|
+
text: `\u6388\u6743\u7B49\u5F85\u8D85\u65F6\uFF085 \u5206\u949F\uFF09\u3002\u82E5\u6D4F\u89C8\u5668\u5DF2\u8DF3\u8F6C\u5E76\u663E\u793A "localhost:8199 \u65E0\u6CD5\u8BBF\u95EE"\uFF0C\u8BF4\u660E\u672C\u6B21\u6388\u6743\u7A97\u53E3\u5DF2\u8FC7\u671F\u2014\u2014\u8BF7\u91CD\u65B0\u8C03\u7528 login \u518D\u8BD5\uFF08\u767B\u5F55\u9700\u5728 5 \u5206\u949F\u5185\u5B8C\u6210\uFF09\u3002
|
|
325
333
|
|
|
326
|
-
\u8FDC\u7A0B
|
|
334
|
+
\u65E0\u5934/\u8FDC\u7A0B\u673A\u5668\uFF1A\u53EF\u8BBE RECOLX_DEV_AUTH_URL_FILE=/path/url.txt \u8BA9 login \u628A\u6388\u6743 URL \u5199\u5165\u6587\u4EF6\u540E\u518D\u624B\u52A8\u5904\u7406\uFF1B\u5E76\u9700\u8F6C\u53D1\u672C\u5730\u7AEF\u53E3 ${CALLBACK_PORT}\uFF1Assh -L ${CALLBACK_PORT}:localhost:${CALLBACK_PORT}`
|
|
327
335
|
}
|
|
328
336
|
],
|
|
329
337
|
isError: true
|
|
@@ -363,7 +371,14 @@ server.registerTool(
|
|
|
363
371
|
} catch {
|
|
364
372
|
}
|
|
365
373
|
await client.auth.logout();
|
|
366
|
-
return {
|
|
374
|
+
return {
|
|
375
|
+
content: [
|
|
376
|
+
{
|
|
377
|
+
type: "text",
|
|
378
|
+
text: "\u5DF2\u767B\u51FA\u5E76\u64A4\u9500 Recolx \u6388\u6743\uFF08\u672C\u5730 token \u5DF2\u5220\u9664\uFF09\u3002\u6CE8\u610F\uFF1A\u6D4F\u89C8\u5668\u91CC test-auth.recolx.ai \u7684 Logto \u4F1A\u8BDD\u4E0D\u53D7\u5F71\u54CD\u2014\u2014\u518D\u6B21 login \u4F1A SSO \u79D2\u8FC7\uFF1B\u8981\u6362\u8D26\u53F7\u8BF7\u7528 login(force: true)\u3002"
|
|
379
|
+
}
|
|
380
|
+
]
|
|
381
|
+
};
|
|
367
382
|
}
|
|
368
383
|
);
|
|
369
384
|
registerTools(server, client);
|