Skip to main content
Glama

search_google_scholar

Find academic papers on Google Scholar by searching with keywords, filtering by author or publication year, and retrieving relevant results for research.

Instructions

Search Google Scholar for academic papers using web scraping

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query string
maxResultsNoMaximum number of results to return
yearLowNoEarliest publication year
yearHighNoLatest publication year
authorNoAuthor name filter

Implementation Reference

  • Handler logic for executing the 'search_google_scholar' tool: destructures args, calls searchers.googlescholar.search(), maps results to dicts, and returns formatted JSON text response.
    case 'search_google_scholar': { const { query, maxResults, yearLow, yearHigh, author } = args; const results = await searchers.googlescholar.search(query, { maxResults, yearLow, yearHigh, author } as any); return jsonTextResponse( `Found ${results.length} Google Scholar papers.\n\n${JSON.stringify( results.map((paper: Paper) => PaperFactory.toDict(paper)), null, 2 )}` ); }
  • Zod schema defining the input parameters and validation for the search_google_scholar tool.
    export const SearchGoogleScholarSchema = z .object({ query: z.string().min(1), maxResults: z.number().int().min(1).max(20).optional().default(10), yearLow: z.number().int().optional(), yearHigh: z.number().int().optional(), author: z.string().optional() }) .strip();
  • Registration of the 'search_google_scholar' tool in the TOOLS array, including name, description, and inputSchema for MCP.
    { name: 'search_google_scholar', description: 'Search Google Scholar for academic papers using web scraping', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query string' }, maxResults: { type: 'number', minimum: 1, maximum: 20, description: 'Maximum number of results to return' }, yearLow: { type: 'number', description: 'Earliest publication year' }, yearHigh: { type: 'number', description: 'Latest publication year' }, author: { type: 'string', description: 'Author name filter' } }, required: ['query'] } },
  • Usage of the schema in parseToolArgs function to validate arguments for search_google_scholar.
    case 'search_google_scholar': return SearchGoogleScholarSchema.parse(args);
  • Tool name included in the ToolName type union.
    | 'search_google_scholar'

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dianel555/paper-search-mcp-nodejs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server