mcpField
S
ScholarFetch

ScholarFetch

远程服务
github.com/laibniz搜索与检索131 周前更新
代码仓库

关于 ScholarFetch

ScholarFetch 是面向研究者和基于 MCP 的 Agent 的学术研究环境。它将终端 CLI 与 MCP 服务结合,用于搜索学术来源、追踪引用、整理论文并导出研究语料。

主要功能

  1. 01并行搜索多个学术引擎
  2. 02解析作者并查找其论文
  3. 03浏览引用和相关作者
  4. 04获取摘要及可用全文
  5. 05在会话阅读列表中保存论文
  6. 06导出引文、BibTeX 和语料

适用场景

  1. 01从主题或 DOI 开始探索文献
  2. 02追踪引用和作者关联
  3. 03整理专题阅读列表
  4. 04导出语料供后续综合分析

MCP 相关

提供经典 stdio 服务及支持 stdio、SSE 或 streamable HTTP 的 FastMCP 服务。MCP Agent 可搜索和追踪论文、保存会话阅读列表并导出内容。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://laibniz-scholarfetch-web.hf.space/mcp/
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

12
参数类型必填说明
limitinteger否
querystring是
enginesstring否

详细介绍

ScholarFetch

ScholarFetch Logo

ScholarFetch 是一个多引擎学术研究环境,适用于:

  • 以终端为先的文献探索
  • 由 MCP 驱动的 Agent 工作流
  • 构建精选阅读清单和可导出的研究语料库

它集成了:

  • 面向用户的丰富交互式 CLI
  • 经典 MCP 服务(stdio)
  • FastMCP 服务(stdio、sse、streamable-http)

核心思路很简单:从关键词、DOI 或作者入手,浏览论文及其参考文献,查看摘要和全文,保存重要内容,然后导出精简语料库以供综合分析。

ScholarFetch 的功能

  • 并行搜索多个学术引擎
  • 消解有歧义的作者身份,并扩展作者论文列表
  • 将参考文献作为一等研究节点进行浏览
  • 获取摘要,以及可用时获取机器可读全文
  • 在交互式研究会话中跟踪已保存的论文集
  • 导出引文、摘要、BibTeX 或全文语料库
  • 向 MCP Agent 提供相同的研究工作流
  • 在一个 MCP 会话中维护有状态的已保存论文集

引擎

  • Elsevier(Scopus / Abstract / Article retrieval)
  • OpenAlex
  • Crossref
  • arXiv
  • Europe PMC
  • Springer Nature(元数据 + 开放获取)
  • Semantic Scholar(DOI 补充信息路径)

安装

git clone https://github.com/laibniz/scholarfetch.git
cd scholarfetch
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
scholarfetch

控制台脚本:

  • scholarfetch
  • scholarfetch-mcp
  • scholarfetch-fastmcp

替代方式:

python3 scholarfetch.py

凭据

ScholarFetch 在服务端 / 客户端从环境变量加载提供商凭据。

默认环境文件:

  • .scholarfetch.env

常用变量:

ELSEVIER_API_KEY=...
ELSEVIER_INSTTOKEN=...
SPRINGER_META_API_KEY=...
SPRINGER_OPENACCESS_API_KEY=...

注意:

  • ELSEVIER_INSTTOKEN 是可选的
  • 仍受提供商授权范围和速率限制约束
  • MCP 工具不接受在工具参数中传入 API 密钥

CLI 研究工作流

ScholarFetch CLI 专为研究浏览而设计。

典型流程:

  1. 从主题、DOI 或作者入手。
  2. 查看论文。
  3. 阅读摘要或全文。
  4. 扩展参考文献。
  5. 跳转至相关作者。
  6. 保存有价值的论文。
  7. 导出语料库,以供后续工作使用。

示例:

/search graph neural networks
/author Albert Einstein
/papers 1 has:abstract
/article 1
/refs 1
/saved
/export fulltext dummy corpus.txt

CLI 功能

  • 支持树状导航的交互式选择器
  • 显示当前位置的面包屑导航
  • 提供 OPEN、ABSTRACT、TEXT、REFS 和 AUTHOR 操作栏
  • 按 Backspace 返回上级节点
  • 按 Esc 返回提示词
  • 在论文列表或参考文献列表中按 S 保存论文
  • 按 X 从已保存列表中移除论文
  • 现在可在论文中使用 AUTHOR 操作来选择:
    • 单个作者
    • ALL AUTHORS
  • 参考文献列表的操作方式与论文列表相同:
    • open
    • abstract
    • text
    • refs
    • author
  • 自动提示论文可用性:
    • 摘要是否可用
    • 全文是否可用
  • 为耗时的切换操作提供进度反馈
  • 支持中断参考文献预览生成,并保留部分结果

CLI 核心命令

  • /search <keywords|doi|person name>
  • /author <name>
  • /papers <author name|index> [filters]
  • /doi <doi>
  • /open <index>
  • /abstract <doi|index>
  • /article <doi|index>
  • /refs <doi|index>
  • /ref <index>
  • /saved
  • /export [format style path ...]
  • /import [path]
  • /pick [mode]
  • /config
  • /engines
  • /help

论文筛选条件

与 /papers 搭配使用:

  • year>=YYYY、year<=YYYY、year=YYYY
  • has:abstract、has:doi、has:pdf、has:fulltext
  • venue:<text>、title:<text>、doi:<text>

示例:

/papers 1 year>=2020 has:abstract
/papers 1 has:fulltext
/papers andrea de mauro venue:marketing

导出模式

ScholarFetch 支持从已保存的论文集中导出为四种模式。

  • bib
    • 为引文管理器和书目工具导出 BibTeX
  • citations
    • 仅导出引文,格式可选 harvard、apa 或 ieee
  • abstracts
    • 为每篇已保存的论文导出元数据 + 摘要
  • fulltext
    • 导出元数据 + 摘要 + 可用时的全文
    • 可选包含参考文献

因此,ScholarFetch 可用作构建语料库的工具,为下游综合分析 Agent 提供语料。

MCP 服务

ScholarFetch 通过 MCP 提供相同的研究模型。

模式:

  • 经典 MCP(stdio):python3 scholarfetch_mcp.py
  • FastMCP stdio:python3 scholarfetch_fastmcp.py --transport stdio
  • FastMCP SSE:python3 scholarfetch_fastmcp.py --transport sse --host 127.0.0.1 --port 8000
  • FastMCP 可流式传输的 HTTP:python3 scholarfetch_fastmcp.py --transport streamable-http --host 127.0.0.1 --port 8000 --http-path /mcp

验证:

python3 scholarfetch_mcp.py --self-test
python3 scholarfetch_fastmcp.py --self-test

公开演示端点:

MCP 研究模型

MCP 服务专为 Agent 工作流设计,而不仅仅是处理一次性调用。

Agent 可以:

  1. 搜索论文
  2. 确定作者身份
  3. 扩展到作者的论文
  4. 阅读摘要/全文
  5. 扩展参考文献
  6. 将有潜力的论文保存到命名的内存阅读列表中
  7. 将阅读列表导出为:
    • 引文
    • 摘要
    • BibTeX
    • 全文语料库

这样,Agent 就能在一个 MCP 会话中构建一个聚焦的研究集,然后将导出内容交给另一个综合步骤。

详细的工具模型请参阅 MCP_SERVER.md。

仓库文件

  • scholarfetch.py:CLI 入口点
  • scholarfetch_cli.py:核心 CLI 和检索逻辑
  • scholarfetch_mcp.py:经典 MCP 服务
  • scholarfetch_fastmcp.py:FastMCP 服务
  • MCP_SERVER.md:MCP 使用指南
  • AGENTS.md:面向 Agent 的工作流指南
  • SKILL.md:结构化研究技能指南
  • SKILLS.md:面向 Agent 的技能文档索引
  • CONTRIBUTING.md:贡献者须知

面向 Agent

如果你在兼容 MCP 的系统中运行 ScholarFetch,请阅读:

这些文档说明了如何将 ScholarFetch 用作文献研究环境,而不是简单的搜索 API。

贡献

请参阅 CONTRIBUTING.md。

安全

请参阅 SECURITY.md。

许可证

MIT 许可证。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。