@leeguoo/yapi-mcp 0.3.0 → 0.3.2
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 +48 -4
- package/dist/cli.js +24 -9
- package/dist/cli.js.map +1 -1
- package/dist/skill/install.d.ts +1 -0
- package/dist/skill/install.js +728 -0
- package/dist/skill/install.js.map +1 -0
- package/dist/yapi-cli.d.ts +2 -0
- package/dist/yapi-cli.js +1532 -0
- package/dist/yapi-cli.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -54,10 +54,54 @@ 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 接口详情页(基本信息区域右上角)提供 **「YApi 工具箱」** 按钮,包含 MCP 配置/Skill 一键安装/CLI docs-sync 说明;另外保留 **「复制给 AI」** 一键复制接口 Markdown:
|
|
58
58
|
|
|
59
|
-
-
|
|
60
|
-
-
|
|
59
|
+
- MCP 配置(所有项目):使用 `--yapi-auth-mode=global`(账号密码),启动后调用一次 `yapi_update_token` 刷新登录态 Cookie(并可选刷新项目缓存)
|
|
60
|
+
- Skill 一键安装:生成 Codex/Claude Skill,并写入全局配置 `~/.yapi/config.toml`
|
|
61
|
+
- CLI 使用与 docs-sync:提供本地 CLI 安装命令和文档同步示例
|
|
62
|
+
|
|
63
|
+
### Skill 一键安装与 CLI
|
|
64
|
+
|
|
65
|
+
一条命令把 Skill 安装到 Codex / Claude Code,并写入 `~/.yapi/config.toml`(缺省会提示输入):
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npx -y @leeguoo/yapi-mcp install-skill \
|
|
69
|
+
--yapi-base-url=https://your-yapi-domain.com \
|
|
70
|
+
--yapi-email=your_email@example.com \
|
|
71
|
+
--yapi-password=your_password
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
CLI 使用示例(走同一份 `~/.yapi/config.toml`):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npx -y @leeguoo/yapi-mcp yapi -V
|
|
78
|
+
npx -y @leeguoo/yapi-mcp yapi -h
|
|
79
|
+
npx -y @leeguoo/yapi-mcp yapi login
|
|
80
|
+
npx -y @leeguoo/yapi-mcp yapi --path /api/interface/get --query id=123
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
全局模式下可先执行 `yapi login` 缓存登录态(`~/.yapi-mcp/auth-*.json`),权限失效会自动重新登录。
|
|
84
|
+
|
|
85
|
+
Markdown 同步到 YApi(支持 Mermaid 预渲染,需 `pandoc` + `mmdc`):
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npx -y @leeguoo/yapi-mcp yapi docs-sync bind add \
|
|
89
|
+
--name projectA \
|
|
90
|
+
--dir docs/release-notes \
|
|
91
|
+
--project-id 267 \
|
|
92
|
+
--catid 3667
|
|
93
|
+
|
|
94
|
+
npx -y @leeguoo/yapi-mcp yapi docs-sync --binding projectA
|
|
95
|
+
# 或同步 .yapi/docs-sync.json 内的所有绑定
|
|
96
|
+
npx -y @leeguoo/yapi-mcp yapi docs-sync
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
说明:
|
|
100
|
+
- 绑定配置保存在 `.yapi/docs-sync.json`(自动维护 `files`:文件名 → API id)
|
|
101
|
+
- 兼容旧方式:`--dir` 读取目录内 `.yapi.json` 的 `project_id/catid` 与 `source_files`
|
|
102
|
+
- 管理绑定:`yapi docs-sync bind list|get|add|update|remove`
|
|
103
|
+
- 可用 `--dry-run` 只做转换不更新
|
|
104
|
+
- 如需跳过 Mermaid 渲染,使用 `--no-mermaid`
|
|
61
105
|
|
|
62
106
|
### 手动方式:使用 npx(无需安装)
|
|
63
107
|
|
|
@@ -245,7 +289,7 @@ node dist/cli.js --stdio
|
|
|
245
289
|
2. 进入项目设置页面
|
|
246
290
|
3. 在 Token 配置中生成或查看 Token
|
|
247
291
|
|
|
248
|
-
不想手动找 Token 的话,可以用 [cross-request-master](https://github.com/leeguooooo/cross-request-master) 在接口详情页一键生成 MCP
|
|
292
|
+
不想手动找 Token 的话,可以用 [cross-request-master](https://github.com/leeguooooo/cross-request-master) 在接口详情页一键生成 **MCP 配置(所有项目)** 或 **Skill 一键安装**。
|
|
249
293
|
|
|
250
294
|

|
|
251
295
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function runInstallSkill(rawArgs: string[]): Promise<void>;
|