{"_id":"@dhcckb/mcp-server-douban","_rev":"2-05a801e94a578e18a4ff0ccab4430a7f","name":"@dhcckb/mcp-server-douban","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@dhcckb/mcp-server-douban","version":"1.0.0","keywords":["mcp","douban","book","reference","citation","bibliography"],"license":"MIT","_id":"@dhcckb/mcp-server-douban@1.0.0","maintainers":[{"name":"thudh","email":"tangchen@mail.tsinghua.edu.cn"}],"homepage":"https://github.com/dhcckb/mcp-server-douban#readme","bugs":{"url":"https://github.com/dhcckb/mcp-server-douban/issues"},"bin":{"mcp-server-douban":"dist/index.js"},"mcp":{"tools":[{"name":"douban_search","description":"按书名搜索豆瓣书籍，支持可选的作者/出版年/出版社筛选条件以缩小范围。返回匹配列表，每条含 douban_id、书名、作者、出版年、出版社、封面 URL。","inputSchema":{"type":"object","required":["title"],"properties":{"year":{"type":"string","description":"出版年份，用于消歧筛选"},"limit":{"type":"number","default":10,"description":"返回结果数量上限"},"title":{"type":"string","description":"搜索关键词书名"},"author":{"type":"string","description":"作者名，用于消歧筛选"},"publisher":{"type":"string","description":"出版社名，用于消歧筛选"}}}},{"name":"douban_detail","description":"根据豆瓣书籍 ID 获取完整元数据。返回字段涵盖标题、副标题、作者、译者、出版社、出版日期、ISBN、页数、定价、装帧、丛书、评分、内容简介、作者简介等。","inputSchema":{"type":"object","required":["douban_id"],"properties":{"douban_id":{"type":"string","description":"豆瓣书籍 ID，来源于 douban_search 返回结果中的 douban_id 字段"}}}},{"name":"douban_cite","description":"将书籍完整元数据格式化为指定参考文献引用字符串。支持 GB/T 7714、APA、MLA、Chicago、Harvard 和 BibTeX 六种主流规范。","inputSchema":{"type":"object","required":["book_data","style"],"properties":{"style":{"enum":["gb7714","apa","mla","chicago","harvard","bibtex"],"type":"string","description":"目标参考文献格式"},"book_data":{"type":"object","description":"douban_detail 返回的完整书籍元数据对象"}}}}]},"dist":{"shasum":"9f49499ecfdb1964c1ae6357bc7c94d09bf444c1","tarball":"https://registry.npmjs.org/@dhcckb/mcp-server-douban/-/mcp-server-douban-1.0.0.tgz","fileCount":42,"integrity":"sha512-xLXEkTUxLE6SHsUVnWp3milXZf+Z3B+OAChVJ1662cHQaDbqUydlGdQSj2Ec6X5ki0f0go2ZWg7N9sNGUtUiVA==","signatures":[{"sig":"MEYCIQDB1acGZM69OGfRR8MhfzcUIYigxTyjtGHN1DOWO5W9NAIhAPXJ0lpGsxyGpobdTZ+xkMly/tiFwntxwY574lgYYehR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67964},"main":"dist/index.js","type":"module","_from":"file:/tmp/dhp-agent-npm-BphnOh/package.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"scripts":{"dev":"tsc --watch","build":"tsc","start":"node dist/index.js"},"_npmUser":{"name":"thudh","email":"tangchen@mail.tsinghua.edu.cn"},"_resolved":"/tmp/dhp-agent-npm-BphnOh/package.tgz","_integrity":"sha512-xLXEkTUxLE6SHsUVnWp3milXZf+Z3B+OAChVJ1662cHQaDbqUydlGdQSj2Ec6X5ki0f0go2ZWg7N9sNGUtUiVA==","repository":{"url":"git+https://github.com/dhcckb/mcp-server-douban.git","type":"git"},"_npmVersion":"10.9.1","description":"通过豆瓣数据自动补全书籍元数据并按多规范生成参考文献格式的 MCP Server","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.22.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-douban_1.0.0_1784686241142_0.42480502284685606","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dhcckb/mcp-server-douban","version":"1.1.0","description":"通过豆瓣数据自动补全书籍元数据并按多规范生成参考文献格式的 MCP Server。新增豆瓣读书关键词搜索、ISBN 精确定位和详情页信息提取功能。","main":"dist/index.js","bin":{"mcp-server-douban":"dist/index.js"},"type":"module","scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch"},"keywords":["mcp","douban","book","reference","citation","bibliography"],"repository":{"type":"git","url":"git+https://github.com/dhcckb/mcp-server-douban.git"},"license":"MIT","engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.22.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.3.0"},"mcp":{"tools":[{"name":"douban_search","description":"按书名搜索豆瓣书籍，支持可选的作者/出版年/出版社筛选条件以缩小范围。返回匹配列表，每条含 douban_id、书名、作者、出版年、出版社、封面 URL。","inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"搜索关键词书名"},"author":{"type":"string","description":"作者名，用于消歧筛选"},"year":{"type":"string","description":"出版年份，用于消歧筛选"},"publisher":{"type":"string","description":"出版社名，用于消歧筛选"},"limit":{"type":"number","description":"返回结果数量上限","default":10}},"required":["title"]}},{"name":"douban_detail","description":"根据豆瓣书籍 ID 获取完整元数据。返回字段涵盖标题、副标题、作者、译者、出版社、出版日期、ISBN、页数、定价、装帧、丛书、评分、内容简介、作者简介等。","inputSchema":{"type":"object","properties":{"douban_id":{"type":"string","description":"豆瓣书籍 ID，来源于 douban_search 返回结果中的 douban_id 字段"}},"required":["douban_id"]}},{"name":"douban_cite","description":"将书籍完整元数据格式化为指定参考文献引用字符串。支持 GB/T 7714、APA、MLA、Chicago、Harvard 和 BibTeX 六种主流规范。","inputSchema":{"type":"object","properties":{"book_data":{"type":"object","description":"douban_detail 返回的完整书籍元数据对象"},"style":{"type":"string","description":"目标参考文献格式","enum":["gb7714","apa","mla","chicago","harvard","bibtex"]}},"required":["book_data","style"]}},{"name":"search_books","description":"在豆瓣读书中按关键词搜索书籍，返回匹配的书籍列表（含 ID、书名、作者、出版社、出版年、评分、封面 URL）。支持分页参数 page 和 limit。","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"搜索关键词"},"page":{"type":"number","description":"页码，默认 1","default":1},"limit":{"type":"number","description":"每页结果数，默认 10，最大 50","default":10}},"required":["keyword"]}},{"name":"get_book_detail","description":"根据豆瓣书籍 ID（subject id）或完整 URL，获取书籍详细信息，包括书名、作者、译者、出版社、出版年、页数、定价、ISBN、评分、评分人数、内容简介、作者简介、目录、标签、封面图。","inputSchema":{"type":"object","properties":{"bookId":{"type":"string","description":"豆瓣书籍数字 ID 或完整 URL（如 1007305 或 https://book.douban.com/subject/1007305/）"}},"required":["bookId"]}},{"name":"get_book_by_isbn","description":"通过 ISBN 精确查找一本书，内部先调用 subject_search 搜索 ISBN，命中后取首条结果调用 get_book_detail 返回完整信息。","inputSchema":{"type":"object","properties":{"isbn":{"type":"string","description":"10 或 13 位 ISBN 编号"}},"required":["isbn"]}}]},"_id":"@dhcckb/mcp-server-douban@1.1.0","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/dhcckb/mcp-server-douban/issues"},"homepage":"https://github.com/dhcckb/mcp-server-douban#readme","_integrity":"sha512-+F6RrJOoEzQJrc+CTqVKlYl4OHIGXGauPxKy1PCo6uS1MRQdNwi35y2gTtH3ApJdXTptjc1mvve31kOnGPrOoA==","_resolved":"/tmp/dhp-agent-npm-EliJlO/package.tgz","_from":"file:/tmp/dhp-agent-npm-EliJlO/package.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.1","dist":{"integrity":"sha512-+F6RrJOoEzQJrc+CTqVKlYl4OHIGXGauPxKy1PCo6uS1MRQdNwi35y2gTtH3ApJdXTptjc1mvve31kOnGPrOoA==","shasum":"05bec95c4c1e74cbc16438af44e7fc16353c3d07","tarball":"https://registry.npmjs.org/@dhcckb/mcp-server-douban/-/mcp-server-douban-1.1.0.tgz","fileCount":58,"unpackedSize":122858,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBqXIA8ikU1tsJyesSe17lnHyTpgt50lCFPWRd+eXdBcAiBjNJA8xDvAQaBXiDYzfivQ7dVrqKhHEHp1dITUQ50FVg=="}]},"_npmUser":{"name":"thudh","email":"tangchen@mail.tsinghua.edu.cn"},"directories":{},"maintainers":[{"name":"thudh","email":"tangchen@mail.tsinghua.edu.cn"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-douban_1.1.0_1785060461553_0.6345560731899313"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-22T02:10:41.036Z","modified":"2026-07-26T10:07:41.889Z","1.0.0":"2026-07-22T02:10:41.292Z","1.1.0":"2026-07-26T10:07:41.706Z"},"bugs":{"url":"https://github.com/dhcckb/mcp-server-douban/issues"},"license":"MIT","homepage":"https://github.com/dhcckb/mcp-server-douban#readme","keywords":["mcp","douban","book","reference","citation","bibliography"],"repository":{"type":"git","url":"git+https://github.com/dhcckb/mcp-server-douban.git"},"description":"通过豆瓣数据自动补全书籍元数据并按多规范生成参考文献格式的 MCP Server。新增豆瓣读书关键词搜索、ISBN 精确定位和详情页信息提取功能。","maintainers":[{"name":"thudh","email":"tangchen@mail.tsinghua.edu.cn"}],"readme":"# @dhcckb/mcp-server-douban\n\n通过豆瓣数据自动补全书籍元数据并按多规范生成参考文献格式的 MCP Server。\n\n## 功能\n\n- **书籍搜索** (`douban_search`)：按书名搜索豆瓣书籍，支持作者/出版年/出版社筛选消歧\n- **详情获取** (`douban_detail`)：根据豆瓣 ID 获取完整书籍元数据（ISBN、页数、评分、简介等）\n- **参考文献生成** (`douban_cite`)：按六种规范格式化参考文献引用字符串\n- **关键词搜索** (`search_books`)：按任意关键词搜索豆瓣书籍，支持分页\n- **详情页提取** (`get_book_detail`)：根据 ID 或 URL 获取书籍详情，含目录与标签\n- **ISBN 查找** (`get_book_by_isbn`)：通过 ISBN 精确定位一本书\n\n## 支持的参考文献格式\n\n| 格式 | style 参数 | 说明 |\n|------|-----------|------|\n| GB/T 7714-2015 | `gb7714` | 中国国家标准 |\n| APA 7th | `apa` | 美国心理学会格式 |\n| MLA 9th | `mla` | 现代语言协会格式 |\n| Chicago 17th Notes-Bibliography | `chicago` | 芝加哥格式 |\n| Harvard | `harvard` | 哈佛格式 |\n| BibTeX | `bibtex` | LaTeX 参考文献格式 |\n\n## 安装与运行\n\n### 前置要求\n\n- Node.js ≥ 18\n\n### 直接运行\n\n```bash\nnpx -y @dhcckb/mcp-server-douban\n```\n\n### 在 MCP 客户端中配置\n\n```json\n{\n  \"mcpServers\": {\n    \"douban\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dhp/mcp-server-douban\"]\n    }\n  }\n}\n```\n\n## 工具说明\n\n### douban_search\n\n按书名搜索豆瓣书籍，返回匹配列表。\n\n**参数：**\n- `title` (string, 必填) — 搜索关键词书名\n- `author` (string, 可选) — 作者名，用于消歧筛选\n- `year` (string, 可选) — 出版年份，用于消歧筛选\n- `publisher` (string, 可选) — 出版社名，用于消歧筛选\n- `limit` (number, 可选, 默认 10) — 返回结果数量上限\n\n**返回：** 书籍列表，每条含 `douban_id`、`title`、`author`、`year`、`publisher`、`cover_url`。结果数 > 1 且未提供筛选条件时，附带消歧提示和可用筛选字段。\n\n### douban_detail\n\n获取书籍完整元数据。\n\n**参数：**\n- `douban_id` (string, 必填) — 来源于 `douban_search` 返回的 `douban_id`\n\n**返回：** 完整书籍元数据，包括 title、subtitle、author、translator、publisher、publish_date、isbn、pages、price、binding、series、rating、summary、author_intro、cover_url 等。\n\n### douban_cite\n\n生成格式化参考文献字符串。\n\n**参数：**\n- `book_data` (object, 必填) — `douban_detail` 返回的完整元数据\n- `style` (string, 必填) — 目标格式，可选：`gb7714` | `apa` | `mla` | `chicago` | `harvard` | `bibtex`\n\n**返回：** 格式化的参考文献字符串及格式标签。\n\n### search_books\n\n在豆瓣读书中按关键词搜索书籍，返回匹配的书籍列表。\n\n**参数：**\n- `keyword` (string, 必填) — 搜索关键词\n- `page` (number, 可选, 默认 1) — 页码\n- `limit` (number, 可选, 默认 10, 最大 50) — 每页结果数\n\n**返回：** 书籍列表，每条含 `id`、`title`、`author`、`publisher`、`publishYear`、`rating`、`coverUrl`。\n\n### get_book_detail\n\n根据豆瓣书籍 ID 或完整 URL 获取详细信息。\n\n**参数：**\n- `bookId` (string, 必填) — 豆瓣书籍数字 ID 或完整 URL（如 `1007305` 或 `https://book.douban.com/subject/1007305/`）\n\n**返回：** 完整书籍详情，包括 title、subtitle、originalTitle、author、translator、publisher、publishDate、isbn、pages、price、binding、series、rating、ratingCount、summary、authorIntro、toc、tags、coverUrl、url 等。\n\n### get_book_by_isbn\n\n通过 ISBN 精确查找一本书。\n\n**参数：**\n- `isbn` (string, 必填) — 10 或 13 位 ISBN 编号\n\n**返回：** 与 `get_book_detail` 相同的完整书籍详情。若 ISBN 格式无效或未找到匹配书籍，返回明确错误信息。\n\n## 使用示例\n\n```\n1. 搜索书籍：\n   douban_search({ title: \"百年孤独\" })\n   → 返回候选列表，选择目标书籍的 douban_id\n\n2. 获取详情：\n   douban_detail({ douban_id: \"1234567\" })\n   → 返回完整元数据\n\n3. 生成引用：\n   douban_cite({ book_data: {...}, style: \"gb7714\" })\n   → 加西亚·马尔克斯. 百年孤独[M]. 范晔, 译. 南海出版公司, 2011.\n```\n\n## 技术架构\n\n- **运行时：** Node.js ≥ 18\n- **语言：** TypeScript\n- **依赖：** @modelcontextprotocol/sdk, zod\n- **传输：** stdio (MCP 标准传输)\n- **数据源：** 豆瓣书籍页面（搜索页与详情页 HTML 解析）\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md"}