@aipper/zentao-mcp-server 0.1.4 → 0.1.5
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/.env.example +2 -2
- package/README.md +33 -2
- package/bin/zentao-mcp-server.js +3 -0
- package/package.json +5 -2
package/.env.example
CHANGED
|
@@ -5,8 +5,8 @@ ZENTAO_BASE_URL=http://zentao.example.com
|
|
|
5
5
|
ZENTAO_ACCOUNT=your_account
|
|
6
6
|
ZENTAO_PASSWORD=your_password
|
|
7
7
|
|
|
8
|
-
# API
|
|
9
|
-
ZENTAO_API_PREFIX=/api.php/v1
|
|
8
|
+
# 可选:API 前缀(默认 /api.php/v1)
|
|
9
|
+
# ZENTAO_API_PREFIX=/api.php/v1
|
|
10
10
|
|
|
11
11
|
# 获取 Token 的路径(相对 ZENTAO_BASE_URL;通常为 /api.php/v1/tokens)
|
|
12
12
|
ZENTAO_TOKEN_PATH=/api.php/v1/tokens
|
package/README.md
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
- `ZENTAO_PASSWORD`
|
|
19
19
|
|
|
20
20
|
> 注意:不同禅道版本/部署方式的 token 端点与返回结构可能不同;可通过 `ZENTAO_TOKEN_PATH`/`ZENTAO_API_PREFIX` 调整。
|
|
21
|
+
>
|
|
22
|
+
> 默认情况下不需要配置 `ZENTAO_API_PREFIX`(默认值是 `/api.php/v1`)。
|
|
21
23
|
|
|
22
24
|
## 安装与运行
|
|
23
25
|
```bash
|
|
@@ -26,6 +28,12 @@ cp .env.example .env
|
|
|
26
28
|
npm start
|
|
27
29
|
```
|
|
28
30
|
|
|
31
|
+
## npm 安装后的运行
|
|
32
|
+
发布到 npm 后,推荐用 `npx` 启动(适合 MCP 客户端配置):
|
|
33
|
+
```bash
|
|
34
|
+
npx -y @aipper/zentao-mcp-server
|
|
35
|
+
```
|
|
36
|
+
|
|
29
37
|
## 验证(不依赖 MCP 客户端)
|
|
30
38
|
```bash
|
|
31
39
|
npm i
|
|
@@ -38,7 +46,24 @@ npm run smoke
|
|
|
38
46
|
- 输出 `GET /projects status: 200`(或你的禅道实际返回码)
|
|
39
47
|
|
|
40
48
|
## Claude Desktop / Cursor 示例(stdio)
|
|
41
|
-
|
|
49
|
+
优先使用 `npx`(npm 发布版):
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"zentao": {
|
|
54
|
+
"command": "npx",
|
|
55
|
+
"args": ["-y", "@aipper/zentao-mcp-server"],
|
|
56
|
+
"env": {
|
|
57
|
+
"ZENTAO_BASE_URL": "https://zentao.example.com",
|
|
58
|
+
"ZENTAO_ACCOUNT": "your_account",
|
|
59
|
+
"ZENTAO_PASSWORD": "your_password"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
本地源码调试可继续用 `node src/index.js`:
|
|
42
67
|
|
|
43
68
|
示例(Claude Desktop 的 `mcpServers` 风格,按你的客户端实际字段为准):
|
|
44
69
|
```json
|
|
@@ -50,7 +75,6 @@ npm run smoke
|
|
|
50
75
|
"cwd": "/ABS/PATH/TO/zentao",
|
|
51
76
|
"env": {
|
|
52
77
|
"ZENTAO_BASE_URL": "https://zentao.example.com",
|
|
53
|
-
"ZENTAO_API_PREFIX": "/api.php/v1",
|
|
54
78
|
"ZENTAO_ACCOUNT": "your_account",
|
|
55
79
|
"ZENTAO_PASSWORD": "your_password"
|
|
56
80
|
}
|
|
@@ -59,6 +83,13 @@ npm run smoke
|
|
|
59
83
|
}
|
|
60
84
|
```
|
|
61
85
|
|
|
86
|
+
## 常见错误(`-32000`)
|
|
87
|
+
`-32000` 通常是客户端侧“通用 MCP 调用失败”映射码,优先检查:
|
|
88
|
+
- `env` 是否完整传入(尤其是 `ZENTAO_BASE_URL`/`ZENTAO_ACCOUNT`/`ZENTAO_PASSWORD`)。
|
|
89
|
+
- `ZENTAO_API_PREFIX`/`ZENTAO_TOKEN_PATH` 是否和你的禅道实例一致。
|
|
90
|
+
- MCP 客户端是否真的在执行 `npx -y @aipper/zentao-mcp-server`(而不是旧的本地命令)。
|
|
91
|
+
- 客户端日志中是否有启动报错(如找不到命令、401、超时)。
|
|
92
|
+
|
|
62
93
|
## 已实现工具
|
|
63
94
|
- `get_token`:获取/刷新 token(默认不回显完整 token)
|
|
64
95
|
- `call`:调用任意相对 API 路径(自动带 Token 头)
|
package/package.json
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aipper/zentao-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "A minimal MCP server for ZenTao (token + generic REST call + a few helper tools).",
|
|
7
7
|
"license": "UNLICENSED",
|
|
8
8
|
"main": "src/index.js",
|
|
9
|
+
"bin": {
|
|
10
|
+
"zentao-mcp-server": "bin/zentao-mcp-server.js"
|
|
11
|
+
},
|
|
9
12
|
"scripts": {
|
|
10
13
|
"start": "node src/index.js",
|
|
11
|
-
"lint": "node -c src/index.js && node -c src/zentao.js && node -c src/tools.js && node -c scripts/smoke.mjs",
|
|
14
|
+
"lint": "node -c src/index.js && node -c src/zentao.js && node -c src/tools.js && node -c scripts/smoke.mjs && node -c bin/zentao-mcp-server.js",
|
|
12
15
|
"smoke": "node scripts/smoke.mjs",
|
|
13
16
|
"release:npm": "bash scripts/release-npm.sh"
|
|
14
17
|
},
|