@tan-yong-sheng/paper-search-mcp-nodejs
Version:
A Node.js MCP server for searching and downloading academic papers from multiple sources, including arXiv, PubMed, bioRxiv, Web of Science, and more.
64 lines • 1.68 kB
TypeScript
/**
* 统一的学术论文数据模型
* 支持多个学术平台的标准化数据格式
*/
export interface Paper {
/** 唯一标识符 (如 arXiv ID, PMID, DOI) */
paperId: string;
/** 论文标题 */
title: string;
/** 作者列表 */
authors: string[];
/** 摘要 */
abstract: string;
/** DOI (数字对象标识符) */
doi: string;
/** 发布日期 */
publishedDate: Date | null;
/** PDF直接下载链接 */
pdfUrl: string;
/** 论文页面URL */
url: string;
/** 来源平台 (如 'arxiv', 'pubmed', 'webofscience') */
source: string;
/** 最后更新日期 */
updatedDate?: Date;
/** 学科分类 */
categories?: string[];
/** 关键词 */
keywords?: string[];
/** 被引次数 */
citationCount?: number;
/** 参考文献ID/DOI列表 */
references?: string[];
/** 期刊/会议名称 */
journal?: string;
/** 卷号 */
volume?: string;
/** 期号 */
issue?: string;
/** 页码范围 */
pages?: string;
/** 年份 */
year?: number;
/** 平台特定的额外元数据 */
extra?: Record<string, any>;
}
/**
* Paper工厂类,用于创建和验证Paper对象
*/
export declare class PaperFactory {
/**
* 创建Paper对象
*/
static create(data: Partial<Paper> & Required<Pick<Paper, 'paperId' | 'title' | 'source'>>): Paper;
/**
* 将Paper对象转换为字典格式(用于序列化)
*/
static toDict(paper: Paper): Record<string, any>;
/**
* 验证Paper对象是否有效
*/
static validate(paper: Paper): boolean;
}
//# sourceMappingURL=Paper.d.ts.map