douban-mcp

douban-mcp

MCP server and CLI for accessing Douban movie and book data, including search, details, reviews, charts, and user collections. Supports read-only and write operations (mark movies/books) when authenticated.

Category
访问服务器

README

douban-mcp 🎬 📕

npm CI License: MIT

面向 agent 的豆瓣 MCP 服务 + CLI。同一个包既能做 Claude Desktop 的 MCP server(stdio/SSE),又能给 Claude Code/OpenClaw 等 agent 直接当 CLI 用。

npm 包名为 douban-mcp-cli(裸名 douban-mcp 在 npm 已被他人占用);GitHub 仓库 / 产品名仍为 douban-mcp

✨ 特性

  • ✅ 12 个只读工具(电影 / 图书 / 用户态 全覆盖)
  • ✅ 4 个写工具(标记想看/在看/看过 + 打分 + 评论 + 标签),双模式 opt-in
  • ✅ 双数据源(HTML 默认 / Frodo API 可选),随时切换
  • ✅ MCP server (stdio + SSE) + agent native CLI(--json 模式)
  • ✅ Claude Code Skill 包随仓库交付
  • ✅ 内置缓存 + 限速 + 风控退避
  • ⏳ v1.1:覆盖率 90%+;user search、doulist items
  • ⏳ v1.2:短评写操作

🚀 快速开始

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "douban": {
      "command": "npx",
      "args": ["-y", "douban-mcp-cli", "serve"],
      "env": { "DOUBAN_COOKIE": "你的cookie(可选)" }
    }
  }
}

CLI(任何 agent / 命令行)

npx -y douban-mcp-cli search-movie --q "盗梦空间" --count 3
npx -y douban-mcp-cli get-movie --id 3541415
npx -y douban-mcp-cli --json movie-chart --kind top250 --count 5 | jq

启用写操作:

export DOUBAN_COOKIE="bid=...; dbcl2=\"...\"; ck=...; ll=\"108288\""
export DOUBAN_ENABLE_WRITE=true
npx -y douban-mcp-cli mark-movie --id 3541415 --status collect --rating 5

⚠️ 写操作有触发风控/封号风险。建议先用小号验证;本项目对账号安全不承担责任。

⚠️ 关于详情页必须配 cookie

v1.0 实测:search- 和 movie-chart top250 等聚合页匿名可用*;但 get-movie / get-book / get-*-reviews 等详情页会被豆瓣风控重定向到 sec.douban.com,必须配置 DOUBAN_COOKIE 才能稳定访问

匿名模式下详情页会得到一条清晰错误:

⚠️ 豆瓣对该页面触发了风控(详情页常见)。请配置 DOUBAN_COOKIE 后重试。

注:原先设计的 DOUBAN_DATA_SOURCE=frodo 备用通道(豆瓣 App API)目前已被服务端加签名要求拦截invalid_request_997 签名缺失),v1.0 不可用。详见 docs/jack_todo.md。v1.x 计划做 cookie warm-up + 探索签名逆向。

🛠️ 工具清单

只读(默认全部可用)

工具 鉴权 说明
search_movie 关键词搜索电影
get_movie 电影详情
get_movie_reviews 短评列表
get_movie_chart 榜单 (top250 / weekly / new)
search_book 关键词搜索图书
get_book 图书详情
get_book_reviews 短评列表
get_book_chart 榜单 (fiction / non_fiction / new)
get_user_collections uid 缺省时需 cookie 想看/在看/看过列表
get_user_doulist uid 缺省时需 cookie 豆列
get_user_profile uid 缺省时需 cookie 用户信息

鉴权 / 写

工具 鉴权 说明
check_cookie cookie cookie 是否有效
mark_movie / unmark_movie cookie + DOUBAN_ENABLE_WRITE 标记/取消标记电影
mark_book / unmark_book cookie + DOUBAN_ENABLE_WRITE 标记/取消标记图书

📚 文档

⚙️ 环境变量

变量 默认 说明
DOUBAN_COOKIE 登录态 cookie
DOUBAN_ENABLE_WRITE false 启用写操作
DOUBAN_DATA_SOURCE html html / frodo
DOUBAN_FRODO_APIKEY 内置默认 覆盖 frodo apikey
DOUBAN_LOG_LEVEL info debug/info/warn/error
DOUBAN_DISABLE_CACHE false 关闭缓存(测试用)
DOUBAN_USER_AGENT 内置 Chrome UA 覆盖默认 UA

🔧 SSE 模式

npx -y douban-mcp-cli serve --transport sse --port 3000
# 然后在 MCP 客户端连接 http://localhost:3000/sse

🧰 调试

# 用 mcp-inspector 一键调试
npx @modelcontextprotocol/inspector npx -y douban-mcp-cli serve

# 直接命令行调用任何工具(agent 也用这种方式)
npx -y douban-mcp-cli list-tools
npx -y douban-mcp-cli describe search-movie
npx -y douban-mcp-cli doctor

🛡️ 免责声明

本项目仅供学习和个人使用,禁止用于商业目的或大规模数据爬取。使用本项目造成的任何账号风险(限流、封禁等)由使用者自行承担。本项目无任何官方背景。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选