Skip to main content

Scholar Search MCP Server (SSE)

A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo and Google Scholar, with additional features for content fetching and parsing, running over HTTP (SSE).

Features

  • Web Search: Search DuckDuckGo and Google Scholar with advanced rate limiting and result formatting
  • Content Fetching: Retrieve and parse webpage content with intelligent text extraction
  • Rate Limiting: Built-in protection against rate limits for both search and content fetching
  • Error Handling: Comprehensive error handling and logging
  • LLM-Friendly Output: Results formatted specifically for large language model consumption

Usage

Installation

You can install the server using pip:

pip install scholar-mcp-server-sse

Startup

You can start the server using the following command:

scholar-mcp-server-sse --host <your-host> --port <your-port>
  • --host: The host to bind the server to. Defaults to 0.0.0.0.
  • --port: The port to run the server on. Defaults to 8000.

For example:

duckduckgo-mcp-server-sse --host 127.0.0.1 --port 8080

Settings in CLINE

Add the following configuration, adjusting the host and port to match your server setup:

{
    "mcpServers": {
        "scholar-search-sse": {
            "disabled": false,
            "timeout": 60,
            "type": "sse",
            "url": "http://127.0.0.1:8000/sse",
            "headers": {
                "Accept": "application/json, text/event-stream"
            }
        }
    }
}

Available Tools

1. Search Tool

async def search(query: str, max_results: int = 10) -> str

Performs a web search on DuckDuckGo and returns formatted results.

Parameters:

  • query: Search query string
  • max_results: Maximum number of results to return (default: 10)

Returns: Formatted string containing search results with titles, URLs, and snippets.

2. Content Fetching Tool

async def fetch_content(url: str) -> str

Fetches and parses content from a webpage.

Parameters:

  • url: The webpage URL to fetch content from

Returns: Cleaned and formatted text content from the webpage.

3. Scholar Search Tool

async def scholar_search(query: str, max_results: int = 10, year_low: int = None, year_high: int = None, sort_by: str = 'relevance', start_index: int = 0) -> str

Performs a search on Google Scholar and returns formatted results.

Parameters:

  • query: Search query string
  • max_results: Maximum number of results to return (default: 10)
  • year_low: Minimum year of publication (optional)
  • year_high: Maximum year of publication (optional)
  • sort_by: Sort by 'relevance' or 'date' (default: 'relevance')
  • start_index: Starting index of the result list (default: 0)

Returns: Formatted string containing search results with titles, authors, publication details, and summaries.

Features in Detail

Rate Limiting

  • Search: Limited to 30 requests per minute
  • Content Fetching: Limited to 20 requests per minute
  • Automatic queue management and wait times

Result Processing

  • Removes ads and irrelevant content
  • Cleans up DuckDuckGo redirect URLs
  • Formats results for optimal LLM consumption
  • Truncates long content appropriately

Error Handling

  • Comprehensive error catching and reporting
  • Detailed logging through MCP context
  • Graceful degradation on rate limits or timeouts

Contributing

Issues and pull requests are welcome! Some areas for potential improvement:

  • Additional search parameters (region, language, etc.)
  • Enhanced content parsing options
  • Caching layer for frequently accessed content
  • Additional rate limiting strategies

License

This project is licensed under the MIT License.

Metadata

Release files for scholar-mcp-server-sse 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scholar-mcp-server-sse 0.1
File Size Uploaded
scholar_mcp_server_sse-0.1.tar.gz 25.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scholar-mcp-server-sse 0.1
File Interpreter ABI Platform
scholar_mcp_server_sse-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 32.7 kB

Release files / scholar_mcp_server_sse-0.1.tar.gz

Download URL scholar_mcp_server_sse-0.1.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5787fa17d1a4f3a4a37016aca7d9bb30acae865fa581cc58cf52640b1fd260b8
BLAKE2b-256 checksum
How to use checksums
e5621ed8c490878b9ebad706afaca3249358beb928bc233c85408a5cd36edce5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / scholar_mcp_server_sse-0.1-py3-none-any.whl

Download URL scholar_mcp_server_sse-0.1-py3-none-any.whl
Size 7.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f68958a24b1f6d52b3cbac106ef2aa93e41268e7ed3765b1f295e7d85d4a1d40
BLAKE2b-256 checksum
How to use checksums
ba626b9a61a84169dada401f5711eac38f07f981e7d92e185af22349efc316d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page