一个 MCP(模型上下文协议)服务器,允许您的 MCP 客户端(例如 Anthropic Claude 应用程序、Goose,可能还有 vscode Cline)与本地的 Zotero 存储库进行交互。此服务器使您可以编程访问您的 Zotero 图书馆,允许您搜索论文、管理笔记等。
注意:如果您不想设置 API 密钥,请参阅下面的 SQLite 数据库服务器选项。
pip install -e .
.env 文件,并添加您的 Zotero 凭证:ZOTERO_API_KEY=your_api_key_here
ZOTERO_USER_ID=your_user_id_here
您可以在 Zotero 设置页面 获取您的 Zotero API 密钥和用户 ID。
要与 Anthropic 桌面应用集成,请在 ~/Library/Application Support/Claude/claude_desktop_config.json 中添加以下配置:
{
"mcpServers": {
"zotero-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/swairshah/work/research/zotero-mcp",
"run",
"python",
"-m",
"zotero_mcp.server"
]
}
}
}
如果出现类似以下错误:
{"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0}
错误:意外参数 '--directory' 被发现
则使用以下配置,确保执行 uv venv; source .venv/bin/activate; uv pip install ".[dev]" 以确保服务器可以运行所有依赖项。
{
"mcpServers": {
"zotero-mcp-server": {
"command": "bash",
"args": [
"-c",
"cd /Users/shahswai/personal/zotero-mcp-server && source .venv/bin/activate && python -m zotero_mcp.server"
]
}
}
}
如果您希望完全绕过 Zotero API 并直接与 SQLite 数据库工作,请使用 zotero_mcp/db_server.py。这种方法让您完全控制您的 Zotero 数据而没有 API 的限制。请注意,在使用此方法之前需要完全关闭 Zotero,因为当 Zotero 运行时,SQLite 会锁定数据库。
Claude MCP 配置用于 SQLite 版本:
{
"mcpServers": {
"zotero-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/swair/work/code/zotero-mcp-server",
"run",
"python",
"-m",
"zotero_mcp.db_server"
]
}
}
}

该服务器允许您: