Token导航 LogoToken导航TokenDH.com
Zotero Chunk MCP logo
搜索检索stdio官方级别未说明来源级核验

Zotero Chunk MCP

MCP Server

DeepZotero是一款基于Zotero库的语义搜索工具,支持PDF文本、表格和图像的提取、分块、嵌入和存储,提供多种搜索功能和上下文扩展。

工具数

13

提示词数

0

GitHub Stars

6

资源数

0
搜索PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ccam80

提供方

ccam80

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

DeepZotero

Zotero库的语义搜索。PDF被提取(文本、表格、图形)、分块、嵌入并存储在ChromaDB中。MCP服务器将索引作为13种工具公开给Claude Code(或任何MCP客户端),用于语义搜索、布尔搜索、表/图搜索、上下文扩展、引文图查找、索引和成本跟踪。

它提取了什么

  • 文本 --具有重叠的节感知块,按文档节(摘要、方法、结果等)分类
  • 表格 --通过Claude Haiku 4.5进行基于视觉的提取。每个表格都呈现为PNG格式,并转录为结构化的markdown(标题、行、脚注)。如果视力受损,则返回PyMuPDF启发式算法。
  • --通过字幕检测,提取为PNG,可通过字幕文本搜索。

需求

  • Python 3.10+
  • A. Gemini API密钥 用于嵌入(除非使用 embedding_provider: "local")
  • 无烟煤API键 用于基于视觉的表格提取(可选但推荐)
  • 带PDF的Zotero安装 storage/

安装

python -m venv .venv
.venv/Scripts/python.exe -m pip install -e .

对于视觉表提取:

.venv/Scripts/python.exe -m pip install -e ".[vision]"

设置

1.配置

mkdir -p ~/.config/deep-zotero
cp config.example.json ~/.config/deep-zotero/config.json

编辑 ~/.config/deep-zotero/config.json:

{
    "zotero_data_dir": "~/Zotero",
    "chroma_db_path": "~/.local/share/deep-zotero/chroma",
    "gemini_api_key": "YOUR_GEMINI_KEY",
    "anthropic_api_key": "YOUR_ANTHROPIC_KEY"
}

所有其他字段都有合理的默认值。您还可以设置 GEMINI_API_KEYANTHROPIC_API_KEY 作为环境变量。

2.API密钥

Gemini(默认嵌入所需): 获取钥匙 Aistudio.google.com/app/apikey.将其设置为 gemini_api_key 在配置或 GEMINI_API_KEY env var.如果你不想使用Gemini,设置 "embedding_provider": "local" 使用ChromaDB内置的全MiniLM-L6-v2型号(无需API密钥,质量较低)。

拟人(提取视觉表时需要): 获取钥匙 console.anthropic.com.将其设置为 anthropic_api_key 在配置或 ANTHROPIC_API_KEY env var。没有此键,表仍然通过PyMuPDF启发式方法提取,但复杂表的准确性较低。视觉提取使用Claude Haiku 4.5的Anthropic Batch API,每张表的成本约为0.016美元,快速缓存降低了大批量的成本。

要完全禁用视觉提取,请执行以下操作:

{
    "vision_enabled": false
}

3.为你的图书馆建立索引

deep-zotero-index -v

要先测试子集,请执行以下操作:

deep-zotero-index --limit 10 -v

这会读取Zotero SQLite数据库(只读,在Zotero打开时是安全的),从每个PDF中提取文本/表格/图形,对文本进行分块,通过Gemini嵌入,并将所有内容存储在ChromaDB中。

CLI选项:

标志描述
--force删除并重建所有匹配项的索引
--limit N仅索引N个项目
--item-key KEY索引单个Zotero项目
--title PATTERN标题上的正则表达式过滤器(不区分大小写)
--no-vision跳过此运行的视觉表提取
--config PATH使用其他配置文件
-v调试日志记录

索引器是增量的,它只处理索引中没有的项。使用 --force 变更后 chunk_size, embedding_dimensions,或 ocr_language.

您还可以通过以下方式从MCP客户端触发索引 index_library 工具。

4.注册MCP服务器

添加到您的克劳德代码设置(~/.claude/settings.json):

{
    "mcpServers": {
        "deep-zotero": {
            "command": "/path/to/.venv/bin/python",
            "args": ["-m", "deep_zotero.server"]
        }
    }
}

在Windows上:

{
    "mcpServers": {
        "deep-zotero": {
            "command": "C:\\path\\to\\.venv\\Scripts\\python.exe",
            "args": ["-m", "deep_zotero.server"]
        }
    }
}

重新启动克劳德代码。所有13个工具都将可用。

______________________________________________________________________

配置参考

佐特罗

字段默认值描述
zotero_data_dir~/ZoteroZotero数据目录的路径(包含 zotero.sqlitestorage/)
chroma_db_path~/.local/share/deep-zotero/chromaChromaDB索引存储在磁盘上的位置

嵌入

字段默认值描述
embedding_provider"gemini""gemini" 对于Gemini API, "local" 适用于ChromaDB内置的全MiniLM-L6-v2(无需密钥)
embedding_model"gemini-embedding-001"Gemini型号名称(仅在提供程序为 "gemini")
embedding_dimensions768输出向量维度。 gemini-embedding-001 支持64-3072。更改需要 --force 重新索引
gemini_api_keynull回落到 GEMINI_API_KEY 有人是。
embedding_timeout120.0嵌入API调用的超时时间(秒)
embedding_max_retries3嵌入调用失败的最大重试次数

分块

字段默认值描述
chunk_size400以令牌为单位的目标块大小(~4个字符/令牌)。更改需要 --force 重新索引
chunk_overlap100令牌中连续块之间的重叠

视觉

字段默认值描述
vision_enabledtrue在索引过程中启用视觉表提取
vision_model"claude-haiku-4-5-20251001"表转录的拟人模型
anthropic_api_keynull回落到 ANTHROPIC_API_KEY 有人是。

重排序

字段默认值描述
rerank_enabledtrue启用综合分数重新排名
rerank_alpha0.7相似指数(0-1)。更低=元数据影响更大
rerank_section_weightsnull覆盖默认截面权重
rerank_journal_weightsnull覆盖默认日记账四分位数权重
oversample_multiplier3重新评级前的超额系数
oversample_topic_factor5附加因素 search_topic
stats_sample_limit10000采样的最大块数 get_index_stats

光学字符识别

字段默认值描述
ocr_language"eng"扫描页面的细分语言代码("fra", "deu"等等)。更改需要 --force 重新索引

OpenAlex

字段默认值描述
openalex_emailnullOpenAlex礼貌池的电子邮件(10个请求/秒vs 1个请求/s)。回落到 OPENALEX_EMAIL 有人是。

______________________________________________________________________

MCP工具

语义搜索

search_papers --段落级语义搜索。返回与周围上下文匹配的文本,按综合得分(相似度×节权重×期刊权重)重新排序。支持 required_terms 为了将语义搜索与精确的单词匹配相结合,每个术语都必须作为一个完整的单词出现在文章中。

参数: query, top_k (1-50), context_chunks (0-3), year_min, year_max, author, tag, collection, chunk_types (文本/图形/表格), section_weights, journal_weights, required_terms (文章中必须出现的单词列表)。

search_topic --论文级主题搜索,按文档进行重复数据消除。按纸张分组,按平均值和最佳复合相关性得分。

参数: query, num_papers (1-50), year_min, year_max, author, tag, collection, chunk_types, section_weights, journal_weights.

search_tables --对表内容(标题、单元格、标题)进行语义搜索。以markdown形式返回表。

参数: query, top_k (1-30), year_min, year_max, author, tag, collection, journal_weights.

search_figures --对图形标题进行语义搜索。返回图形元数据和提取的PNG的路径。

参数: query, top_k (1-30), year_min, year_max, author, tag, collection.

布尔搜索

search_boolean --通过Zotero的原生全文索引进行精确的单词匹配。返回与AND/OR单词查询匹配的论文(不是段落)。没有短语搜索,没有词干。

参数: query (空格分隔的术语), operator (和/或), year_min, year_max.

上下文扩展

get_passage_context --围绕以下段落展开上下文 search_papers。对于表格结果,请通过 table_pagetable_index 查找引用表格的正文。

参数: doc_id, chunk_index, window (1-5), table_page, table_index.

引文图(OpenAlex)

要求文档在Zotero中有DOI。

find_citing_papers --引用特定文件的论文。参数: doc_id, limit (1-100).

find_references --文件引用的论文。参数: doc_id, limit (1-100).

get_citation_count --引文和参考文献计数。参数: doc_id.

指标管理

index_library --从MCP客户端触发索引。参数: force_reindex, limit, item_key, title_pattern, no_vision.

get_index_stats --文档/块/表/图计数、章节覆盖率、期刊覆盖率。

get_reranking_config --当前重新排序权重和有效覆盖值。

get_vision_costs -愿景API批量使用和成本摘要。参数: last_n (要显示的最新条目)。

______________________________________________________________________

重排序

搜索结果评分:

composite_score = similarity^alpha * section_weight * journal_weight

默认截面权重:

截面重量
结果1.0
结论1.0
0.9
方法0.85
摘要0.75
背景0.7
未知0.7
讨论0.65
引言0.5
序言0.3
附录0.3
参考文献0.1

默认日记账权重:Q1=1.0,Q2=0.85,Q3=0.65,Q4=0.45。

通过以下方式覆盖每次呼叫 section_weightsjournal_weights 参数。将某个部分设置为0以将其排除。完全禁用重新分级 "rerank_enabled": false.

______________________________________________________________________

共享筛选器参数

参数类型说明
authorstring与作者姓名不区分大小写的子字符串匹配
tagstring与Zotero标签不区分大小写的子字符串匹配
collectionstring与集合名称不区分大小写的子字符串匹配
year_min / year_maxint出版年份范围
section_weightsdict覆盖此调用的节权重
journal_weightsdict覆盖日志四分位数权重
required_terms列表文章中需要精确的整词匹配(search_papers 仅)

______________________________________________________________________

调试查看器

tools/debug_viewer.py 是一个PyQt6浏览器,用于检查ChromaDB索引——查看论文、表格(渲染的markdown与PDF)、图形和单个块。

.venv/Scripts/python.exe tools/debug_viewer.py

目录标签

目录标签

搜索PythonClaude语义搜索本地部署PDF处理学术研究文本嵌入表格提取

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP