19.2 文献管理与 Zotero 交互

面向经管学生、研究者与从业者的 AI 智能体设计教材

作者

李学恒、林建浩、严翊歆

发布于

2026-05-11

Zotero MCP 读操作工具集概览

检索到候选论文后,下一步是将它们组织成有结构的文献库。Zotero 是学术界使用最广泛的开源文献管理工具,Zotero MCP 让 Claude Code 可以直接读取和浏览 Zotero 库中的集合、标签、元数据和 BibTeX 导出。

Zotero MCP 配置

使用 Zotero MCP 需要两个条件:

  1. Zotero 桌面端运行中:MCP 通过本地 API(localhost:23119)与 Zotero 通信
  2. API 密钥配置:在 Zotero 网页端(zotero.org/settings/keys)生成 API 密钥

在 Claude Code 的 MCP 配置文件中添加 Zotero MCP:

{
  "mcpServers": {
    "zotero": {
      "command": "npx",
      "args": ["-y", "zotero-mcp"],
      "env": {
        "ZOTERO_API_KEY": "你的 API 密钥",
        "ZOTERO_LIBRARY_ID": "你的库 ID"
      }
    }
  }
}
知识卡片

Zotero Library ID 可以在 zotero.org/settings/keys 页面找到。个人库的 ID 是一串数字。如果使用群组库,需要使用群组的 Library ID,并在上方 JSON 配置的 env 字段中添加 "ZOTERO_LIBRARY_TYPE": "group"

集合与标签管理

Zotero 的集合(Collection)和标签(Tag)是组织文献的两种方式。集合是层级结构的文件夹,一篇文献只能放在一个集合中;标签是扁平的标注,一篇文献可以有多个标签。Zotero MCP 提供了浏览和筛选两者的工具。

浏览集合

zotero_get_collections 列出库中所有集合及其层级关系:

▶ Claude Code
列出我的 Zotero 库中的所有集合,显示层级结构

返回结果包含集合名称、key 和父子关系。获取到集合 key 后,用 zotero_get_collection_items 浏览集合内的文献:

▶ Claude Code
获取 Zotero 中 Behavioral Finance 集合(key: 3NPRK8XE)的所有文献

浏览标签

zotero_get_tags 列出库中已有的标签。如果文献库从 PsycINFO 等数据库批量导入过文献,标签可能包含大量自动生成的条目,需要人工筛选有用的标签。

▶ Claude Code
列出 Zotero 库中前 50 个标签

元数据与 BibTeX 导出

zotero_get_item_metadata 支持两种导出格式:

Markdown 格式(人类可读):包含标题、作者、期刊、卷期页码、DOI、摘要、所属集合和附件数量。

BibTeX 格式(引用工具可用):输出可直接用于 LaTeX 编译的 BibTeX 条目,标题大小写保护(如 {Loss Aversion})已自动处理。

▶ Claude Code
导出 Zotero 中 item key 为 B4EZFZWP 的文献元数据,分别用 Markdown 和 BibTeX 两种格式
批量 BibTeX 导出

要导出整个集合的 BibTeX,可以先用 zotero_get_collection_items 获取所有 item key,再逐一调用 zotero_get_item_metadata 以 BibTeX 格式导出,最后合并为一个 .bib 文件。示例提示词:

▶ Claude Code
获取 Zotero 中 Behavioral Finance 集合(key: 3NPRK8XE)的所有文献 item key,
逐一导出 BibTeX 格式的元数据,合并保存到 citations/behavioral_finance.bib

标注与笔记

Zotero MCP 还能提取阅读过程中的标注(Annotation)和笔记(Note):

  • zotero_get_annotations:获取文献的高亮、下划线和手写标注。支持按单篇文献或全库检索。全库模式可以跨论文发现同一主题的阅读标注。
  • zotero_get_notes:获取附加在文献上的笔记。

这两个工具对综述写作有独特价值——它们能将研究者在阅读过程中积累的碎片化思考系统化地呈现出来。

▶ Claude Code
获取我 Zotero 库中所有标注,搜索与 loss aversion 相关的高亮内容

写操作的限制

Zotero MCP 是只读工具

Zotero MCP 的写操作(创建笔记、修改标签、高级搜索)在本地 API 上不可用,因为 Zotero 本地端口(23119)不支持 POST 请求。这意味着 Claude Code 无法直接向 Zotero 写入数据。

替代方案: - AI 处理结果保存到本地 Markdown 或 BibTeX 文件 - 手动将文件导入 Zotero - 需要程序化写入时,使用 pyzotero Python 库通过 Zotero Web API 操作

这个限制实际上是一种安全保障——AI 的处理结果先写入本地文件,由人工审核后再决定是否导入 Zotero,避免了自动化操作污染文献库的风险。