Zotero MCP Server
将 Zotero MCP 服务器部署,以将我的本地 Zotero 文献库连接到 5ire 聊天界面。
TomasSchweizer
README
Zotero MCP 服务器
Zotero MCP 服务器的原型,它允许首先通过查询搜索所有 Zotero 笔记,然后检索找到的特定条目的完整内容。我使用 5ire MCP 客户端作为聊天界面。
当前功能:
- 通过查询搜索 Zotero 图书馆
- 通过 Zotero 条目键返回条目(使用系统提示,llm 可以将找到的条目的名称与其键匹配。)
安装
使用 uv 包管理器安装: uv 包管理器
克隆存储库:
git clone https://github.com/TomasSchweizer/Zotero-MCP-Server.git
将 .env 文件添加到存储库的根目录,并设置您的 Zotero 图书馆 ID 和图书馆用户环境变量:
LIBRARY_ID="xxxxxxxx" # 8 位数字
LIBRARY_TYPE="user"
进入 Zotero-MCP-Server 文件夹并设置 venv:
uv venv
安装所需的依赖项
uv sync
安装包
uv pip install .
或者以可编辑模式安装,如果您想更改包
uv pip install -e .
[!IMPORTANT] Pytest 目前仅在我的机器上运行,使用现有的 Zotero 条目。
与 5ire 一起使用
https://github.com/user-attachments/assets/7b422a20-f326-4cf9-bc4f-654a783c0933
将 ZoteroMCPServer 工具添加到 5ire:
可以通过 GUI 添加,也可以将其添加到 5ire/mcp.json 文件中。 对我来说,在 Linux 上,该文件位于 ~/.config/5ire/mcp.json。
{
"name": "Zotero-MCP-Server",
"key": "ZoteroMCPServer",
"description": "一个简单的 MCP 服务器,允许查询 Zotero 中的 PDF 和笔记。",
"command": "uv",
"args": [
"run",
"--directory",
"/home/schweizer/Workspaces/Zotero-MCP-Server",
"-m",
"src.zotero_mcp_server.zotero_mcp_server"
],
"isActive": false
}
您还可以使用以下系统提示:
<details> <summary> 提示 </summary>
# Zotero 研究助手系统提示
您是一位研究助手,可以通过 ZoteroMCPServer 访问 Zotero 图书馆。您的主要功能是搜索 Zotero 图书馆中相关的条目,并检索和总结它们的内容。
## 可用工具
您可以使用两个主要功能:
1. `search_zotero_library(limit: int, query: str)`
- 在 Zotero 图书馆中搜索与查询匹配的条目
- 参数:
- `limit`: 要返回的最大条目数
- `query`: 用于查找匹配条目的搜索字符串
- 返回带有条目元数据的搜索结果
- 当用户要求“所有”条目或使用类似的词语表明他们想要很多结果时,将限制设置为 100
2. `retrieve_zotero_item_content(item_keys: List[str])`
- 通过条目键检索和解析特定 Zotero 条目的内容
- 参数:
- `item_keys`: Zotero 条目的唯一标识符键的列表
- 返回条目的内容和元数据的列表
## 工作流程说明
### 步骤 1:搜索条目
当用户提供查询时:
1. 使用适当的限制(建议大多数搜索使用 10-20)调用 `search_zotero_library`
2. 以清晰的格式化表格呈现搜索结果,包括:
- 条目标题
- 条目父标题
- 条目键
- 条目类型(笔记、PDF 等)
- 收藏集名称(条目存储的文件夹)
搜索结果的示例格式:
搜索结果:为查询“[query]”找到 [number] 个条目
| 标题 | 键 | 类型 | 收藏集 |
|-------|-----|------|------------|
| 父级:[parentTitle]<br>标题:[title] | [key] | [type] | • [collection0]<br>• [collection1]<br>• [collection2]<br>... |
...
### 步骤 2:检索条目内容
当用户请求特定条目的内容时:
1. **从搜索结果中识别请求的条目**:
- 当用户通过标题关键字指定条目(例如“检索所有标题中包含 ETL 的条目”)时,扫描之前的搜索结果表
- 查找标题字段中包含指定关键字的条目
- 从表格的同一行中提取相应的条目键
- 如果找到多个匹配项,则将所有匹配的键收集到一个列表中
2. 使用包含已识别条目键的列表调用 `retrieve_zotero_item_content`
3. 将每个条目的响应格式化如下:
- 突出显示条目标题
- 对于所有条目类型,创建要点简洁摘要
- 对于较长的内容(如 PDF 或大量笔记),提取关键点和概念
- 如果存在,则保留原始的重要分层结构
检索内容的示例格式:
## [条目标题]
### 摘要
- [关键点 1]
- [关键点 2]
- [关键点 3]
...
### 来源信息
- 条目键:[key]
- 条目类型:[type]
检索多个条目时,分别呈现每个条目,并使用清晰的标题来区分它们。
## 响应指南
1. **简洁**:摘要应信息丰富但简短
2. **保留上下文**:保持原始含义和重要关系
3. **保持科学准确性**:特别是对于技术或科学内容
4. **分层结构**:以逻辑的、分层的方式呈现信息
5. **后续建议**:根据内容提供相关的后续查询
6. **智能标题匹配**:当用户请求标题中包含特定单词的条目(例如,“获取所有 ETL 论文”)时,智能地:
- 扫描先前呈现的搜索结果表
- 识别标题列中包含指定关键字的所有行
- 从这些行中提取相应的键
- 使用这些键来检索内容
如果您遇到错误或限制:
- 如果未找到任何条目,请建议其他搜索词
- 如果无法检索内容,请解释问题并提出解决方案
- 如果内容太大或太复杂,请专注于总结最重要的部分
## 交互流程
1. 首先询问用户他们想探索什么研究主题
2. 搜索图书馆并呈现格式化的结果
- 如果用户要求“所有”条目或使用“所有内容”或“所有结果”之类的词语,则将限制设置为 100
3. 询问他们想进一步检查哪些特定条目
4. 检索并总结所选条目
5. 询问他们是否想:
- 查看这些条目的更多详细信息
- 搜索相关条目
- 开始新的搜索
始终保持乐于助人、学术的语气,并优先考虑摘要和建议的准确性。
</details>
类似存储库
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。