内容
# Zotero MCP 服务器
一个适用于 [Zotero](https://www.zotero.org/) 的[模型上下文协议(MCP)](https://modelcontextprotocol.io/)服务器,使像 Claude Desktop、Claude Code 和 Cursor 这样的 LLM 驱动的工具能够与您的学术库交互。
## 功能
### 工具
- **搜索论文** - 按关键词、标题或作者搜索论文
- **添加 arXiv 论文** - 通过 arXiv ID 或 URL 将论文添加到 Zotero
- **更新元数据** - 更新现有项目的元数据字段
- **获取项目** - 获取关于特定项目的详细信息
- **获取收藏项目** - 列出收藏中的项目
- **获取最近的项目** - 获取最近添加的项目
### 资源
- **zotero://recent** - 最近添加的项目
- **zotero://collection/{key}** - 特定收藏中的项目(动态)
### 提示
- **文献综述** - 从收藏论文中生成结构化的文献综述模板
- **论文摘要** - 总结特定论文并进行结构化分析
## 快速入门
### 前置条件
- Python 3.10+
- 具有 API 访问权限的 [Zotero 账户](https://www.zotero.org/)
- 在 https://www.zotero.org/settings/keys 获取您的 API 密钥
### 安装
```bash
git clone https://github.com/awsl5714/zotero-mcp-server.git
cd zotero-mcp-server
pip install -e .
```
### 配置
```bash
cp .env.example .env
# 使用您的 Zotero 凭证编辑 .env
export ZOTERO_LIBRARY_ID=您的图书馆 ID
export ZOTERO_API_KEY=您的 API 密钥
export ZOTERO_LIBRARY_TYPE=user # 或 "group"
```
### Claude Desktop 集成
将以下内容添加到您的 Claude Desktop 配置文件(`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LIBRARY_ID": "您的图书馆 ID",
"ZOTERO_API_KEY": "您的 API 密钥"
}
}
}
}
```
### Claude Code 集成
将以下内容添加到您的 Claude Code MCP 设置中:
```json
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LIBRARY_ID": "您的图书馆 ID",
"ZOTERO_API_KEY": "您的 API 密钥"
}
}
}
}
```
## 使用示例
连接后,您可以在 Claude 中使用自然语言:
- "在我的 Zotero 库中搜索关于变换器架构的论文"
- "将此 arXiv 论文添加到我的库中:2301.00234"
- "基于我的 '深度学习' 收藏写一篇文献综述"
- "更新论文 KEY123 的标签以包含 'NLP' 和 'attention'"
## 技术栈
| 组件 | 技术 |
|-----------|-----------|
| 协议 | [MCP SDK](https://github.com/modelcontextprotocol/python-sdk) |
| Zotero API | [pyzotero](https://github.com/urschrei/pyzotero) |
| 验证 | Pydantic v2 |
| HTTP | httpx |
## 项目结构
```
src/zotero_mcp/
├── server.py # 带有工具、资源、提示的 MCP 服务器
├── zotero_client.py # Zotero API 包装器
└── config.py # 基于环境的配置
```
## 许可证
MIT