Skip to main content
Glama

search-medical-journals

Find high-quality medical research on specific topics by searching top journals including NEJM, JAMA, Lancet, BMJ, and Nature Medicine.

Instructions

Search specific medical journals (NEJM, JAMA, Lancet, BMJ, Nature Medicine) for high-quality research

Input Schema

NameRequiredDescriptionDefault
queryYesMedical topic or condition to search for in top medical journals

Input Schema (JSON Schema)

{ "properties": { "query": { "description": "Medical topic or condition to search for in top medical journals", "type": "string" } }, "required": [ "query" ], "type": "object" }

Implementation Reference

  • Core handler function that implements the tool logic by performing parallel Google Scholar searches for the query prefixed with top medical journal names (NEJM, JAMA, Lancet, BMJ, Nature Medicine).
    export async function searchMedicalJournals( query: string, ): Promise<GoogleScholarArticle[]> { console.log(`šŸ” Searching medical journals for: ${query}`); const journalSearches = await Promise.allSettled([ searchJournal("NEJM", query), searchJournal("JAMA", query), searchJournal("Lancet", query), searchJournal("BMJ", query), searchJournal("Nature Medicine", query), ]); const results: GoogleScholarArticle[] = []; journalSearches.forEach((search) => { if (search.status === "fulfilled" && search.value) { results.push(...search.value); } }); return results.slice(0, 15); }
  • Zod input schema defining the 'query' parameter for the tool.
    { query: z .string() .describe( "Medical topic or condition to search for in top medical journals", ), },
  • src/index.ts:254-272 (registration)
    MCP server registration of the 'search-medical-journals' tool, including description, schema, and thin wrapper handler that calls the core implementation.
    server.tool( "search-medical-journals", "Search specific medical journals (NEJM, JAMA, Lancet, BMJ, Nature Medicine) for high-quality research", { query: z .string() .describe( "Medical topic or condition to search for in top medical journals", ), }, async ({ query }) => { try { const articles = await searchMedicalJournals(query); return formatMedicalJournalsSearch(articles, query); } catch (error: any) { return createErrorResponse("searching medical journals", error); } }, );
  • Helper function to format the search results from medical journals into a structured MCP response with safety warnings.
    export function formatMedicalJournalsSearch(articles: any[], query: string) { if (articles.length === 0) { return createMCPResponse( `No articles found for "${query}" in top medical journals. This could be due to no results matching your query, journal-specific search limitations, or network connectivity issues.`, ); } let result = `**Top Medical Journals Search: "${query}"**\n\n`; result += `Found ${articles.length} article(s) from top medical journals\n\n`; articles.forEach((article, index) => { result += formatArticleItem(article, index); }); result += `\n🚨 **CRITICAL SAFETY WARNING:**\n`; result += `This search retrieves information from top medical journals dynamically.\n\n`; result += `**DYNAMIC DATA SOURCES:**\n`; result += `• New England Journal of Medicine (NEJM)\n`; result += `• Journal of the American Medical Association (JAMA)\n`; result += `• The Lancet\n`; result += `• British Medical Journal (BMJ)\n`; result += `• Nature Medicine\n`; result = addDataNote(result); return createMCPResponse(result); }
  • Helper function that constructs journal-specific Google Scholar queries used by the main handler.
    async function searchJournal( journalName: string, query: string, ): Promise<GoogleScholarArticle[]> { try { // Use Google Scholar with journal-specific search const journalQuery = `"${journalName}" ${query}`; return await searchGoogleScholar(journalQuery); } catch (error) { console.error(`Error searching ${journalName}:`, error); return []; } }

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/JamesANZ/medical-mcp'

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