ScholarFetch

Official registry Search and web

Multi-engine scholarly research server for search, traversal, full text, and reading lists.

What can you do with ScholarFetch?

  • Interactive picker with tree navigation
  • Breadcrumbs for current research position
  • Action bar for OPEN, ABSTRACT, TEXT, REFS, and AUTHOR
  • Backspace to go to parent node
  • Esc to return to prompt
  • S to save a paper from paper lists or reference lists
  • X to remove from the saved list
  • AUTHOR action from a paper now lets you select:

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http scholarfetch 'https://laibniz-scholarfetch-web.hf.space/mcp/'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "scholarfetch": {
            "type": "http",
            "url": "https://laibniz-scholarfetch-web.hf.space/mcp/"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. ScholarFetch
  2. What ScholarFetch Does
  3. Engines
  4. Installation
  5. Credentials
  6. CLI Research Workflow
  7. CLI Features
  8. Core CLI Commands
  9. Paper Filters
  10. Export Modes
  11. MCP Server
  12. MCP Research Model
  13. Repository Files
  14. For Agents
  15. Contributing
  16. Security
  17. License

ScholarFetch

ScholarFetch is a multi-engine academic research environment for:

  • terminal-first literature exploration
  • MCP-powered agent workflows
  • building curated reading lists and exportable research corpora

It combines:

  • a rich interactive CLI for humans
  • a classic MCP server (stdio)
  • a FastMCP server (stdio, sse, streamable-http)

The core idea is simple: start from keywords, DOI, or authors, traverse papers and references, inspect abstracts and full text, save what matters, then export a compact corpus for synthesis.

What ScholarFetch Does

  • Searches across multiple scholarly engines in parallel
  • Resolves ambiguous author identities and expands author paper lists
  • Traverses references as first-class research nodes
  • Retrieves abstracts and machine-readable full text when available
  • Tracks a saved paper set during an interactive research session
  • Exports citations, abstracts, BibTeX, or full-text corpora
  • Exposes the same research workflow to MCP agents
  • Maintains stateful saved-paper collections inside one MCP session

Engines

  • Elsevier (Scopus / Abstract / Article retrieval)
  • OpenAlex
  • Crossref
  • arXiv
  • Europe PMC
  • Springer Nature (metadata + open access)
  • Semantic Scholar (DOI enrichment path)

Installation

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

Console scripts:

  • scholarfetch
  • scholarfetch-mcp
  • scholarfetch-fastmcp

Alternative:

python3 scholarfetch.py

Credentials

ScholarFetch loads provider credentials server-side / client-side from environment.

Default env file:

  • .scholarfetch.env

Typical variables:

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

Notes:

  • ELSEVIER_INSTTOKEN is optional
  • provider entitlements and rate limits still apply
  • MCP tools do not accept API keys in tool arguments

CLI Research Workflow

ScholarFetch CLI is designed for research traversal.

Typical flow:

  1. Start from a topic, DOI, or author.
  2. Inspect papers.
  3. Read abstracts or full text.
  4. Expand references.
  5. Jump to related authors.
  6. Save promising papers.
  7. Export a corpus for downstream work.

Example:

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

CLI Features

  • Interactive picker with tree navigation
  • Breadcrumbs for current research position
  • Action bar for OPEN, ABSTRACT, TEXT, REFS, and AUTHOR
  • Backspace to go to parent node
  • Esc to return to prompt
  • S to save a paper from paper lists or reference lists
  • X to remove from the saved list
  • AUTHOR action from a paper now lets you select:
    • a single author
    • ALL AUTHORS
  • Reference lists behave like paper lists:
    • open
    • abstract
    • text
    • refs
    • author
  • Automatic paper availability hints:
    • abstract availability
    • full-text availability
  • Progress feedback for expensive transitions
  • Interruptible reference preview building with partial results kept

Core CLI Commands

  • /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

Paper Filters

Use with /papers:

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

Examples:

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

Export Modes

ScholarFetch supports four export modes from the saved paper set.

  • bib
    • BibTeX for citation managers and bibliographic tooling
  • citations
    • citation-only export in harvard, apa, or ieee
  • abstracts
    • metadata + abstract for each saved paper
  • fulltext
    • metadata + abstract + full text when available
    • optional inclusion of references

This makes ScholarFetch useful as a corpus builder for downstream synthesis agents.

MCP Server

ScholarFetch exposes the same research model through MCP.

Modes:

  • Classic 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

Validation:

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

Public demo endpoints:

MCP Research Model

The MCP server is designed for agent workflows, not only one-off calls.

An agent can:

  1. Search papers
  2. Resolve authors
  3. Expand to author papers
  4. Read abstracts / full text
  5. Expand references
  6. Save promising papers into a named in-memory reading list
  7. Export the reading list as:
    • citations
    • abstracts
    • BibTeX
    • full-text corpus

This lets an agent build a focused research set inside one MCP session and then hand off an export artifact to another synthesis step.

See MCP_SERVER.md for the detailed tool model.

Repository Files

  • scholarfetch.py: CLI entrypoint
  • scholarfetch_cli.py: core CLI + retrieval logic
  • scholarfetch_mcp.py: classic MCP server
  • scholarfetch_fastmcp.py: FastMCP server
  • MCP_SERVER.md: MCP usage guide
  • AGENTS.md: agent-facing workflow guide
  • SKILL.md: structured research skill guide
  • SKILLS.md: index for agent-facing skill docs
  • CONTRIBUTING.md: contributor notes

For Agents

If you are running ScholarFetch from an MCP-compatible system, read:

These documents explain how to use ScholarFetch as a literature-research environment rather than as a flat search API.

Contributing

See CONTRIBUTING.md.

Security

See SECURITY.md.

License

MIT License. See LICENSE.

Frequently asked questions

What is ScholarFetch?

Multi-engine scholarly research server for search, traversal, full text, and reading lists.

How do I install ScholarFetch?

It runs as a remote server. In Claude Code: claude mcp add --transport http scholarfetch 'https://laibniz-scholarfetch-web.hf.space/mcp/'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does ScholarFetch need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is ScholarFetch open source?

Yes. Its code is on GitHub under the Apache-2.0 license.

Who maintains ScholarFetch?

It is published by laibniz. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.