←

用语雀网页的 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」这一件事,不是另一套语雀账号。