@cyanheads/pubmed-mcp-server
Version:
A Model Context Protocol (MCP) server enabling AI agents to intelligently search, retrieve, and analyze biomedical literature from PubMed via NCBI E-utilities. Built on the mcp-ts-template for robust, production-ready performance.
33 lines (32 loc) • 1.88 kB
TypeScript
/**
* @fileoverview Helper functions for parsing ESummary results from NCBI.
* Handles different ESummary XML structures and formats the data into
* consistent ParsedBriefSummary objects.
* @module src/utils/parsing/ncbi-parsing/eSummaryResultParser
*/
import { ESummaryResult, ParsedBriefSummary, ESummaryAuthor as XmlESummaryAuthor } from "../../../types-global/pubmedXml.js";
import { RequestContext } from "../../../utils/index.js";
/**
* Formats an array of ESummary authors into a string.
* Limits to the first 3 authors and adds "et al." if more exist.
* @param authors - Array of ESummary author objects (normalized).
* @returns A string like "Doe J, Smith A, Brown B, et al." or empty if no authors.
*/
export declare function formatESummaryAuthors(authors?: XmlESummaryAuthor[]): string;
/**
* Standardizes date strings from ESummary to "YYYY-MM-DD" format.
* Uses the dateParser utility.
* @param dateStr - Date string from ESummary (e.g., "2023/01/15", "2023 Jan 15", "2023").
* @param parentContext - Optional parent request context for logging.
* @returns A promise resolving to a standardized date string ("YYYY-MM-DD") or undefined if parsing fails.
*/
export declare function standardizeESummaryDate(dateStr?: string, parentContext?: RequestContext): Promise<string | undefined>;
/**
* Extracts and formats brief summaries from ESummary XML result.
* Handles both DocumentSummarySet (newer) and older DocSum structures.
* Asynchronously standardizes dates.
* @param eSummaryResult - The parsed XML object from ESummary (eSummaryResult part).
* @param context - Request context for logging and passing to date standardization.
* @returns A promise resolving to an array of parsed brief summary objects.
*/
export declare function extractBriefSummaries(eSummaryResult?: ESummaryResult, context?: RequestContext): Promise<ParsedBriefSummary[]>;