| name | douban |
| description | 豆瓣电影、图书查询与个人书单/影单管理。当用户提到豆瓣、想看/在看/看过、书单、影单、电影评分、图书评分、Top250、豆列时使用。 |
豆瓣 Skill (douban-mcp CLI)
触发场景
| 用户说 | 该用 |
|---|
| "豆瓣上 XX 评分多少?" | search-movie 找 id → get-movie 看详情 |
| "我想看的电影里有哪些科幻?" | user-collections --status wish |
| "把 XX 标为看过 5 星" | mark-movie --status collect --rating 5 |
| "Top250 第一页" | movie-chart --kind top250 |
| "三体的评分多少" | search-book → get-book |
工作流
1. 搜索 → 详情
douban-mcp-cli --json search-movie --q "盗梦空间" --count 1 \
| jq -r '.[0].id' \
| xargs -I{} douban-mcp-cli get-movie --id {}
2. 我的待看清单
douban-mcp-cli --json user-collections --uid <your-uid> --category movie --status wish
如未配 cookie 或无 uid 报 AUTH_FAILED,提示用户:
- 设置
DOUBAN_COOKIE 环境变量后 uid 可省略
- 或显式传
--uid <id>
3. 批量标记(需写权限)
douban-mcp-cli --json user-collections --category movie --status wish \
| jq -r '.[] | select(.subject.rating > 8) | .subject.id' \
| xargs -I{} douban-mcp-cli mark-movie --id {} --status collect --rating 5
需 DOUBAN_COOKIE + DOUBAN_ENABLE_WRITE=true。
错误处理
| Exit | 含义 | Agent 应该 |
|---|
| 0 | 成功 | 继续 |
| 1 | AUTH_FAILED / WRITE_DISABLED | 提示用户更新 cookie 或开启 enable_write |
| 2 | NOT_FOUND | 报告 id 不存在 |
| 3 | RATE_LIMITED | 等 60s 重试 |
| 4 | PARSE_FAILED / NETWORK / UNKNOWN | 重试一次;仍失败则报告 |
配置前置条件
- 安装:
npm i -g douban-mcp-cli 或 npx douban-mcp-cli
- 写操作:
export DOUBAN_COOKIE=...; export DOUBAN_ENABLE_WRITE=true
可用命令(自动生成,勿手改)
| 命令 | 说明 |
|---|
check | 验证 DOUBAN_COOKIE 是否仍然有效 |
search-movie | 按关键词搜索豆瓣电影。返回标题/年份/评分/链接的 markdown 列表。 |
get-movie | 获取一部电影的详细信息(导演、演员、评分、简介等)。id 是豆瓣电影 subject id(数字)。 |
list-movie-reviews | 获取一部电影的短评列表(不含长评)。 |
movie-chart | 获取电影榜单。kind: top250 (Top250)、weekly (一周口碑榜)、new (近期上映)。 |
search-book | 按关键词搜索豆瓣图书。 |
get-book | 获取图书详情(作者、出版、ISBN、简介等)。id 是豆瓣图书 subject id(数字)。 |
list-book-reviews | 获取图书的短评列表。 |
book-chart | 获取图书榜单。kind: fiction (小说)、non_fiction (随笔)、new (新书速递)。 |
user-collections | 获取某用户的"想看/在看/看过"列表。无 cookie 时必须传 uid。 |
user-doulist | 获取某用户的豆列清单。无 cookie 时必须传 uid。 |
user-profile | 获取某用户的基本信息。无 cookie 时必须传 uid。 |
mark-movie | 标记一部电影(想看/在看/看过),可选打分、备注、标签。需要 cookie + DOUBAN_ENABLE_WRITE。shareToFeed 默认 false(不广播)。 |
unmark-movie | 取消对一部电影的标记。 |
mark-book | 标记一本书(想看/在看/看过),可选打分、备注、标签。需要 cookie + DOUBAN_ENABLE_WRITE。shareToFeed 默认 false(不广播)。 |
unmark-book | 取消对一本书的标记。 |