@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 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**: 全局模式登录并刷新本地项目 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 接口详情页(基本信息区域右上角)提供 **「当前项目 MCP 配置」** / **「所有项目 MCP 配置」** 按钮,可一键生成并复制配置:
57
+ 如果你日常就在浏览器里使用 YApi,推荐安装 Chrome 扩展 [cross-request-master](https://github.com/leeguooooo/cross-request-master)。它会在 YApi 接口详情页(基本信息区域右上角)提供 **「MCP 配置(所有项目)」** / **「Skill 一键安装」** 按钮,可一键生成并复制配置:
58
58
 
59
- - 当前项目:使用 `--yapi-token=projectId:token`
60
- - 所有项目(全局模式):使用 `--yapi-auth-mode=global`(账号密码),启动后再调用一次 `yapi_update_token` 自动缓存所有项目 token
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) **全局模式**(只配置一次账号密码,项目 token 自动本地缓存)
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`,会把 `projectId -> token` 缓存到本地 `~/.yapi-mcp/auth-*.json`。部分 YApi 部署不会在开放 API 中直接返回 token,本项目会自动兜底从项目设置页抓取 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`,会自动登录并把所有可访问项目的 `projectId -> 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 配置(会自动带上 `projectId:token`)。
267
+ 不想手动找 Token 的话,可以用 [cross-request-master](https://github.com/leeguooooo/cross-request-master) 在接口详情页一键生成 **MCP 配置(所有项目)** 或 **Skill 一键安装**。
245
268
 
246
269
  ![Token 获取示例](./images/token.png)
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 缓存项目 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
- (0, index_1.startServer)().catch((error) => {
9
- if (error instanceof Error) {
10
- console.error("Failed to start server:", error.message);
11
- }
12
- else {
13
- console.error("Failed to start server with unknown error:", error);
14
- }
15
- process.exit(1);
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;AAGtC,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjD,IAAA,mBAAW,GAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACrC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
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=用户名/密码登录并缓存项目 token",
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 || "未配置"} (source: ${config.configSources.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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
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: 全局模式登录并刷新本地 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,kCAsCC;AAjDD,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,CACF,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,2CAA2C,CAAC,CAAC;AAC3D,CAAC;AAGD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,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"}
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;