UNPKG

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.

359 lines 13.6 kB
import { z } from 'zod'; export declare const SearchPapersSchema: z.ZodObject<{ query: z.ZodString; platform: z.ZodDefault<z.ZodOptional<z.ZodEnum<["arxiv", "webofscience", "pubmed", "wos", "biorxiv", "medrxiv", "semantic", "iacr", "googlescholar", "scholar", "scihub", "sciencedirect", "springer", "scopus", "crossref", "all"]>>>; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; category: z.ZodOptional<z.ZodString>; days: z.ZodOptional<z.ZodNumber>; fetchDetails: z.ZodOptional<z.ZodBoolean>; fieldsOfStudy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; sortBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["relevance", "date", "citations"]>>>; sortOrder: z.ZodDefault<z.ZodOptional<z.ZodEnum<["asc", "desc"]>>>; }, "strip", z.ZodTypeAny, { query: string; platform: "arxiv" | "webofscience" | "pubmed" | "wos" | "biorxiv" | "medrxiv" | "semantic" | "iacr" | "googlescholar" | "scholar" | "scihub" | "sciencedirect" | "springer" | "scopus" | "crossref" | "all"; maxResults: number; sortBy: "relevance" | "date" | "citations"; sortOrder: "asc" | "desc"; year?: string | undefined; author?: string | undefined; journal?: string | undefined; category?: string | undefined; days?: number | undefined; fetchDetails?: boolean | undefined; fieldsOfStudy?: string[] | undefined; }, { query: string; platform?: "arxiv" | "webofscience" | "pubmed" | "wos" | "biorxiv" | "medrxiv" | "semantic" | "iacr" | "googlescholar" | "scholar" | "scihub" | "sciencedirect" | "springer" | "scopus" | "crossref" | "all" | undefined; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; category?: string | undefined; days?: number | undefined; fetchDetails?: boolean | undefined; fieldsOfStudy?: string[] | undefined; sortBy?: "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }>; export declare const SearchArxivSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; category: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; year: z.ZodOptional<z.ZodString>; sortBy: z.ZodOptional<z.ZodEnum<["relevance", "date", "citations"]>>; sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; author?: string | undefined; category?: string | undefined; sortBy?: "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; category?: string | undefined; sortBy?: "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }>; export declare const SearchWebOfScienceSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; sortBy: z.ZodOptional<z.ZodEnum<["relevance", "date", "citations", "title", "author", "journal"]>>; sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; author?: string | undefined; journal?: string | undefined; sortBy?: "title" | "author" | "journal" | "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; sortBy?: "title" | "author" | "journal" | "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }>; export declare const SearchPubMedSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; publicationType: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; sortBy: z.ZodOptional<z.ZodEnum<["relevance", "date"]>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; author?: string | undefined; journal?: string | undefined; sortBy?: "relevance" | "date" | undefined; publicationType?: string[] | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; sortBy?: "relevance" | "date" | undefined; publicationType?: string[] | undefined; }>; export declare const SearchBioRxivSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; days: z.ZodOptional<z.ZodNumber>; category: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; category?: string | undefined; days?: number | undefined; }, { query: string; maxResults?: number | undefined; category?: string | undefined; days?: number | undefined; }>; export declare const SearchMedRxivSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; days: z.ZodOptional<z.ZodNumber>; category: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; category?: string | undefined; days?: number | undefined; }, { query: string; maxResults?: number | undefined; category?: string | undefined; days?: number | undefined; }>; export declare const SearchSemanticScholarSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; fieldsOfStudy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; fieldsOfStudy?: string[] | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; fieldsOfStudy?: string[] | undefined; }>; export declare const SearchIACRSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; fetchDetails: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; fetchDetails?: boolean | undefined; }, { query: string; maxResults?: number | undefined; fetchDetails?: boolean | undefined; }>; export declare const DownloadPaperSchema: z.ZodObject<{ paperId: z.ZodString; platform: z.ZodEnum<["arxiv", "biorxiv", "medrxiv", "semantic", "iacr", "scihub", "springer", "wiley"]>; savePath: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { platform: "arxiv" | "biorxiv" | "medrxiv" | "semantic" | "iacr" | "scihub" | "springer" | "wiley"; paperId: string; savePath?: string | undefined; }, { platform: "arxiv" | "biorxiv" | "medrxiv" | "semantic" | "iacr" | "scihub" | "springer" | "wiley"; paperId: string; savePath?: string | undefined; }>; export declare const SearchGoogleScholarSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; yearLow: z.ZodOptional<z.ZodNumber>; yearHigh: z.ZodOptional<z.ZodNumber>; author: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; author?: string | undefined; yearLow?: number | undefined; yearHigh?: number | undefined; }, { query: string; maxResults?: number | undefined; author?: string | undefined; yearLow?: number | undefined; yearHigh?: number | undefined; }>; export declare const GetPaperByDoiSchema: z.ZodObject<{ doi: z.ZodString; platform: z.ZodDefault<z.ZodOptional<z.ZodEnum<["arxiv", "webofscience", "all"]>>>; }, "strip", z.ZodTypeAny, { platform: "arxiv" | "webofscience" | "all"; doi: string; }, { doi: string; platform?: "arxiv" | "webofscience" | "all" | undefined; }>; export declare const SearchSciHubSchema: z.ZodObject<{ doiOrUrl: z.ZodString; downloadPdf: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; savePath: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { doiOrUrl: string; downloadPdf: boolean; savePath?: string | undefined; }, { doiOrUrl: string; savePath?: string | undefined; downloadPdf?: boolean | undefined; }>; export declare const CheckSciHubMirrorsSchema: z.ZodObject<{ forceCheck: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { forceCheck: boolean; }, { forceCheck?: boolean | undefined; }>; export declare const SearchScienceDirectSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; openAccess: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; }>; export declare const SearchSpringerSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; subject: z.ZodOptional<z.ZodString>; openAccess: z.ZodOptional<z.ZodBoolean>; type: z.ZodOptional<z.ZodEnum<["Journal", "Book", "Chapter"]>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; type?: "Journal" | "Book" | "Chapter" | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; subject?: string | undefined; }, { query: string; type?: "Journal" | "Book" | "Chapter" | undefined; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; subject?: string | undefined; }>; export declare const SearchWileySchema: z.ZodObject<{ query: z.ZodString; }, "strip", z.ZodTypeAny, { query: string; }, { query: string; }>; export declare const SearchScopusSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; journal: z.ZodOptional<z.ZodString>; affiliation: z.ZodOptional<z.ZodString>; subject: z.ZodOptional<z.ZodString>; openAccess: z.ZodOptional<z.ZodBoolean>; documentType: z.ZodOptional<z.ZodEnum<["ar", "cp", "re", "bk", "ch"]>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; subject?: string | undefined; affiliation?: string | undefined; documentType?: "ar" | "cp" | "re" | "bk" | "ch" | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; journal?: string | undefined; openAccess?: boolean | undefined; subject?: string | undefined; affiliation?: string | undefined; documentType?: "ar" | "cp" | "re" | "bk" | "ch" | undefined; }>; export declare const SearchCrossrefSchema: z.ZodObject<{ query: z.ZodString; maxResults: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; year: z.ZodOptional<z.ZodString>; author: z.ZodOptional<z.ZodString>; sortBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["relevance", "date", "citations"]>>>; sortOrder: z.ZodDefault<z.ZodOptional<z.ZodEnum<["asc", "desc"]>>>; }, "strip", z.ZodTypeAny, { query: string; maxResults: number; sortBy: "relevance" | "date" | "citations"; sortOrder: "asc" | "desc"; year?: string | undefined; author?: string | undefined; }, { query: string; maxResults?: number | undefined; year?: string | undefined; author?: string | undefined; sortBy?: "relevance" | "date" | "citations" | undefined; sortOrder?: "asc" | "desc" | undefined; }>; export declare const GetPlatformStatusSchema: z.ZodObject<{ validate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { validate: boolean; }, { validate?: boolean | undefined; }>; export type ToolName = 'search_papers' | 'search_arxiv' | 'search_webofscience' | 'search_pubmed' | 'search_biorxiv' | 'search_medrxiv' | 'search_semantic_scholar' | 'search_iacr' | 'download_paper' | 'search_google_scholar' | 'get_paper_by_doi' | 'search_scihub' | 'check_scihub_mirrors' | 'get_platform_status' | 'search_sciencedirect' | 'search_springer' | 'search_wiley' | 'search_scopus' | 'search_crossref'; export declare function parseToolArgs(toolName: ToolName, args: unknown): any; //# sourceMappingURL=schemas.d.ts.map