Zotero MCP服务器
MCP(模型上下文协议)服务器,让您的MCP客户端(例如Anthropic Claude App、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 API密钥和用户ID Zotero的设置页面.
与Anthropic桌面应用程序集成
要与Anthropic Desktop应用程序集成,请将以下配置添加到 ~/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}
error: unexpected argument '--directory' found然后使用以下配置,确保 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"
]
}
}
}替代方案:直接SQLite数据库访问
如果您希望完全绕过Zotero API,直接使用SQLite数据库,请使用 zotero_mcp/db_server.py.这种方法使您能够在没有API限制的情况下完全控制Zotero数据。请注意,在使用此方法之前,您需要完全关闭Zotero,因为当Zotero运行时,SQLite会锁定数据库。
SQLite版本的Claude MCP配置:
{
"mcpServers": {
"zotero-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/swair/work/code/zotero-mcp-server",
"run",
"python",
"-m",
"zotero_mcp.db_server"
]
}
}
}示例用法
服务器允许您:
- 按标签搜索论文
- 获取纸张详细信息和附加注释
- 在论文中添加注释
- 索取论文摘要
