@leeguoo/yapi-mcp 0.2.4 → 0.3.1
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/README.md +38 -13
- package/dist/cli.js +24 -9
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +48 -4
- package/dist/config.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +5 -0
- package/dist/server.js +262 -221
- package/dist/server.js.map +1 -1
- package/dist/services/yapi/api.d.ts +9 -1
- package/dist/services/yapi/api.js +55 -13
- package/dist/services/yapi/api.js.map +1 -1
- package/dist/services/yapi/auth.d.ts +13 -1
- package/dist/services/yapi/auth.js +42 -6
- package/dist/services/yapi/auth.js.map +1 -1
- package/dist/services/yapi/authCache.js +49 -4
- package/dist/services/yapi/authCache.js.map +1 -1
- package/dist/services/yapi/cache.d.ts +4 -1
- package/dist/services/yapi/cache.js +104 -15
- package/dist/services/yapi/cache.js.map +1 -1
- package/dist/skill/install.d.ts +1 -0
- package/dist/skill/install.js +724 -0
- package/dist/skill/install.js.map +1 -0
- package/dist/yapi-cli.d.ts +2 -0
- package/dist/yapi-cli.js +592 -0
- package/dist/yapi-cli.js.map +1 -0
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
28
28
|
- **yapi_project_get**: 获取项目详情(对应 `/api/project/get`)
|
|
29
29
|
- **yapi_get_categories**: 获取项目下的接口分类和接口列表(支持只返回分类/或包含接口列表)
|
|
30
30
|
- **yapi_interface_get_cat_menu**: 获取分类菜单(对应 `/api/interface/getCatMenu`)
|
|
31
|
-
- **yapi_update_token**:
|
|
31
|
+
- **yapi_update_token**: 全局模式登录并刷新本地登录态 Cookie(可选刷新项目/分类缓存)
|
|
32
32
|
|
|
33
33
|
### ✏️ 接口管理
|
|
34
34
|
|
|
@@ -54,10 +54,29 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
54
54
|
|
|
55
55
|
### 推荐方式:用 Cross Request Master 一键生成 MCP 配置(免手动找 Token)
|
|
56
56
|
|
|
57
|
-
如果你日常就在浏览器里使用 YApi,推荐安装 Chrome 扩展 [cross-request-master](https://github.com/leeguooooo/cross-request-master)。它会在 YApi 接口详情页(基本信息区域右上角)提供
|
|
57
|
+
如果你日常就在浏览器里使用 YApi,推荐安装 Chrome 扩展 [cross-request-master](https://github.com/leeguooooo/cross-request-master)。它会在 YApi 接口详情页(基本信息区域右上角)提供 **「MCP 配置(所有项目)」** / **「Skill 一键安装」** 按钮,可一键生成并复制配置:
|
|
58
58
|
|
|
59
|
-
-
|
|
60
|
-
-
|
|
59
|
+
- MCP 配置(所有项目):使用 `--yapi-auth-mode=global`(账号密码),启动后调用一次 `yapi_update_token` 刷新登录态 Cookie(并可选刷新项目缓存)
|
|
60
|
+
- Skill 一键安装:生成 Codex/Claude Skill,并写入全局配置 `~/.yapi/config.toml`
|
|
61
|
+
|
|
62
|
+
### Skill 一键安装与 CLI
|
|
63
|
+
|
|
64
|
+
一条命令把 Skill 安装到 Codex / Claude Code,并写入 `~/.yapi/config.toml`(缺省会提示输入):
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx -y @leeguoo/yapi-mcp install-skill \
|
|
68
|
+
--yapi-base-url=https://your-yapi-domain.com \
|
|
69
|
+
--yapi-email=your_email@example.com \
|
|
70
|
+
--yapi-password=your_password
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
CLI 使用示例(走同一份 `~/.yapi/config.toml`):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npx -y @leeguoo/yapi-mcp yapi -V
|
|
77
|
+
npx -y @leeguoo/yapi-mcp yapi -h
|
|
78
|
+
npx -y @leeguoo/yapi-mcp yapi --path /api/interface/get --query id=123
|
|
79
|
+
```
|
|
61
80
|
|
|
62
81
|
### 手动方式:使用 npx(无需安装)
|
|
63
82
|
|
|
@@ -82,7 +101,7 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
82
101
|
}
|
|
83
102
|
```
|
|
84
103
|
|
|
85
|
-
2)
|
|
104
|
+
2) **全局模式**(只配置一次账号密码,使用登录态 Cookie 调用页面同款接口)
|
|
86
105
|
|
|
87
106
|
```json
|
|
88
107
|
{
|
|
@@ -96,16 +115,17 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
96
115
|
"--yapi-base-url=https://your-yapi-domain.com",
|
|
97
116
|
"--yapi-auth-mode=global",
|
|
98
117
|
"--yapi-email=your_email@example.com",
|
|
99
|
-
"--yapi-password=your_password"
|
|
118
|
+
"--yapi-password=your_password",
|
|
119
|
+
"--yapi-toolset=basic"
|
|
100
120
|
]
|
|
101
121
|
}
|
|
102
122
|
}
|
|
103
123
|
}
|
|
104
124
|
```
|
|
105
125
|
|
|
106
|
-
启动后先在对话里调用一次 `yapi_update_token
|
|
126
|
+
启动后先在对话里调用一次 `yapi_update_token`,会把登录态 Cookie 缓存到本地 `~/.yapi-mcp/auth-*.json`,并把项目信息缓存到 `~/.yapi-mcp/project-info-*.json`(已尽量使用 `0600` 权限落盘),请不要提交到仓库或分享给他人。
|
|
107
127
|
|
|
108
|
-
提示:stdio 模式下为了加快 MCP 启动(避免超时),本项目不会在启动阶段做任何“全量缓存预热请求”。如需更快的工具响应,建议先调用一次 `yapi_update_token`。
|
|
128
|
+
提示:stdio 模式下为了加快 MCP 启动(避免超时),本项目不会在启动阶段做任何“全量缓存预热请求”。如需更快的工具响应,建议先调用一次 `yapi_update_token`。如 MCP 客户端仍提示启动超时,可在客户端配置中提高 `startup_timeout_sec`。
|
|
109
129
|
|
|
110
130
|
## 安装配置
|
|
111
131
|
|
|
@@ -151,7 +171,8 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
151
171
|
"YAPI_TOKEN": "projectId:token1,projectId2:token2",
|
|
152
172
|
"YAPI_AUTH_MODE": "token",
|
|
153
173
|
"YAPI_CACHE_TTL": "10",
|
|
154
|
-
"YAPI_LOG_LEVEL": "info"
|
|
174
|
+
"YAPI_LOG_LEVEL": "info",
|
|
175
|
+
"YAPI_HTTP_TIMEOUT_MS": "15000"
|
|
155
176
|
}
|
|
156
177
|
}
|
|
157
178
|
}
|
|
@@ -170,7 +191,8 @@ Yapi Auto MCP Server 是一个基于 [Model Context Protocol](https://modelconte
|
|
|
170
191
|
"YAPI_BASE_URL": "https://yapi.example.com",
|
|
171
192
|
"YAPI_AUTH_MODE": "global",
|
|
172
193
|
"YAPI_EMAIL": "your_email@example.com",
|
|
173
|
-
"YAPI_PASSWORD": "your_password"
|
|
194
|
+
"YAPI_PASSWORD": "your_password",
|
|
195
|
+
"YAPI_HTTP_TIMEOUT_MS": "15000"
|
|
174
196
|
}
|
|
175
197
|
}
|
|
176
198
|
}
|
|
@@ -202,6 +224,7 @@ PORT=3388
|
|
|
202
224
|
# 可选配置
|
|
203
225
|
YAPI_CACHE_TTL=10
|
|
204
226
|
YAPI_LOG_LEVEL=info
|
|
227
|
+
YAPI_HTTP_TIMEOUT_MS=15000
|
|
205
228
|
```
|
|
206
229
|
|
|
207
230
|
3. **启动服务**:
|
|
@@ -235,13 +258,13 @@ node dist/cli.js --stdio
|
|
|
235
258
|
|
|
236
259
|
### 获取 YApi Token
|
|
237
260
|
|
|
238
|
-
如果你使用的是 **全局模式**(`--yapi-auth-mode=global` / `YAPI_AUTH_MODE=global`),可以不手动找项目 token:启动后在对话里调用一次 `yapi_update_token
|
|
261
|
+
如果你使用的是 **全局模式**(`--yapi-auth-mode=global` / `YAPI_AUTH_MODE=global`),可以不手动找项目 token:启动后在对话里调用一次 `yapi_update_token`,会自动登录并刷新登录态 Cookie(后续请求会走页面同款接口)。
|
|
239
262
|
|
|
240
263
|
1. 登录你的 YApi 平台
|
|
241
264
|
2. 进入项目设置页面
|
|
242
265
|
3. 在 Token 配置中生成或查看 Token
|
|
243
266
|
|
|
244
|
-
不想手动找 Token 的话,可以用 [cross-request-master](https://github.com/leeguooooo/cross-request-master) 在接口详情页一键生成 MCP
|
|
267
|
+
不想手动找 Token 的话,可以用 [cross-request-master](https://github.com/leeguooooo/cross-request-master) 在接口详情页一键生成 **MCP 配置(所有项目)** 或 **Skill 一键安装**。
|
|
245
268
|
|
|
246
269
|

|
|
247
270
|
|
|
@@ -284,6 +307,7 @@ Token 格式说明:
|
|
|
284
307
|
| `--yapi-auth-mode` | 鉴权模式:`token` 或 `global` | `--yapi-auth-mode=global` | token |
|
|
285
308
|
| `--yapi-email` | 全局模式登录邮箱 | `--yapi-email=a@b.com` | - |
|
|
286
309
|
| `--yapi-password` | 全局模式登录密码 | `--yapi-password=******` | - |
|
|
310
|
+
| `--yapi-toolset` | 工具集:`basic` 或 `full` | `--yapi-toolset=basic` | basic |
|
|
287
311
|
| `--yapi-cache-ttl` | 缓存时效(分钟) | `--yapi-cache-ttl=10` | 10 |
|
|
288
312
|
| `--yapi-log-level` | 日志级别 | `--yapi-log-level=info` | info |
|
|
289
313
|
| `--port` | HTTP 服务端口(SSE 模式) | `--port=3388` | 3388 |
|
|
@@ -301,10 +325,11 @@ YAPI_BASE_URL=https://your-yapi-domain.com
|
|
|
301
325
|
YAPI_AUTH_MODE=token
|
|
302
326
|
YAPI_TOKEN=projectId:your_token_here
|
|
303
327
|
|
|
304
|
-
# 模式二:全局模式(只配置一次账号密码,启动后调用 yapi_update_token
|
|
328
|
+
# 模式二:全局模式(只配置一次账号密码,启动后调用 yapi_update_token 刷新登录态 Cookie)
|
|
305
329
|
# YAPI_AUTH_MODE=global
|
|
306
330
|
# YAPI_EMAIL=your_email@example.com
|
|
307
331
|
# YAPI_PASSWORD=your_password
|
|
332
|
+
# YAPI_TOOLSET=basic
|
|
308
333
|
|
|
309
334
|
# 可选配置
|
|
310
335
|
PORT=3388 # HTTP 服务端口
|
package/dist/cli.js
CHANGED
|
@@ -4,14 +4,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
const dotenv_1 = require("dotenv");
|
|
6
6
|
const index_1 = require("./index");
|
|
7
|
+
const install_1 = require("./skill/install");
|
|
7
8
|
(0, dotenv_1.config)({ path: (0, path_1.resolve)(process.cwd(), ".env") });
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
9
|
+
const [command, ...restArgs] = process.argv.slice(2);
|
|
10
|
+
if (command === "install-skill") {
|
|
11
|
+
(0, install_1.runInstallSkill)(restArgs).catch((error) => {
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
console.error("Skill install failed:", error.message);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.error("Skill install failed with unknown error:", error);
|
|
17
|
+
}
|
|
18
|
+
process.exit(1);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
(0, index_1.startServer)().catch((error) => {
|
|
23
|
+
if (error instanceof Error) {
|
|
24
|
+
console.error("Failed to start server:", error.message);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error("Failed to start server with unknown error:", error);
|
|
28
|
+
}
|
|
29
|
+
process.exit(1);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
17
32
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,+BAA+B;AAC/B,mCAAgC;AAChC,mCAAsC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,+BAA+B;AAC/B,mCAAgC;AAChC,mCAAsC;AACtC,6CAAkD;AAGlD,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErD,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;IAChC,IAAA,yBAAe,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,IAAA,mBAAW,GAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACrC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -4,18 +4,22 @@ interface ServerConfig {
|
|
|
4
4
|
yapiAuthMode: "token" | "global";
|
|
5
5
|
yapiEmail: string;
|
|
6
6
|
yapiPassword: string;
|
|
7
|
+
yapiToolset: "basic" | "full";
|
|
7
8
|
port: number;
|
|
8
9
|
yapiCacheTTL: number;
|
|
9
10
|
yapiLogLevel: string;
|
|
11
|
+
yapiHttpTimeoutMs: number;
|
|
10
12
|
configSources: {
|
|
11
13
|
yapiBaseUrl: "cli" | "env" | "default";
|
|
12
14
|
yapiToken: "cli" | "env" | "default";
|
|
13
15
|
yapiAuthMode: "cli" | "env" | "default";
|
|
14
16
|
yapiEmail: "cli" | "env" | "default";
|
|
15
17
|
yapiPassword: "cli" | "env" | "default";
|
|
18
|
+
yapiToolset: "cli" | "env" | "default";
|
|
16
19
|
port: "cli" | "env" | "default";
|
|
17
20
|
yapiCacheTTL: "cli" | "env" | "default";
|
|
18
21
|
yapiLogLevel: "cli" | "env" | "default";
|
|
22
|
+
yapiHttpTimeoutMs: "cli" | "env" | "default";
|
|
19
23
|
};
|
|
20
24
|
}
|
|
21
25
|
export declare function getServerConfig(): ServerConfig;
|
package/dist/config.js
CHANGED
|
@@ -4,11 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getServerConfig = getServerConfig;
|
|
7
|
-
const dotenv_1 = require("dotenv");
|
|
8
7
|
const yargs_1 = __importDefault(require("yargs"));
|
|
9
8
|
const helpers_1 = require("yargs/helpers");
|
|
10
9
|
const logger_1 = require("./services/yapi/logger");
|
|
11
|
-
(0, dotenv_1.config)();
|
|
12
10
|
function maskApiKey(key) {
|
|
13
11
|
if (key.length <= 4)
|
|
14
12
|
return "****";
|
|
@@ -21,6 +19,15 @@ function maskSecret(value) {
|
|
|
21
19
|
return "**";
|
|
22
20
|
return `${value[0]}***${value[value.length - 1]}`;
|
|
23
21
|
}
|
|
22
|
+
function maskEmail(email) {
|
|
23
|
+
const v = String(email || "").trim();
|
|
24
|
+
if (!v)
|
|
25
|
+
return "";
|
|
26
|
+
const at = v.indexOf("@");
|
|
27
|
+
if (at <= 1)
|
|
28
|
+
return "***";
|
|
29
|
+
return `${v[0]}***${v.slice(at)}`;
|
|
30
|
+
}
|
|
24
31
|
function getServerConfig() {
|
|
25
32
|
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
26
33
|
.options({
|
|
@@ -34,7 +41,7 @@ function getServerConfig() {
|
|
|
34
41
|
},
|
|
35
42
|
"yapi-auth-mode": {
|
|
36
43
|
type: "string",
|
|
37
|
-
description: "鉴权模式:token=项目 token;global
|
|
44
|
+
description: "鉴权模式:token=项目 token;global=用户名/密码登录(Cookie 登录态)",
|
|
38
45
|
choices: ["token", "global"],
|
|
39
46
|
},
|
|
40
47
|
"yapi-email": {
|
|
@@ -45,6 +52,11 @@ function getServerConfig() {
|
|
|
45
52
|
type: "string",
|
|
46
53
|
description: "全局模式登录密码(/api/user/login 的 password 字段)",
|
|
47
54
|
},
|
|
55
|
+
"yapi-toolset": {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "工具集:basic=常用精简;full=完整(包含底层接口封装工具)",
|
|
58
|
+
choices: ["basic", "full"],
|
|
59
|
+
},
|
|
48
60
|
port: {
|
|
49
61
|
type: "number",
|
|
50
62
|
description: "Port to run the server on",
|
|
@@ -58,6 +70,10 @@ function getServerConfig() {
|
|
|
58
70
|
description: "YApi日志级别 (debug, info, warn, error)",
|
|
59
71
|
choices: ["debug", "info", "warn", "error"],
|
|
60
72
|
},
|
|
73
|
+
"yapi-http-timeout-ms": {
|
|
74
|
+
type: "number",
|
|
75
|
+
description: "YApi HTTP 请求超时(毫秒),默认 15000",
|
|
76
|
+
},
|
|
61
77
|
})
|
|
62
78
|
.help()
|
|
63
79
|
.parseSync();
|
|
@@ -67,18 +83,22 @@ function getServerConfig() {
|
|
|
67
83
|
yapiAuthMode: "token",
|
|
68
84
|
yapiEmail: "",
|
|
69
85
|
yapiPassword: "",
|
|
86
|
+
yapiToolset: "basic",
|
|
70
87
|
port: 3388,
|
|
71
88
|
yapiCacheTTL: 10,
|
|
72
89
|
yapiLogLevel: "info",
|
|
90
|
+
yapiHttpTimeoutMs: 15_000,
|
|
73
91
|
configSources: {
|
|
74
92
|
yapiBaseUrl: "default",
|
|
75
93
|
yapiToken: "default",
|
|
76
94
|
yapiAuthMode: "default",
|
|
77
95
|
yapiEmail: "default",
|
|
78
96
|
yapiPassword: "default",
|
|
97
|
+
yapiToolset: "default",
|
|
79
98
|
port: "default",
|
|
80
99
|
yapiCacheTTL: "default",
|
|
81
100
|
yapiLogLevel: "default",
|
|
101
|
+
yapiHttpTimeoutMs: "default",
|
|
82
102
|
},
|
|
83
103
|
};
|
|
84
104
|
if (argv["yapi-base-url"]) {
|
|
@@ -127,6 +147,17 @@ function getServerConfig() {
|
|
|
127
147
|
else {
|
|
128
148
|
config.yapiAuthMode = config.yapiToken ? "token" : config.yapiEmail && config.yapiPassword ? "global" : "token";
|
|
129
149
|
}
|
|
150
|
+
if (argv["yapi-toolset"]) {
|
|
151
|
+
config.yapiToolset = argv["yapi-toolset"];
|
|
152
|
+
config.configSources.yapiToolset = "cli";
|
|
153
|
+
}
|
|
154
|
+
else if (process.env.YAPI_TOOLSET) {
|
|
155
|
+
const set = process.env.YAPI_TOOLSET.toLowerCase();
|
|
156
|
+
if (set === "basic" || set === "full") {
|
|
157
|
+
config.yapiToolset = set;
|
|
158
|
+
config.configSources.yapiToolset = "env";
|
|
159
|
+
}
|
|
160
|
+
}
|
|
130
161
|
if (argv.port) {
|
|
131
162
|
config.port = argv.port;
|
|
132
163
|
config.configSources.port = "cli";
|
|
@@ -158,16 +189,29 @@ function getServerConfig() {
|
|
|
158
189
|
config.configSources.yapiLogLevel = "env";
|
|
159
190
|
}
|
|
160
191
|
}
|
|
192
|
+
if (argv["yapi-http-timeout-ms"]) {
|
|
193
|
+
config.yapiHttpTimeoutMs = argv["yapi-http-timeout-ms"];
|
|
194
|
+
config.configSources.yapiHttpTimeoutMs = "cli";
|
|
195
|
+
}
|
|
196
|
+
else if (process.env.YAPI_HTTP_TIMEOUT_MS) {
|
|
197
|
+
const ms = parseInt(process.env.YAPI_HTTP_TIMEOUT_MS, 10);
|
|
198
|
+
if (!isNaN(ms)) {
|
|
199
|
+
config.yapiHttpTimeoutMs = ms;
|
|
200
|
+
config.configSources.yapiHttpTimeoutMs = "env";
|
|
201
|
+
}
|
|
202
|
+
}
|
|
161
203
|
const logger = new logger_1.Logger("Config", config.yapiLogLevel);
|
|
162
204
|
logger.info("\nConfiguration:");
|
|
163
205
|
logger.info(`- YAPI_BASE_URL: ${config.yapiBaseUrl} (source: ${config.configSources.yapiBaseUrl})`);
|
|
164
206
|
logger.info(`- YAPI_TOKEN: ${config.yapiToken ? maskApiKey(config.yapiToken) : "未配置"} (source: ${config.configSources.yapiToken})`);
|
|
165
207
|
logger.info(`- YAPI_AUTH_MODE: ${config.yapiAuthMode} (source: ${config.configSources.yapiAuthMode})`);
|
|
166
|
-
logger.info(`- YAPI_EMAIL: ${config.yapiEmail
|
|
208
|
+
logger.info(`- YAPI_EMAIL: ${config.yapiEmail ? maskEmail(config.yapiEmail) : "未配置"} (source: ${config.configSources.yapiEmail})`);
|
|
167
209
|
logger.info(`- YAPI_PASSWORD: ${config.yapiPassword ? maskSecret(config.yapiPassword) : "未配置"} (source: ${config.configSources.yapiPassword})`);
|
|
210
|
+
logger.info(`- YAPI_TOOLSET: ${config.yapiToolset} (source: ${config.configSources.yapiToolset})`);
|
|
168
211
|
logger.info(`- PORT: ${config.port} (source: ${config.configSources.port})`);
|
|
169
212
|
logger.info(`- YAPI_CACHE_TTL: ${config.yapiCacheTTL} 分钟 (source: ${config.configSources.yapiCacheTTL})`);
|
|
170
213
|
logger.info(`- YAPI_LOG_LEVEL: ${config.yapiLogLevel} (source: ${config.configSources.yapiLogLevel})`);
|
|
214
|
+
logger.info(`- YAPI_HTTP_TIMEOUT_MS: ${config.yapiHttpTimeoutMs} (source: ${config.configSources.yapiHttpTimeoutMs})`);
|
|
171
215
|
logger.info("");
|
|
172
216
|
return config;
|
|
173
217
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AA6DA,0CAmNC;AAhRD,kDAA0B;AAC1B,2CAAwC;AACxC,mDAAgD;AA2BhD,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACpC,CAAC;AAeD,SAAgB,eAAe;IAE7B,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtC,OAAO,CAAC;QACP,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,cAAc;SAC5B;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gBAAgB;SAC9B;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,iDAAiD;YAC9D,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC7B;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;SACvD;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC3B;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2BAA2B;SACzC;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qCAAqC;YAClD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;SAC5C;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,6BAA6B;SAC3C;KACF,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAa,CAAC;IAE1B,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,MAAM;QACpB,iBAAiB,EAAE,MAAM;QACzB,aAAa,EAAE;YACb,WAAW,EAAE,SAAS;YACtB,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,SAAS;YACvB,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,SAAS;YACvB,iBAAiB,EAAE,SAAS;SAC7B;KACF,CAAC;IAIF,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3C,CAAC;IAGD,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,CAAC;IAGD,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;IAGD,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,CAAC;QAEN,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,CAAC;IAGD,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;YACzB,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;IACpC,CAAC;IAGD,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;IAGD,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5C,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC/B,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;IAGD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjD,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjD,CAAC;IACH,CAAC;IAGD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAGzD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CACT,oBAAoB,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,CACvF,CAAC;IACF,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,CACvH,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;IACvG,MAAM,CAAC,IAAI,CACT,iBAAiB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,CACtH,CAAC;IACF,MAAM,CAAC,IAAI,CACT,oBAAoB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,CACnI,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,aAAa,MAAM,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;IACnG,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,YAAY,gBAAgB,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;IAC1G,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,YAAY,aAAa,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,CAAC;IACvG,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,iBAAiB,aAAa,MAAM,CAAC,aAAa,CAAC,iBAAiB,GAAG,CAAC,CAAC;IACvH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -30,7 +30,7 @@ async function startServer() {
|
|
|
30
30
|
mode: config.yapiAuthMode,
|
|
31
31
|
email: config.yapiEmail,
|
|
32
32
|
password: config.yapiPassword,
|
|
33
|
-
});
|
|
33
|
+
}, { timeoutMs: config.yapiHttpTimeoutMs }, { toolset: config.yapiToolset });
|
|
34
34
|
const isStdioMode = process.env.NODE_ENV === "cli" || process.argv.includes("--stdio");
|
|
35
35
|
if (isStdioMode) {
|
|
36
36
|
logger.info("Initializing Yapi MCP Server in stdio mode...");
|
|
@@ -47,9 +47,16 @@ async function startServer() {
|
|
|
47
47
|
logger.info("- yapi_search_apis: 搜索YApi接口");
|
|
48
48
|
logger.info("- yapi_list_projects: 列出YApi的项目ID和项目名称");
|
|
49
49
|
logger.info("- yapi_get_categories: 获取YApi项目下的接口分类列表");
|
|
50
|
-
logger.info("- yapi_update_token:
|
|
50
|
+
logger.info("- yapi_update_token: 全局模式登录并刷新本地登录态 Cookie");
|
|
51
51
|
}
|
|
52
52
|
if (require.main === module) {
|
|
53
|
+
try {
|
|
54
|
+
const { resolve } = require("path");
|
|
55
|
+
const { config } = require("dotenv");
|
|
56
|
+
config({ path: resolve(process.cwd(), ".env") });
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
}
|
|
53
60
|
startServer().catch((error) => {
|
|
54
61
|
console.error("Failed to start server:", error);
|
|
55
62
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAWA,kCAwCC;AAnDD,wEAAiF;AACjF,qCAAyC;AACzC,qCAA2C;AAC3C,mDAAgD;AAGhD,wDAAsC;AACtC,sDAAoC;AACpC,wDAAsC;AACtC,yDAAuC;AAEhC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IAGjC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAG9D,MAAM,MAAM,GAAG,IAAI,sBAAa,CAC9B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,EACnB;QACE,IAAI,EAAE,MAAM,CAAC,YAAY;QACzB,KAAK,EAAE,MAAM,CAAC,SAAS;QACvB,QAAQ,EAAE,MAAM,CAAC,YAAY;KAC9B,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,EACvC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAChC,CAAC;IAGF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,qDAAqD,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;QACnF,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACvD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;AAC5D,CAAC;AAGD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAE5B,IAAI,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IACD,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -6,12 +6,17 @@ export declare class YapiMcpServer {
|
|
|
6
6
|
private readonly logger;
|
|
7
7
|
private readonly authService;
|
|
8
8
|
private readonly authMode;
|
|
9
|
+
private readonly toolset;
|
|
9
10
|
private sseTransport;
|
|
10
11
|
private readonly isStdioMode;
|
|
11
12
|
constructor(yapiBaseUrl: string, yapiToken: string, yapiLogLevel?: string, yapiCacheTTL?: number, auth?: {
|
|
12
13
|
mode?: "token" | "global";
|
|
13
14
|
email?: string;
|
|
14
15
|
password?: string;
|
|
16
|
+
}, http?: {
|
|
17
|
+
timeoutMs?: number;
|
|
18
|
+
}, tools?: {
|
|
19
|
+
toolset?: "basic" | "full";
|
|
15
20
|
});
|
|
16
21
|
private loadCacheFromDiskOnly;
|
|
17
22
|
private initializeCache;
|