Skip to main content
Glama
flyanima

Open Search MCP

by flyanima

search_medrxiv

Search medical preprints and clinical research on medRxiv to find relevant studies and papers for healthcare professionals and researchers.

Instructions

Search medRxiv for medical preprints and clinical research

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for medical preprints
maxResultsNoMaximum number of results to return

Implementation Reference

  • The main handler function for the 'search_medrxiv' tool. It takes a query and optional maxResults, generates simulated medRxiv medical preprint search results, and returns structured data or error.
    execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { query, maxResults = 20 } = args; // Simulated medRxiv search results const results = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => ({ title: `Clinical Study on ${query} - Research ${i + 1}`, authors: [`Dr. Medical Researcher ${i + 1}`, `Prof. Clinical Expert ${i + 1}`], abstract: `This clinical study investigates ${query} and its implications for patient care...`, date: new Date(2024, 0, i + 1).toISOString().split('T')[0], doi: `10.1101/2024.01.${String(i + 1).padStart(2, '0')}.24300001`, url: `https://www.medrxiv.org/content/10.1101/2024.01.${String(i + 1).padStart(2, '0')}.24300001v1`, category: 'Medical Research', keywords: [query, 'clinical', 'medical', 'preprint'] })); return { success: true, data: { source: 'medRxiv', query, results, totalResults: results.length }, metadata: { searchTime: Date.now(), source: 'medRxiv Preprint Server' } }; } catch (error) { return { success: false, error: `medRxiv search failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } }
  • Input schema defining the parameters for the search_medrxiv tool: required 'query' string and optional 'maxResults' number (1-100, default 20).
    inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query for medical preprints' }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 20, minimum: 1, maximum: 100 } }, required: ['query'] },
  • The registry.registerTool invocation that defines, configures, and registers the 'search_medrxiv' tool within the registerBioRxivTools function.
    registry.registerTool({ name: 'search_medrxiv', description: 'Search medRxiv for medical preprints and clinical research', category: 'academic', source: 'medRxiv', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query for medical preprints' }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 20, minimum: 1, maximum: 100 } }, required: ['query'] }, execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { query, maxResults = 20 } = args; // Simulated medRxiv search results const results = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => ({ title: `Clinical Study on ${query} - Research ${i + 1}`, authors: [`Dr. Medical Researcher ${i + 1}`, `Prof. Clinical Expert ${i + 1}`], abstract: `This clinical study investigates ${query} and its implications for patient care...`, date: new Date(2024, 0, i + 1).toISOString().split('T')[0], doi: `10.1101/2024.01.${String(i + 1).padStart(2, '0')}.24300001`, url: `https://www.medrxiv.org/content/10.1101/2024.01.${String(i + 1).padStart(2, '0')}.24300001v1`, category: 'Medical Research', keywords: [query, 'clinical', 'medical', 'preprint'] })); return { success: true, data: { source: 'medRxiv', query, results, totalResults: results.length }, metadata: { searchTime: Date.now(), source: 'medRxiv Preprint Server' } }; } catch (error) { return { success: false, error: `medRxiv search failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } } });
  • src/index.ts:233-233 (registration)
    Invocation of registerBioRxivTools in the main server initialization (registerAllTools method), which registers the search_medrxiv tool among others.
    registerBioRxivTools(this.toolRegistry); // 3 tools: search_iacr, search_medrxiv, search_biorxiv
  • src/index.ts:359-359 (registration)
    The search_medrxiv tool is explicitly listed in the README_33_TOOLS array used for filtering to exactly 33 tools in production.
    'search_iacr', 'search_biorxiv', 'search_medrxiv',

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/flyanima/open-search-mcp'

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