yuque-ai-mcp 2.13.2 → 2.13.4
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 +22 -6
- package/README_CN.md +27 -8
- package/SKILL.md +10 -5
- package/config/config.example.json +53 -0
- package/dist/toc/batch-update.js +2 -2
- package/dist/toc/batch-update.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
|
-
<a href="https://github.com/yehuoshun/yuque-ai-mcp"><img src="https://img.shields.io/badge/version-2.
|
|
11
|
+
<a href="https://github.com/yehuoshun/yuque-ai-mcp"><img src="https://img.shields.io/badge/version-2.13.3-blue" alt="version" /></a>
|
|
12
12
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="license" /></a>
|
|
13
13
|
<a href="https://github.com/yehuoshun/yuque-ai-skills"><img src="https://img.shields.io/badge/skills-67%20guides-orange" alt="skills" /></a>
|
|
14
14
|
</p>
|
|
@@ -25,7 +25,7 @@ A full-featured Yuque (语雀) MCP Server built on the [Model Context Protocol](
|
|
|
25
25
|
|
|
26
26
|
- **19 → 73 tools** — 3x more coverage than the official [yuque-mcp-server](https://github.com/yuque/yuque-mcp-server)
|
|
27
27
|
- **Dual transport** — stdio + HTTP SSE, shared registry, zero downtime on reload
|
|
28
|
-
- **Modular architecture** —
|
|
28
|
+
- **Modular architecture** — 16 domains, barrel exports, single source of truth registry
|
|
29
29
|
- **Full API coverage** — group, recycle, upload, statistics, versions, boards — all the missing pieces
|
|
30
30
|
- **[Skill layer](https://github.com/yehuoshun/yuque-ai-skills)** — 67 usage guides for AI agents
|
|
31
31
|
|
|
@@ -72,7 +72,8 @@ npm run dev:http # HTTP SSE mode (http://localhost:3099)
|
|
|
72
72
|
| **recycle** | 3 | List, restore, destroy (Cookie auth) |
|
|
73
73
|
| **upload** | 1 | File upload to Yuque CDN (Cookie auth) |
|
|
74
74
|
| **board** | 3 | Mindmap, flowchart, architecture diagram |
|
|
75
|
-
| **
|
|
75
|
+
| **web_doc** | 8 | Get doc, list docs, list repos, get TOC, delete doc, move/copy catalog nodes (Cookie auth) |
|
|
76
|
+
| **mine** | 4 | Book stacks, editor center, update/sort book stacks (Cookie auth) |
|
|
76
77
|
| **rss** | 3 | Source list, fetch + dedup + save, schedule analysis |
|
|
77
78
|
| **crawler** | 4 | Fetch, CSS extract, dedup save, schedule analysis |
|
|
78
79
|
| **kv** | 4 | Get, set, delete, list — incremental sharding, 250KB/doc limit |
|
|
@@ -88,8 +89,14 @@ npm run dev:http # HTTP SSE mode (http://localhost:3099)
|
|
|
88
89
|
| `yuque_search` | search | 通用搜索文档/知识库 |
|
|
89
90
|
| `yuque_rag_search` | search | RAG 检索增强搜索 + 自动获取文档内容 |
|
|
90
91
|
| `yuque_web_search` | search | Cookie 态 Web 搜索,返回完整文档对象 + 精确总数 + 高亮摘要 |
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
92
|
+
| `yuque_web_get_doc` | web_doc | Cookie 态读文档正文(含 body/content),不受会员过期限流 |
|
|
93
|
+
| `yuque_web_list_docs` | web_doc | Cookie 态列文档列表,更丰富的字段 |
|
|
94
|
+
| `yuque_web_list_repos` | web_doc | Cookie 态列知识库列表,含权限信息 |
|
|
95
|
+
| `yuque_web_get_toc` | web_doc | Cookie 态获取知识库目录 TOC |
|
|
96
|
+
| `yuque_web_delete_doc` | web_doc | Cookie 态删除文档(v2 被限流时的备用通道,移入回收站) |
|
|
97
|
+
| `yuque_web_copy_catalog_node` | web_doc | Cookie 态跨库复制目录节点(服务端重传附件,保留文件卡片) |
|
|
98
|
+
| `yuque_web_move_catalog_node` | web_doc | Cookie 态移动目录节点 |
|
|
99
|
+
| `yuque_web_batch_move_catalog_nodes` | web_doc | Cookie 态批量移动目录节点 |
|
|
93
100
|
| `yuque_get_group_users` | group | 获取团队成员列表 |
|
|
94
101
|
| `yuque_update_group_user` | group | 变更团队成员角色 |
|
|
95
102
|
| `yuque_delete_group_user` | group | 删除团队成员 |
|
|
@@ -144,6 +151,7 @@ npm run dev:http # HTTP SSE mode (http://localhost:3099)
|
|
|
144
151
|
| `yuque_get_book_stacks` | mine | 获取知识库分组(书架)列表 |
|
|
145
152
|
| `yuque_get_editor_center` | mine | 获取个人编辑中心全景数据 |
|
|
146
153
|
| `yuque_update_book_stack` | mine | 移动知识库到指定分组(书架) |
|
|
154
|
+
| `yuque_sort_book_stack` | mine | 对知识库分组内的知识库进行排序 |
|
|
147
155
|
| `yuque_kv_get` | kv | 读取 KV 命名空间的完整 JSON map(分片合并) |
|
|
148
156
|
| `yuque_kv_set` | kv | 增量设置 key-value,超 250KB 自动分片 |
|
|
149
157
|
| `yuque_kv_delete` | kv | 遍历分片查找并删除 key |
|
|
@@ -155,7 +163,7 @@ See [SKILL.md](SKILL.md) or [yuque-ai-skills](https://github.com/yehuoshun/yuque
|
|
|
155
163
|
|
|
156
164
|
| Feature | Official yuque-mcp-server | yuque-ai-mcp |
|
|
157
165
|
|---------|--------------------------|--------------|
|
|
158
|
-
| Tools | 19 | **
|
|
166
|
+
| Tools | 19 | **73** |
|
|
159
167
|
| Granularity | Coarse | **Fine-grained** (1 tool / endpoint) |
|
|
160
168
|
| Group, Recycle, Upload, Statistics | ❌ | ✅ |
|
|
161
169
|
| Versions, Diff, Cross-book Copy | ❌ | ✅ |
|
|
@@ -248,10 +256,18 @@ npm run build
|
|
|
248
256
|
# 4. Restart HTTP server + curl health
|
|
249
257
|
# 5. Sync yuque-ai-skills
|
|
250
258
|
# 6. Update README
|
|
259
|
+
# 7. Sync awesome-list entries when tool/domain count changes
|
|
251
260
|
```
|
|
252
261
|
|
|
253
262
|
Both [yuque-ai-mcp](https://github.com/yehuoshun/yuque-ai-mcp) and [yuque-ai-skills](https://github.com/yehuoshun/yuque-ai-skills) are kept in sync.
|
|
254
263
|
|
|
264
|
+
## Maintenance
|
|
265
|
+
|
|
266
|
+
This project is listed in these directories. When the tool count or domain count changes, sync the entries (they mention "73 tools" / "16 domains"):
|
|
267
|
+
|
|
268
|
+
- [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)
|
|
269
|
+
- [zackchewa/awesome-china-mcp](https://github.com/zackchewa/awesome-china-mcp)
|
|
270
|
+
|
|
255
271
|
## Tech Stack
|
|
256
272
|
|
|
257
273
|
- TypeScript + Node.js
|
package/README_CN.md
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<h1 align="center">yuque-ai-mcp</h1>
|
|
7
7
|
<p align="center">
|
|
8
|
-
<b>
|
|
8
|
+
<b>73 个细粒度 MCP 工具,覆盖语雀 OpenAPI 全部能力</b>
|
|
9
9
|
</p>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://github.com/yehuoshun/yuque-ai-mcp"><img src="https://img.shields.io/badge/版本-2.
|
|
13
|
+
<a href="https://github.com/yehuoshun/yuque-ai-mcp"><img src="https://img.shields.io/badge/版本-2.13.3-blue" alt="version" /></a>
|
|
14
14
|
<a href="LICENSE"><img src="https://img.shields.io/badge/许可-MIT-green" alt="license" /></a>
|
|
15
15
|
<a href="https://github.com/yehuoshun/yuque-ai-skills"><img src="https://img.shields.io/badge/skills-67%20指导-orange" alt="skills" /></a>
|
|
16
16
|
</p>
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
基于 [Model Context Protocol](https://modelcontextprotocol.io/) 的语雀全功能 MCP Server。
|
|
24
|
+
基于 [Model Context Protocol](https://modelcontextprotocol.io/) 的语雀全功能 MCP Server。73 个工具,16 个域——每个语雀 OpenAPI 端点一个专用工具。
|
|
25
25
|
|
|
26
26
|
## 为什么选这个
|
|
27
27
|
|
|
28
|
-
- **19 →
|
|
28
|
+
- **19 → 73 工具** — 比官方 [yuque-mcp-server](https://github.com/yuque/yuque-mcp-server) 多 3 倍覆盖
|
|
29
29
|
- **双传输模式** — stdio + HTTP SSE,共享注册中心,修改无需重启
|
|
30
30
|
- **模块化架构** — 16 个域,barrel export,唯一注册中心
|
|
31
31
|
- **完整 API 覆盖** — 团队、回收站、上传、统计、版本、画板——补全官方缺失
|
|
@@ -75,13 +75,14 @@ npm run dev:http # HTTP SSE 模式 (http://localhost:3099)
|
|
|
75
75
|
| **recycle** | 3 | 列表、恢复、彻底删除(Cookie 认证) |
|
|
76
76
|
| **upload** | 1 | 文件上传到语雀 CDN(Cookie 认证) |
|
|
77
77
|
| **board** | 3 | 思维导图、流程图、架构图 |
|
|
78
|
-
| **
|
|
78
|
+
| **web_doc** | 8 | Cookie 态文档读写、目录导航、目录节点移动/复制 |
|
|
79
|
+
| **mine** | 4 | 书架列表、编辑中心、移动知识库、排序(Cookie 认证) |
|
|
79
80
|
| **rss** | 3 | 数据源列表、抓取+去重+写入、定时策略分析 |
|
|
80
81
|
| **crawler** | 4 | 抓取、CSS 提取、去重写入、定时策略分析 |
|
|
81
82
|
| **kv** | 4 | 增删查列——增量分片,单文档 250KB 上限 |
|
|
82
|
-
| **合计** | **
|
|
83
|
+
| **合计** | **73** | |
|
|
83
84
|
|
|
84
|
-
### 全部
|
|
85
|
+
### 全部 73 个工具
|
|
85
86
|
|
|
86
87
|
| 工具 | 域 | 说明 |
|
|
87
88
|
|------|--------|-------------|
|
|
@@ -135,6 +136,14 @@ npm run dev:http # HTTP SSE 模式 (http://localhost:3099)
|
|
|
135
136
|
| `yuque_get_board` | board | 获取文档中的画板资源 |
|
|
136
137
|
| `yuque_create_board` | board | 在文档中创建画板资源 |
|
|
137
138
|
| `yuque_update_board` | board | 更新文档中的画板资源 |
|
|
139
|
+
| `yuque_web_get_doc` | web_doc | Cookie 态读文档正文(含 body/content),不受会员过期限流 |
|
|
140
|
+
| `yuque_web_list_docs` | web_doc | Cookie 态列文档列表,更丰富的字段 |
|
|
141
|
+
| `yuque_web_list_repos` | web_doc | Cookie 态列知识库列表,含权限信息 |
|
|
142
|
+
| `yuque_web_get_toc` | web_doc | Cookie 态获取知识库目录 TOC |
|
|
143
|
+
| `yuque_web_delete_doc` | web_doc | Cookie 态删除文档(移入回收站,v2 被限流时的备用通道) |
|
|
144
|
+
| `yuque_web_copy_catalog_node` | web_doc | Cookie 态跨库复制目录节点(服务端重传附件,保留文件卡片) |
|
|
145
|
+
| `yuque_web_move_catalog_node` | web_doc | Cookie 态移动目录节点 |
|
|
146
|
+
| `yuque_web_batch_move_catalog_nodes` | web_doc | Cookie 态批量移动目录节点 |
|
|
138
147
|
| `yuque_rss_list_sources` | rss | 列出所有可用 RSS 数据源及 feed 类型 |
|
|
139
148
|
| `yuque_rss_fetch` | rss | 抓取 RSS/Atom Feed,解析后去重写入语雀 |
|
|
140
149
|
| `yuque_rss_schedule` | rss | 分析更新频率,生成推荐抓取时间 |
|
|
@@ -144,6 +153,8 @@ npm run dev:http # HTTP SSE 模式 (http://localhost:3099)
|
|
|
144
153
|
| `yuque_crawl_schedule` | crawler | 分析爬虫抓取频率,生成推荐抓取时间 |
|
|
145
154
|
| `yuque_get_book_stacks` | mine | 获取知识库分组(书架)列表 |
|
|
146
155
|
| `yuque_get_editor_center` | mine | 获取个人编辑中心全景数据 |
|
|
156
|
+
| `yuque_update_book_stack` | mine | 移动知识库到指定分组(书架) |
|
|
157
|
+
| `yuque_sort_book_stack` | mine | 对知识库分组内的知识库进行排序 |
|
|
147
158
|
| `yuque_kv_get` | kv | 读取 KV 命名空间的完整 JSON map(分片合并) |
|
|
148
159
|
| `yuque_kv_set` | kv | 增量设置 key-value,超 250KB 自动分片 |
|
|
149
160
|
| `yuque_kv_delete` | kv | 遍历分片查找并删除 key |
|
|
@@ -155,7 +166,7 @@ npm run dev:http # HTTP SSE 模式 (http://localhost:3099)
|
|
|
155
166
|
|
|
156
167
|
| 功能 | 官方 yuque-mcp-server | yuque-ai-mcp |
|
|
157
168
|
|---------|--------------------------|--------------|
|
|
158
|
-
| 工具数 | 19 | **
|
|
169
|
+
| 工具数 | 19 | **73** |
|
|
159
170
|
| 粒度 | 粗粒度 | **细粒度**(1 端点 = 1 工具) |
|
|
160
171
|
| 团队、回收站、上传、统计 | ❌ | ✅ |
|
|
161
172
|
| 版本、Diff、跨库复制 | ❌ | ✅ |
|
|
@@ -248,10 +259,18 @@ npm run build
|
|
|
248
259
|
# 4. 重启 HTTP Server + curl health
|
|
249
260
|
# 5. 同步 yuque-ai-skills
|
|
250
261
|
# 6. 更新 README
|
|
262
|
+
# 7. 工具/域数量变化时,同步 awesome 榜单条目
|
|
251
263
|
```
|
|
252
264
|
|
|
253
265
|
[yuque-ai-mcp](https://github.com/yehuoshun/yuque-ai-mcp) 和 [yuque-ai-skills](https://github.com/yehuoshun/yuque-ai-skills) 保持同步更新。
|
|
254
266
|
|
|
267
|
+
## 维护
|
|
268
|
+
|
|
269
|
+
本项目已收录到以下目录。当工具数或域数变化时,需同步对应条目(条目中写了「73 个工具」/「16 个域」):
|
|
270
|
+
|
|
271
|
+
- [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)
|
|
272
|
+
- [zackchewa/awesome-china-mcp](https://github.com/zackchewa/awesome-china-mcp)
|
|
273
|
+
|
|
255
274
|
## 技术栈
|
|
256
275
|
|
|
257
276
|
- TypeScript + Node.js
|
package/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# yuque-ai-mcp
|
|
2
2
|
|
|
3
|
-
语雀全功能 MCP Server,
|
|
3
|
+
语雀全功能 MCP Server,73 个工具 / 16 个域。当用户提到「语雀」「yuque」「知识库」「文档」「团队」等关键词时触发。
|
|
4
4
|
|
|
5
5
|
## 触发场景
|
|
6
6
|
|
|
@@ -129,13 +129,15 @@
|
|
|
129
129
|
|
|
130
130
|
> **清洗规范**:Agent 负责 fetch → 提取正文 → HTML→Markdown → 传干净 body 给 `crawl_save`。详见 `references/api/crawler_api.md`。
|
|
131
131
|
|
|
132
|
-
### mine(
|
|
132
|
+
### mine(4 工具)
|
|
133
133
|
| 工具 | 说明 |
|
|
134
134
|
|------|------|
|
|
135
135
|
| `yuque_get_book_stacks` | 获取知识库分组(书架)列表 |
|
|
136
136
|
| `yuque_get_editor_center` | 获取个人编辑中心全景数据 |
|
|
137
|
+
| `yuque_update_book_stack` | 移动知识库到指定分组(书架) |
|
|
138
|
+
| `yuque_sort_book_stack` | 对知识库分组内的知识库进行排序 |
|
|
137
139
|
|
|
138
|
-
### web_doc(
|
|
140
|
+
### web_doc(8 工具,Cookie 态)
|
|
139
141
|
| 工具 | 说明 |
|
|
140
142
|
|------|------|
|
|
141
143
|
| `yuque_web_get_doc` | Cookie 态读文档正文(含 body/content),不受会员过期限流 |
|
|
@@ -143,6 +145,9 @@
|
|
|
143
145
|
| `yuque_web_list_repos` | Cookie 态列知识库列表,含权限信息 |
|
|
144
146
|
| `yuque_web_get_toc` | Cookie 态获取知识库目录 TOC |
|
|
145
147
|
| `yuque_web_delete_doc` | Cookie 态删除文档(移入回收站,v2 被限流时的备用通道) |
|
|
148
|
+
| `yuque_web_copy_catalog_node` | Cookie 态跨库复制目录节点(服务端重传附件,保留文件卡片) |
|
|
149
|
+
| `yuque_web_move_catalog_node` | Cookie 态移动目录节点 |
|
|
150
|
+
| `yuque_web_batch_move_catalog_nodes` | Cookie 态批量移动目录节点 |
|
|
146
151
|
|
|
147
152
|
### kv(4 工具)
|
|
148
153
|
| 工具 | 说明 |
|
|
@@ -183,7 +188,7 @@ yuque_get_doc ──(失败)──→ yuque_export_doc → 读本地文件 →
|
|
|
183
188
|
"enabled": true,
|
|
184
189
|
"namespaces": {
|
|
185
190
|
"cnblogs": {
|
|
186
|
-
"book_id": 0,
|
|
191
|
+
"book_id": [0],
|
|
187
192
|
"kv_slugs": [],
|
|
188
193
|
"schedule_slugs": []
|
|
189
194
|
}
|
|
@@ -193,7 +198,7 @@ yuque_get_doc ──(失败)──→ yuque_export_doc → 读本地文件 →
|
|
|
193
198
|
"enabled": true,
|
|
194
199
|
"namespaces": {
|
|
195
200
|
"my-source": {
|
|
196
|
-
"book_id": 0,
|
|
201
|
+
"book_id": [0],
|
|
197
202
|
"kv_slugs": [],
|
|
198
203
|
"schedule_slugs": []
|
|
199
204
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"token": "在此填入语雀 API Token",
|
|
3
|
+
"api_base": "https://www.yuque.com/api/v2",
|
|
4
|
+
"toc_cache_ttl_minutes": 60,
|
|
5
|
+
"cookie": "可选,回收站/上传功能需要。浏览器登录后 F12 → Application → Cookies → 复制完整 Cookie 字符串",
|
|
6
|
+
"ctoken": "可选,从 Cookie 中提取 yuque_ctoken 的值",
|
|
7
|
+
"rss": {
|
|
8
|
+
"enabled": true,
|
|
9
|
+
"sources": {
|
|
10
|
+
"cnblogs": {
|
|
11
|
+
"name": "博客园",
|
|
12
|
+
"description": "开发者的网上家园,技术博客聚合平台",
|
|
13
|
+
"slug_pattern": "/p/(\\d+)",
|
|
14
|
+
"feeds": {
|
|
15
|
+
"sitehome": { "label": "首页最新", "url": "https://feed.cnblogs.com/blog/sitehome/rss" },
|
|
16
|
+
"picked": { "label": "编辑推荐", "url": "https://feed.cnblogs.com/blog/sitehome/picked" },
|
|
17
|
+
"48h": { "label": "48小时阅读排行", "url": "https://feed.cnblogs.com/blog/sitehome/48h" },
|
|
18
|
+
"10d": { "label": "10天推荐排行", "url": "https://feed.cnblogs.com/blog/sitehome/10d" },
|
|
19
|
+
"user": {
|
|
20
|
+
"label": "用户博客",
|
|
21
|
+
"url_template": "https://feed.cnblogs.com/blog/u/{username}/rss",
|
|
22
|
+
"params_schema": { "username": { "type": "string", "description": "博客园用户名", "required": true } }
|
|
23
|
+
},
|
|
24
|
+
"category": {
|
|
25
|
+
"label": "分类",
|
|
26
|
+
"url_template": "https://feed.cnblogs.com/blog/category/{category}/rss",
|
|
27
|
+
"params_schema": { "category": { "type": "string", "description": "分类名", "required": true } }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"namespaces": {
|
|
33
|
+
"cnblogs": {
|
|
34
|
+
"book_id": [0],
|
|
35
|
+
"kv_slugs": [],
|
|
36
|
+
"schedule_slugs": []
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"kv": {
|
|
41
|
+
"enabled": true
|
|
42
|
+
},
|
|
43
|
+
"crawler": {
|
|
44
|
+
"enabled": true,
|
|
45
|
+
"namespaces": {
|
|
46
|
+
"my-source": {
|
|
47
|
+
"book_id": [0],
|
|
48
|
+
"kv_slugs": [],
|
|
49
|
+
"schedule_slugs": []
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
package/dist/toc/batch-update.js
CHANGED
|
@@ -11,7 +11,7 @@ import { check, requiredString } from "../common/validate.js";
|
|
|
11
11
|
import { executeOp, } from "../common/toc-ops.js";
|
|
12
12
|
export const tocBatchUpdate = {
|
|
13
13
|
name: "yuque_batch_update_toc",
|
|
14
|
-
description: "Batch update repo TOC. Agent provides ops plan, tool executes only. createTitle auto-reuses existing dirs. appendNode/moveNode support target_title. ⚠️ Remove/move ops require confirm='RESTRUCTURE'. For cross-book copy, use yuque_copy_doc instead.",
|
|
14
|
+
description: "Batch update repo TOC. Agent provides ops plan, tool executes only. Supported actions: createTitle, appendNode, removeNode, moveNode, prependDoc. createTitle auto-reuses existing dirs. appendNode/moveNode support target_title. ⚠️ Remove/move ops require confirm='RESTRUCTURE'. For cross-book copy, use yuque_copy_doc instead.",
|
|
15
15
|
inputSchema: {
|
|
16
16
|
type: "object",
|
|
17
17
|
properties: {
|
|
@@ -21,7 +21,7 @@ export const tocBatchUpdate = {
|
|
|
21
21
|
},
|
|
22
22
|
ops: {
|
|
23
23
|
type: "string",
|
|
24
|
-
description: "JSON array of operations. Supported: createTitle, appendNode, removeNode, moveNode. createTitle auto-reuses existing dirs. appendNode/moveNode support target_title for name-based lookup.",
|
|
24
|
+
description: "JSON array of operations. Supported: createTitle, appendNode, removeNode, moveNode, prependDoc. createTitle auto-reuses existing dirs. appendNode/moveNode/prependDoc support target_title for name-based lookup.",
|
|
25
25
|
},
|
|
26
26
|
confirm: {
|
|
27
27
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-update.js","sourceRoot":"","sources":["../../src/toc/batch-update.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAGL,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"batch-update.js","sourceRoot":"","sources":["../../src/toc/batch-update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yuque-ai-mcp",
|
|
3
|
-
"version": "2.13.
|
|
4
|
-
"description": "Full-featured Yuque MCP Server —
|
|
3
|
+
"version": "2.13.4",
|
|
4
|
+
"description": "Full-featured Yuque MCP Server — 73 fine-grained tools covering the entire Yuque OpenAPI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dev:http": "tsx watch src/http.ts",
|
|
32
32
|
"start": "node dist/index.js",
|
|
33
33
|
"start:http": "node dist/http.js",
|
|
34
|
-
"prepublishOnly": "npm run build && cp ../README.md ../README_CN.md ../SKILL.md . 2>/dev/null; true"
|
|
34
|
+
"prepublishOnly": "npm run build && mkdir -p config && cp ../config/config.example.json config/ && cp ../README.md ../README_CN.md ../SKILL.md . 2>/dev/null; true"
|
|
35
35
|
},
|
|
36
36
|
"repository": {
|
|
37
37
|
"type": "git",
|