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.
78 lines • 2.08 kB
TypeScript
/**
* Web of Science API集成模块
* 支持 Web of Science Starter API 和 Web of Science Researcher API
*/
import { Paper } from '../models/Paper.js';
import { PaperSource, SearchOptions, DownloadOptions, PlatformCapabilities } from './PaperSource.js';
interface WoSSearchOptions extends SearchOptions {
/** 数据库选择 */
databases?: string[];
/** 文档类型 */
documentTypes?: string[];
/** 语言过滤 */
languages?: string[];
}
export declare class WebOfScienceSearcher extends PaperSource {
private readonly apiUrl;
private readonly apiVersion;
constructor(apiKey?: string, apiVersion?: string);
getCapabilities(): PlatformCapabilities;
/**
* 搜索Web of Science论文
*/
search(query: string, options?: WoSSearchOptions): Promise<Paper[]>;
/**
* Web of Science 通常不支持直接PDF下载
*/
downloadPdf(paperId: string, options?: DownloadOptions): Promise<string>;
/**
* Web of Science 通常不提供全文内容
*/
readPaper(paperId: string, options?: DownloadOptions): Promise<string>;
/**
* 根据DOI获取论文详细信息
*/
getPaperByDoi(doi: string): Promise<Paper | null>;
/**
* 获取论文被引统计
*/
getCitationCount(paperId: string): Promise<number>;
/**
* 构建搜索查询参数
*/
private buildSearchQuery;
/**
* 构建WOS格式的查询字符串
*/
private buildWosQuery;
/**
* 转义WOS查询中的特殊字符
*/
private escapeWosQuery;
/**
* 映射排序字段到WOS API格式
*/
private mapSortField;
/**
* 解析搜索响应
*/
private parseSearchResponse;
/**
* 解析单个WoS记录
*/
private parseWoSRecord;
/**
* 提取页码信息
*/
private extractPages;
/**
* 发起API请求
*/
private makeApiRequest;
/**
* 验证API密钥
*/
validateApiKey(): Promise<boolean>;
}
export {};
//# sourceMappingURL=WebOfScienceSearcher.d.ts.map