用语雀网页的 Cookie 接 MCP,不必买超级会员的 Token
语雀的开放平台 Token 绑在超级会员上。没有这块会员,就建不了 Token,很多语雀 MCP 也就接不上。@chaoyum/yuque-mcp-server 另外接受网页登录后的 Cookie。Cookie 能打开的文档,这套接口就能读、能导出、能改。
它提供六个工具:按链接把一篇文档导出成 Markdown,上传或更新文档(含子文档和目录位置),列出或按名称搜索知识库,看目录树,改配置,以及检查当前认证是否还有效。导出文件默认落到工作区的 yuque-downloads/。
认证跟域名绑在一起
个人版是 https://www.yuque.com,团队版是各自的子域,例如 https://xxx.yuque.com。Cookie 和 Token 都不能拿到另一个域名上用。YUQUE_HOST 必须写成实际登录的那个站点。
两种凭据二选一。Token 在语雀设置里创建,需要超级会员。Cookie 不需要:浏览器登录后打开开发者工具,在网络面板里任选一个打到语雀的请求,把请求头里的整段 Cookie 复制出来。里面要有 yuque_ctoken 和 _yuque_session。请求会带上这个 Cookie,并用 yuque_ctoken 填 x-csrf-token。
配置可以放在环境变量里,也可以写到 ~/.yuque-mcp/config.json:
{
"host": "https://www.yuque.com",
"cookie": "",
"token": ""
}
环境变量是 YUQUE_HOST、YUQUE_COOKIE、YUQUE_TOKEN。改环境变量要重启 MCP 进程。改 config.json 会在下次调用时生效。认证的优先级是:环境变量里的 Token、环境变量里的 Cookie、配置文件里的 Token、配置文件里的 Cookie。
Claude Code 里可以这样接:
{
"mcpServers": {
"yuque": {
"command": "npx",
"args": ["-y", "@chaoyum/yuque-mcp-server@latest"],
"env": {
"YUQUE_HOST": "https://www.yuque.com"
}
}
}
}
Cookie 不要写进仓库,也不要贴进对话。它和浏览器里的登录是同一份会话,过期了就重新复制一段。
我看过 1.1.0 的请求代码:Cookie 和 Token 只放在发往所配域名的请求头里,以及语雀导出接口返回的那个下载地址上。npm 上这个包没有公开源码仓库,装之前自己看一眼当前版本。它解决的是「没有超级会员 Token 也能把语雀接到 Agent」这一件事,不是另一套语雀账号。