google_search_scholar
Search scholarly articles and academic literature using Google Scholar. Retrieve results with customizable country, language, location, and page settings.
Instructions
Search Google for results
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The query to search for | |
| gl | No | The country to search in, e.g. us, uk, ca, au, etc. | |
| location | No | The location to search in, e.g. San Francisco, CA, USA | |
| hl | No | The language to search in, e.g. en, es, fr, de, etc. | |
| page | No | The page number to return, first page is 1 (integer value as string) | 1 |
| autocorrect | No | Automatically correct (boolean value as string: 'true' or 'false') | true |
Implementation Reference
- src/serper_mcp_server/core.py:14-17 (handler)The async function that executes the google_search_scholar tool. It splits the tool name ('google_search_scholar') on underscores, takes the last part ('scholar') as URI path, and sends a POST request to https://google.serper.dev/scholar.
async def google(tool: SerperTools, request: BaseModel) -> Dict[str, Any]: uri_path = tool.value.split("_")[-1] url = f"https://google.serper.dev/{uri_path}" return await fetch_json(url, request) - src/serper_mcp_server/server.py:25-38 (registration)Registration mapping: SerperTools.GOOGLE_SEARCH_SCHOLAR is mapped to AutocorrectRequest schema in the google_request_map, which is iterated over in list_tools() to register the tool with MCP.
google_request_map = { SerperTools.GOOGLE_SEARCH: SearchRequest, SerperTools.GOOGLE_SEARCH_IMAGES: SearchRequest, SerperTools.GOOGLE_SEARCH_VIDEOS: SearchRequest, SerperTools.GOOGLE_SEARCH_PLACES: AutocorrectRequest, SerperTools.GOOGLE_SEARCH_MAPS: MapsRequest, SerperTools.GOOGLE_SEARCH_REVIEWS: ReviewsRequest, SerperTools.GOOGLE_SEARCH_NEWS: SearchRequest, SerperTools.GOOGLE_SEARCH_SHOPPING: ShoppingRequest, SerperTools.GOOGLE_SEARCH_LENS: LensRequest, SerperTools.GOOGLE_SEARCH_SCHOLAR: AutocorrectRequest, SerperTools.GOOGLE_SEARCH_PATENTS: PatentsRequest, SerperTools.GOOGLE_SEARCH_AUTOCOMPLETE: AutocorrectRequest, } - Input schema for google_search_scholar: AutocorrectRequest extends BaseRequest with fields q, gl, location, hl, page, and autocorrect.
class AutocorrectRequest(BaseRequest): autocorrect: Optional[str] = Field( "true", pattern=r"^(true|false)$", description="Automatically correct (boolean value as string: 'true' or 'false')", ) - src/serper_mcp_server/enums.py:14-17 (helper)Enum definition: SerperTools.GOOGLE_SEARCH_SCHOLAR = 'google_search_scholar' is the string identifier for the tool.
GOOGLE_SEARCH_SCHOLAR = "google_search_scholar" GOOGLE_SEARCH_PATENTS = "google_search_patents" GOOGLE_SEARCH_AUTOCOMPLETE = "google_search_autocomplete" WEBPAGE_SCRAPE = "webpage_scrape"