Skip to main content
Glama

search_scopus

Search academic literature in the Scopus database to find relevant articles, papers, and citations using filters like author, year, journal, and subject area.

Instructions

Search the Scopus abstract and citation database (requires Elsevier API key)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query string
maxResultsNoMaximum number of results (max 25 per request)
yearNoYear filter (e.g., "2023", "2020-2023")
authorNoAuthor name filter
journalNoJournal name filter
affiliationNoInstitution/affiliation filter
subjectNoSubject area filter
openAccessNoFilter for open access articles only
documentTypeNoDocument type: ar=article, cp=conference paper, re=review, bk=book, ch=chapter

Implementation Reference

  • Handler implementation for the 'search_scopus' tool. Parses arguments, checks for required Elsevier API key, performs search via the scopus searcher, and returns formatted JSON response with paper details.
    case 'search_scopus': { const { query, maxResults, year, author, journal, affiliation, subject, openAccess, documentType } = args; if (!process.env.ELSEVIER_API_KEY) { throw new Error('Elsevier API key not configured. Please set ELSEVIER_API_KEY environment variable.'); } const results = await searchers.scopus.search(query, { maxResults, year, author, journal, affiliation, subject, openAccess, documentType } as any); return jsonTextResponse( `Found ${results.length} Scopus papers.\n\n${JSON.stringify( results.map((paper: Paper) => PaperFactory.toDict(paper)), null, 2 )}` ); }
  • Zod schema definition for validating input arguments to the 'search_scopus' tool.
    export const SearchScopusSchema = z .object({ query: z.string().min(1), maxResults: z.number().int().min(1).max(25).optional().default(10), year: z.string().optional(), author: z.string().optional(), journal: z.string().optional(), affiliation: z.string().optional(), subject: z.string().optional(), openAccess: z.boolean().optional(), documentType: z.enum(['ar', 'cp', 're', 'bk', 'ch']).optional() }) .strip();
  • MCP tool registration for 'search_scopus', including name, description, and input schema matching the Zod schema.
    { name: 'search_scopus', description: 'Search the Scopus abstract and citation database (requires Elsevier API key)', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query string' }, maxResults: { type: 'number', minimum: 1, maximum: 25, description: 'Maximum number of results (max 25 per request)' }, year: { type: 'string', description: 'Year filter (e.g., "2023", "2020-2023")' }, author: { type: 'string', description: 'Author name filter' }, journal: { type: 'string', description: 'Journal name filter' }, affiliation: { type: 'string', description: 'Institution/affiliation filter' }, subject: { type: 'string', description: 'Subject area filter' }, openAccess: { type: 'boolean', description: 'Filter for open access articles only' }, documentType: { type: 'string', enum: ['ar', 'cp', 're', 'bk', 'ch'], description: 'Document type: ar=article, cp=conference paper, re=review, bk=book, ch=chapter' } }, required: ['query'] } },
  • Schema parsing logic for 'search_scopus' tool arguments within the parseToolArgs function.
    case 'search_scopus': return SearchScopusSchema.parse(args);

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