pubmed_mcp_server2
Version:
Advanced Model Context Protocol server for PubMed database access with MeSH optimization and citation analysis
155 lines • 4.66 kB
TypeScript
export type SortOption = 'relevance' | 'pub_date' | 'first_author';
export type OutputMode = 'compact' | 'full';
export type SectionType = 'abstract' | 'introduction' | 'methods' | 'results' | 'discussion' | 'conclusions' | 'references' | 'all';
export interface SearchFilters {
publication_types?: string[];
date_range?: {
start?: string;
end?: string;
};
languages?: string[];
has_abstract?: boolean;
free_full_text?: boolean;
humans_only?: boolean;
}
export interface PubMedSearchResult {
idList: string[];
count: number;
retMax: number;
retStart: number;
queryTranslation?: string;
}
export interface PubMedArticle {
pmid: string;
title: string;
authors: string[];
journal: string;
publicationDate: string;
abstract?: string;
doi?: string;
pmcId?: string;
url: string;
}
export interface PubMedSummary {
pmid: string;
title: string;
authors: string[];
journal: string;
publicationDate: string;
doi?: string;
pmcId?: string;
}
export interface FullAbstractResult {
pmid: string;
title: string;
authors: string[];
journal: string;
publicationDate: string;
fullAbstract: string;
doi?: string;
pmcId?: string;
}
export interface FullTextResult {
pmid: string;
pmcId: string;
title: string;
fullText: string;
sections: {
title: string;
content: string;
}[];
}
export interface RISExportResult {
pmids: string[];
risData: string;
successCount: number;
errorCount: number;
errors: string[];
}
export interface CitationCountResult {
pmid: string;
title: string;
citationCount: number;
citingPmids: string[];
error?: string;
}
export interface CountResult {
query: string;
queryTranslation?: string;
count: number;
}
export interface IdConversionResult {
conversions: {
input: string;
pmid?: string;
pmcid?: string;
doi?: string;
}[];
failed: string[];
}
export interface CompactArticle {
pmid: string;
title: string;
authors: string;
journal: string;
year: string;
pmcid?: string;
doi?: string;
}
export interface CompactSearchResult {
total: number;
showing: number;
retstart: number;
results: CompactArticle[];
next_start?: number;
}
export declare function searchPubMed(query: string, maxResults?: number, startIndex?: number, sort?: SortOption, filters?: SearchFilters): Promise<PubMedSearchResult>;
export declare function countResults(query: string): Promise<CountResult>;
export declare function getArticleSummaries(pmids: string[]): Promise<PubMedSummary[]>;
export declare function getArticleDetails(pmids: string[]): Promise<PubMedArticle[]>;
export declare function getFullAbstract(pmids: string[]): Promise<FullAbstractResult[]>;
export declare function getFullText(pmcIds: string[], sections?: SectionType[]): Promise<FullTextResult[]>;
export declare function exportRIS(pmids: string[]): Promise<RISExportResult>;
export declare function searchAndFetchArticles(query: string, maxResults?: number): Promise<PubMedArticle[]>;
export declare function getCitationCounts(pmids: string[]): Promise<CitationCountResult[]>;
export interface SimilarArticleResult {
pmid: string;
title: string;
authors: string[];
journal: string;
publicationDate: string;
abstract?: string;
similarityScore?: number;
doi?: string;
pmcId?: string;
}
export interface BatchOperation {
pmid: string;
operation: 'abstract' | 'citations' | 'similar' | 'ris_export' | 'full_text';
status: 'pending' | 'processing' | 'completed' | 'error';
result?: any;
error?: string;
}
export interface BatchProcessingResult {
taskId: string;
operations: BatchOperation[];
summary: {
total: number;
completed: number;
failed: number;
processing: number;
};
results: {
abstracts?: FullAbstractResult[];
citations?: CitationCountResult[];
similar?: {
[pmid: string]: SimilarArticleResult[];
};
risExports?: string;
fullTexts?: FullTextResult[];
};
}
export declare function findSimilarArticles(pmid: string, maxResults?: number): Promise<SimilarArticleResult[]>;
export declare function convertIds(ids: string[], fromType: 'pmid' | 'pmcid' | 'doi', toType: 'pmid' | 'pmcid' | 'doi'): Promise<IdConversionResult>;
export declare function batchProcess(pmids: string[], operations: string[], maxConcurrency?: number): Promise<BatchProcessingResult>;
//# sourceMappingURL=pubmed-api.d.ts.map