🔍 Enable AI assistants to search and access Google Scholar papers through a simple MCP interface.
The Google Scholar MCP Server provides a bridge between AI assistants and Google Scholar through the Model Context Protocol (MCP). It allows AI models to search for academic papers and access their content programmatically.
Clone the repository:
shell
git clone https://github.com/JackKuo666/google-scholar-MCP-Server.git
cd google-scholar-MCP-Server
Install the required dependencies:
shell
pip install -r requirements.txt
To install the Google Scholar MCP Server automatically via Smithery:
npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client claude --config "{}"
Paste the following into Settings → Cursor Settings → MCP → Add new server:
npx -y @smithery/cli@latest run @JackKuo666/google-scholar-mcp-server --client cursor --config "{}"
npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client windsurf --config "{}"
npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client cline --config "{}"
Start the MCP server:
python google_scholar_server.py
result = await mcp.use_tool("search_google_scholar_key_words", {
"query": "artificial intelligence ethics",
"num_results": 5
})
print(result)
result = await mcp.use_tool("search_google_scholar_advanced", {
"query": "machine learning",
"author": "Hinton",
"year_range": [2020, 2023],
"num_results": 3
})
print(result)
result = await mcp.use_tool("get_author_info", {
"author_name": "Geoffrey Hinton"
})
print(result)
Add this configuration to your claude_desktop_config.json
:
{
"mcpServers": {
"google-scholar": {
"command": "python",
"args": ["-m", "google_scholar_mcp_server"]
}
}
}
{
"mcpServers": {
"google-scholar": {
"command": "C:\\Users\\YOUR\\PATH\\miniconda3\\envs\\mcp_server\\python.exe",
"args": ["D:\\code\\YOUR\\PATH\\Google-Scholar-MCP-Server\\google_scholar_server.py"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
{
"mcpServers": {
"google-scholar": {
"command": "bash",
"args": ["-c", "source /home/YOUR/PATH/.venv/bin/activate && python /home/YOUR/PATH/google_scholar_mcp_server.py"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
search_google_scholar_key_words
Search for articles on Google Scholar using keywords.
Parameters:
- query
(str): Search query string
- num_results
(int, optional): Number of results to return (default: 5)
Returns: List of dictionaries containing article information
search_google_scholar_advanced
Perform an advanced search for articles on Google Scholar.
Parameters:
- query
(str): General search query
- author
(str, optional): Author name
- year_range
(tuple, optional): Tuple containing (start_year, end_year)
- num_results
(int, optional): Number of results to return (default: 5)
Returns: List of dictionaries containing article information
get_author_info
Get detailed information about an author from Google Scholar.
Parameters:
- author_name
(str): Name of the author to search for
Returns: Dictionary containing author information
google_scholar_server.py
: The main MCP server implementation using FastMCPgoogle_scholar_web_search.py
: Contains the web scraping logic for searching Google ScholarInstall the required dependencies:
pip install -r requirements.txt
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
This tool is for research purposes only. Please respect Google Scholar's terms of service and use this tool responsibly.