zotero-brain-slim

zotero-brain-slim

Minimal Zotero MCP server that enables searching your Zotero library, discovering papers across eight sources, downloading PDFs via a multi-level cascade, and importing them into Zotero.

Category
访问服务器

README

zotero-brain-slim

Minimal Zotero MCP server(stdio):库检索、八源论文发现、多级 PDF 下载瀑布、Zotero 导入。 不做解析与向量化——只负责「找到、下载、入库」。

工具面(6 个)

工具 说明
search_zotero_library 检索 Zotero 库(关键词/标题/DOI)
discover_papers 八源搜索(综合 4 + 分域 4),附在库标记
download_paper 7 级瀑布下载 PDF:缓存 → Unpaywall → arXiv → S2 → CORE → OpenAlex → Sci-Hub(默认关闭)
import_to_zotero 建条目 + linked_file 附件(PDF 留本地)+ 入 Collection
list_collections 列 Collection(可选带条目数)
create_collection 创建 Collection(同名复用)

数据源分域建议(Agent 路由)

discover_papers 的 sources 参数按提问方向只选 2-3 个相关源,避免八源全量轮询:

提问方向 建议源
综合 / 材料 / 工程 / 计算机 openalex + semantic_scholar(补充 crossref 核对元数据)
物理 / 数学 预印本 arxiv + openalex
天文 · 天体物理 · 空间科学 ads(需 token)+ arxiv
生物医学 · 生命科学 europepmc + openalex
开放获取全文 doaj + openalex(OA 链接直给)
欧盟项目 / 数据集关联 openaire

不传 sources 默认 openalex/arxiv/crossref/semantic_scholar 四综合源。

配置(全部经环境变量 / MCP env 传入)

变量 必填 说明
ZOTERO_MODE 否 auto(默认)/ local / web。auto:配了 Web 凭据走 Web(读写全功能),无凭据回落本地(只读)
ZOTERO_USER_ID / ZOTERO_API_KEY auto/web 模式需要 Zotero Web API 凭据(本地模式可免)
ZOTERO_LIBRARY_TYPE 否 user(默认)或 group
ZOTERO_LOCAL 否 兼容旧配置:true 等价于 ZOTERO_MODE=local
UNPAYWALL_EMAIL 否 Unpaywall 认证邮箱。需真实邮箱——默认占位值(zotero-brain-slim@example.com)会使该下载级静默失效
OPENALEX_API_KEY 否 OpenAlex 免费 API key(已改 key 制,$1/天额度)
CORE_API_KEY 否 CORE 启用下载源
ADS_API_TOKEN 否 NASA ADS 源(天文/天体物理);免费申请
SCIHUB_ENABLED 否 Sci-Hub 级开关(默认关闭;设 true 开启。下载瀑布最后一级,前面各级 OA 源命中不会走到它)
PROXY_URL 否 应用级 HTTP 代理(如 http://127.0.0.1:7890),留空直连

也支持同目录 .env 文件(本地调试用)。

本地模式前置条件(两个常见坑)

本地模式免 key、不限流,适合只读场景(搜库/查重);写入操作必须走 Web API。使用本地模式需同时满足:

  1. Zotero 桌面端必须正在运行——本地 API 由 Zotero 进程内的 HTTP server 提供, 未启动时连接直接失败;
  2. 必须手动开启本地 API 开关:Zotero 菜单 编辑 → 设置 → 高级 → 杂项, 勾选 「允许其他应用程序通过本地 API 通信」(Allow other applications to communicate with Zotero),否则请求返回 403 - Local API is not enabled。

重要:Zotero 本地 API 是只读的(POST/PATCH/DELETE 一律 400 "Endpoint does not support method",Zotero 的硬性设计)。因此凡涉及写入 (建文件夹、导入条目、挂附件)必须走 Web API + key。

ZOTERO_MODE=auto(默认)的策略:配置了 Web 凭据则整体走 Web(读写全功能, 避免"本地读、Web 写"的数据不一致观感);未配置凭据且本地 API 可用则回落本地 只读模式(搜库/查重可用,写入会报明确指引)。

运行

<!-- 发布时替换为 Feplus2 -->

# uv / uvx(推荐)
uvx --from git+https://github.com/Feplus2/zotero-brain-slim zotero-brain-slim

# 本地开发
pip install -r requirements.txt
python mcp_server.py

作为 MCP server 注册(stdio,适用于 Claude Desktop 等通用 MCP 客户端):

{
  "command": "uvx",
  "args": ["--from", "git+https://github.com/Feplus2/zotero-brain-slim", "zotero-brain-slim"],
  "env": {
    "ZOTERO_USER_ID": "…",
    "ZOTERO_API_KEY": "…"
  }
}

在 Better SageRead 中使用

本服务是 Better SageRead 文献工作流的一环:在 SageRead 的 MCP 管理器中注册为 stdio MCP server 即可。SageRead 的 env 支持 {{secret:NAME}} 占位符——spawn 进程前由 Rust 侧从系统凭据管理器取出同名条目并替换注入,凭据不写入配置文件:

{
  "command": "uvx",
  "args": ["--from", "git+https://github.com/Feplus2/zotero-brain-slim", "zotero-brain-slim"],
  "env": {
    "ZOTERO_USER_ID": "{{secret:ZOTERO_USER_ID}}",
    "ZOTERO_API_KEY": "{{secret:ZOTERO_API_KEY}}",
    "UNPAYWALL_EMAIL": "{{secret:UNPAYWALL_EMAIL}}"
  }
}

其余可选变量(ZOTERO_MODE、PROXY_URL、SCIHUB_ENABLED 等)按需添加, 明文值与 {{secret:...}} 占位符可混用。

代理与网络环境

本服务全部流量为 HTTPS API 请求,应用级 HTTP 代理即可,无需 TUN: 宿主应用注入的 HTTP_PROXY/HTTPS_PROXY 会被 httpx 自动遵循,或直接设 PROXY_URL。 境外源不可达时,下载瀑布会返回人工下载指引。

免责声明

Sci-Hub 级默认关闭(作为下载瀑布最后一级,前面各级 OA 源命中时不会走到它)。需要时可设 SCIHUB_ENABLED=true 显式开启;开启前请了解你所在地区的法律法规,使用者自行承担责任 (Keep the laws of your locality in mind)。本项目仅提供检索/下载/入库的工程实现, 不对任何下载源的合法性背书。

贡献

PR 欢迎:修 bug / 加下载源 / 改工具面。请保持「不做解析与向量化」的边界。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选