UNPKG

@cyanheads/pubmed-mcp-server

Version:

Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms via MCP. STDIO or Streamable HTTP.

34 lines 1.8 kB
/** * @fileoverview Helper functions for parsing ESummary results from NCBI. * Handles different ESummary XML structures and formats the data into * consistent ParsedBriefSummary objects. * @module src/services/ncbi/parsing/esummary-parser */ import type { RequestContext } from '@cyanheads/mcp-ts-core/utils'; import type { ESummaryResult, ParsedBriefSummary, ESummaryAuthor as XmlESummaryAuthor } from '../types.js'; /** * Formats an array of ESummary authors into a string. * Limits to the first 3 authors and adds 'et al.' if more exist. */ export declare function formatESummaryAuthors(authors?: XmlESummaryAuthor[]): string; /** * Parses NCBI ESummary date strings into YYYY-MM-DD (or YYYY-MM-01 / YYYY-01-01 * for partial dates). Returns undefined for unrecognized formats. * * NCBI's ESummary API returns a small set of predictable date formats. chrono-node * (used by the framework's dateParser) mishandles most of them — its `forwardDate` * option causes "2023 Dec" to resolve to a future December, ignoring the year. */ export declare function parseNcbiDate(dateStr: string): string | undefined; /** * Standardizes date strings from ESummary to 'YYYY-MM-DD' format. * Uses a dedicated NCBI date parser for known formats, falling back to * chrono-node via the framework's dateParser for anything unexpected. */ 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. */ export declare function extractBriefSummaries(eSummaryResult?: ESummaryResult, context?: RequestContext): Promise<ParsedBriefSummary[]>; //# sourceMappingURL=esummary-parser.d.ts.map