search_papersLABSCO SUMMARY
The delays are the feature — do not shorten them.
Scholar answers to a rate limit that has real consequences: exceed it and your IP is blocked for a day or two, across proxies on the same range, with repeat offences escalating. The defaults are tuned for that, and the project is explicit that going below five seconds is not recommended. Two things follow. Use the batch tool for multiple queries, because its built-in spacing is safer than firing them yourself. And for a large literature scan, raise the delays and put a proxy in front rather than hoping.
What it is
An MCP server over Google Scholar, built on the scholarly library. Scholar has no official API and blocks aggressive clients, so the interesting engineering here is the pacing: randomised delays, retries and optional proxying are part of the server rather than something you have to add.
What you get
- Keyword search using the same syntax as the Scholar search box, with filtering, sorting and pagination —
search_papers - One paper's complete record, including citation-per-year statistics and its BibTeX entry, where the search result is deliberately lightweight —
get_paper_details - Forward-citation analysis: the papers that cite a given work, found by title —
get_citations - An author profile by name, carrying affiliation, h-index, i10-index, research interests and a sample of publications —
search_author - A BibTeX record for a paper by title, returned as a string ready to paste into a bib file —
get_bibtex - Batch search over several queries run sequentially with randomised delays between them, where a single failed query is captured rather than aborting the batch —
bulk_search
Requirements
No account and no key for the default configuration. Python 3.11 or later; install google-scholar-search-mcp from PyPI or from a clone, and run the module over stdio. Pacing is set by GS_MIN_DELAY and GS_MAX_DELAY, which default to 5.0 and 15.0 seconds and are randomised between the two, with GS_MAX_RETRIES at 3 and GS_TIMEOUT at 30 seconds. GS_PROXY_TYPE selects none, free, single or scraperapi — the single mode takes GS_PROXY_HTTP and GS_PROXY_HTTPS, and the ScraperAPI mode takes GS_SCRAPERAPI_KEY.
Setup effort
One command — pip install google-scholar-search-mcp
USE CASES
Scanning the literature on a topic
Search by keyword with the operators Scholar already understands, then open the promising results in full.
Tracing a paper's influence
Pull the works that cite a foundational paper to see what came after it, rather than guessing at the follow-up literature.
Filling a bibliography
Ask for the BibTeX record by title and paste it straight into your bib file, without visiting the page.
Sizing up a researcher's work
Look up the author profile with affiliation, h-index and interests, and a sample of what they have published.
Running several searches without getting blocked
Hand the whole list to the batch tool so the delays are managed for you, and read the per-query failures rather than losing the run.
6 tools
Listed in project docs. Your client may show a different list.
search_authorget_paper_detailsget_citationsbulk_searchget_bibtexBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
python on PATH
INSTALLATION
Connect your client
Server setup
Setup
git clone https://github.com/LWaetzig/google-scholar-search-mcp.git
cd google-scholar-search-mcp
pip install -e .pip
pip install google-scholar-search-mcpMCP Clients
Claude Desktop — python -m
{
"mcpServers": {
"google-scholar": {
"command": "python",
"args": [
"-m",
"google_scholar_mcp.server"
],
"env": {
"GS_MIN_DELAY": "5.0",
"GS_MAX_DELAY": "15.0",
"GS_PROXY_TYPE": "none"
}
}
}
}Claude Desktop — installed script
{
"mcpServers": {
"google-scholar": {
"command": "google-scholar-mcp"
}
}
}Claude Desktop — Poetry
{
"mcpServers": {
"google-scholar": {
"command": "poetry",
"args": [
"run",
"google-scholar-mcp"
]
}
}
}Any MCP client
python -m google_scholar_mcp.server