Skip to main content

An MCP server for searching and retrieving articles from Google Scholar

Project description

Google Scholar MCP Server

smithery badge

🔍 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 in a programmatic way.

✨ Core Features

  • 🔎 Paper Search: Query Google Scholar papers with custom search strings or advanced search parameters ✅
  • 🚀 Efficient Retrieval: Fast access to paper metadata ✅
  • 👤 Author Information: Retrieve detailed information about authors ✅
  • 📊 Research Support: Facilitate academic research and analysis ✅

🚀 Quick Start

Installing Manually

Installing via Smithery

To install google-scholar Server for Claude Desktop automatically via Smithery:

claude

npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client claude --config "{}"

Cursor

Paste the following into Settings → Cursor Settings → MCP → Add new server:

  • Mac/Linux
npx -y @smithery/cli@latest run @JackKuo666/google-scholar-mcp-server --client cursor --config "{}" 

Windsurf

npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client windsurf --config "{}"

CLine

npx -y @smithery/cli@latest install @JackKuo666/google-scholar-mcp-server --client cline --config "{}"
  1. Clone the repository:

    git clone https://github.com/JackKuo666/google-scholar-MCP-Server.git
    cd google-scholar-MCP-Server
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    

For development:

# Clone and set up development environment
git clone https://github.com/JackKuo666/Google-Scholar-MCP-Server.git
cd Google-Scholar-MCP-Server

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`

# Install dependencies
pip install -r requirements.txt

📊 Usage

Start the MCP server:

python google_scholar_server.py

Once the server is running, you can use the provided MCP tools in your AI assistant or application. Here are some examples of how to use the tools:

Example 1: Search for papers using keywords

result = await mcp.use_tool("search_google_scholar_key_words", {
    "query": "artificial intelligence ethics",
    "num_results": 5
})
print(result)

Example 2: Perform an advanced search

result = await mcp.use_tool("search_google_scholar_advanced", {
    "query": "machine learning",
    "author": "Hinton",
    "year_range": [2020, 2023],
    "num_results": 3
})
print(result)

Example 3: Get author information

result = await mcp.use_tool("get_author_info", {
    "author_name": "Geoffrey Hinton"
})
print(result)

These examples demonstrate how to use the three main tools provided by the Google Scholar MCP Server. Adjust the parameters as needed for your specific use case.

Usage with Claude Desktop

Add this configuration to your claude_desktop_config.json:

(Mac OS)

{
  "mcpServers": {
    "google-scholar": {
      "command": "python",
      "args": ["-m", "google_scholar_mcp_server"]
      }
  }
}

(Windows version):

{
  "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": []
    }
  }
}

Using with Cline

{
  "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": []
    }
  }
}

🛠 MCP Tools

The Google Scholar MCP Server provides the following tools:

search_google_scholar_key_words

Search for articles on Google Scholar using key words.

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

📁 Project Structure

  • google_scholar_server.py: The main MCP server implementation using FastMCP
  • google_scholar_web_search.py: Contains the web scraping logic for searching Google Scholar

🔧 Dependencies

  • Python 3.10+
  • mcp[cli]>=1.4.1
  • scholarly>=1.7.0
  • asyncio>=3.4.3

You can install the required dependencies using:

pip install -r requirements.txt

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License.

⚠️ Disclaimer

This tool is for research purposes only. Please respect Google Scholar's terms of service and use this tool responsibly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3fb50ae7e85e827c57acb75bd74d968db928ab6efda9d3d95873ccfdd736b213
MD5 67df1598aff0194b5db2ad2e7bb32478
BLAKE2b-256 8f8d71488532b6e8d3fca95249edfa650a3f90f2772bc765f9f00ecc0d521da3

See more details on using hashes here.

File details

Details for the file iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_jackkuo666_mcp_server_google_scholar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e34c1fd2f1dee5779402c34eb908c269039a57ec233d707026f010e115ee93a4
MD5 104e83396b0b8619639f298380b34365
BLAKE2b-256 716d68064908008bb473de2458d81b2070a2ffd6834dd81f9b382cc3aa0a6c51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page