Skip to main content
Glama
laibniz

scholarfetch

by laibniz

ScholarFetch

ScholarFetch Logo

ScholarFetch — это мультидвижковая академическая исследовательская среда для:

  • исследования литературы в первую очередь через терминал

  • агентских рабочих процессов на базе MCP

  • создания курируемых списков чтения и экспортируемых исследовательских корпусов

Он объединяет:

  • богатый интерактивный CLI для людей

  • классический MCP-сервер (stdio)

  • FastMCP-сервер (stdio, sse, streamable-http)

Основная идея проста: начните с ключевых слов, DOI или авторов, просматривайте статьи и ссылки, изучайте аннотации и полные тексты, сохраняйте важное, а затем экспортируйте компактный корпус для синтеза.

Что делает ScholarFetch

  • Выполняет параллельный поиск по нескольким научным движкам

  • Разрешает неоднозначные авторские идентичности и расширяет списки статей авторов

  • Просматривает ссылки как полноценные исследовательские узлы

  • Получает аннотации и машиночитаемые полные тексты, когда они доступны

  • Отслеживает сохранённый набор статей во время интерактивной исследовательской сессии

  • Экспортирует цитаты, аннотации, BibTeX или корпуса полных текстов

  • Предоставляет тот же исследовательский рабочий процесс MCP-агентам

  • Поддерживает сохраняемые коллекции статей в рамках одной MCP-сессии

Related MCP server: paper-search-mcp

Движки

  • Elsevier (получение Scopus / аннотаций / статей)

  • 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

CLI ScholarFetch предназначен для исследовательского обхода.

Типичный поток:

  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 полезным как конструктор корпусов для последующих агентов синтеза.

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 streamable 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-сервер предназначен для агентских рабочих процессов, а не только для разовых вызовов.

Агент может:

  1. Искать статьи

  2. Разрешать авторов

  3. Расширять до статей автора

  4. Читать аннотации / полные тексты

  5. Расширять ссылки

  6. Сохранять перспективные статьи в именованный список чтения в памяти

  7. Экспортировать список чтения как:

    • цитаты

    • аннотации

    • BibTeX

    • корпус полных текстов

Это позволяет агенту собрать сфокусированный исследовательский набор в рамках одной 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: руководство по рабочим процессам для агентов

  • SKILL.md: структурированное руководство по исследовательским навыкам

  • SKILLS.md: индекс документации по навыкам для агентов

  • CONTRIBUTING.md: заметки для участников

Для агентов

Если вы запускаете ScholarFetch из MCP-совместимой системы, прочтите:

Эти документы объясняют, как использовать ScholarFetch как среду для литературных исследований, а не как плоский поисковый API.

Участие

См. CONTRIBUTING.md.

Безопасность

См. SECURITY.md.

Лицензия

Лицензия MIT. См. LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables agents to search papers across Semantic Scholar and arXiv, read and extract text from arXiv PDFs, align records across sources, and produce structured literature-analysis digests.
    10
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM agents to search academic literature across multiple sources (IEEE, arXiv, ACM, Semantic Scholar, CORE, Scite, Consensus) and index/search local PDFs.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to search 1m+ open-access papers, standards, textbooks, and legal documents, resolve identifiers such as RFCs, DOIs, and legal citations, download PDFs, and retrieve citations and metadata through MCP tools.
    MIT