Skip to main content
Glama

search_springer

Search academic papers from Springer Nature database using queries, filters, and open access options to find relevant research publications.

Instructions

Search academic papers from Springer Nature database. Uses Metadata API by default (all content) or OpenAccess API when openAccess=true (full text available). Same API key works for both.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query string
maxResultsNoMaximum number of results to return
yearNoYear filter (e.g., "2023", "2020-2023")
authorNoAuthor name filter
journalNoJournal name filter
subjectNoSubject area filter
openAccessNoSearch only open access content
typeNoPublication type filter

Implementation Reference

  • Handler logic for the search_springer MCP tool: destructures arguments, checks for SPRINGER_API_KEY, invokes the springer platform searcher, and formats the JSON response with paper details.
    case 'search_springer': { const { query, maxResults, year, author, journal, subject, openAccess, type } = args; if (!process.env.SPRINGER_API_KEY) { throw new Error('Springer API key not configured. Please set SPRINGER_API_KEY environment variable.'); } const results = await searchers.springer.search(query, { maxResults, year, author, journal, subject, openAccess, type } as any); return jsonTextResponse( `Found ${results.length} Springer papers.\n\n${JSON.stringify( results.map((paper: Paper) => PaperFactory.toDict(paper)), null, 2 )}` ); }
  • Zod schema definition for input validation of search_springer tool arguments.
    export const SearchSpringerSchema = z .object({ query: z.string().min(1), maxResults: z.number().int().min(1).max(100).optional().default(10), year: z.string().optional(), author: z.string().optional(), journal: z.string().optional(), subject: z.string().optional(), openAccess: z.boolean().optional(), type: z.enum(['Journal', 'Book', 'Chapter']).optional() }) .strip();
  • MCP tool registration entry for search_springer in the TOOLS array, defining name, description, and input schema for the Model Context Protocol.
    { name: 'search_springer', description: 'Search academic papers from Springer Nature database. Uses Metadata API by default (all content) or OpenAccess API when openAccess=true (full text available). Same API key works for both.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query string' }, maxResults: { type: 'number', minimum: 1, maximum: 100, description: 'Maximum number of results to return' }, 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' }, subject: { type: 'string', description: 'Subject area filter' }, openAccess: { type: 'boolean', description: 'Search only open access content' }, type: { type: 'string', enum: ['Journal', 'Book', 'Chapter'], description: 'Publication type filter' } }, required: ['query'] } },

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