← Back to search

TitanSneaker/paper-search-mcp-openai-v2

TitanSneaker Scanned 5d ago

Find and download academic papers from leading sources like arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic Scholar, CrossRef, and IACR. Get standardized results and fetch full-text PDFs when available. Accelerate literature reviews with deep search and effortless retrieval.

Smithery
C
71.5 / 100

Versions

unversionedlatest
first seen Aug 21, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 25

search
annotations: none low

Deep Research compatible search tool aggregating across sources.

query str max_results int
fetch
annotations: none low

Fetch full document content for a search result.

id string document_id string
search_arxiv
annotations: none low

Search academic papers from arXiv. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

query str max_results int
search_pubmed
annotations: none low

Search academic papers from PubMed. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

query str max_results int
search_biorxiv
annotations: none low

Search academic papers from bioRxiv. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

query str max_results int
search_medrxiv
annotations: none low

Search academic papers from medRxiv. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

query str max_results int
search_google_scholar
annotations: none low

Search academic papers from Google Scholar. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

query str max_results int
search_iacr
annotations: none low

Search academic papers from IACR ePrint Archive. Args: query: Search query string (e.g., 'cryptography', 'secret sharing'). max_results: Maximum number of papers to return (default: 10). fetch_details: Whether to fetch detailed information for each paper (default: True). Returns: List of paper metadata in dictionary format.

query str max_results int fetch_details bool
download_arxiv
annotations: none low

Download PDF of an arXiv paper. Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

paper_id str save_path str
download_pubmed
annotations: none low

Attempt to download PDF of a PubMed paper. Args: paper_id: PubMed ID (PMID). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported.

paper_id str save_path str
download_biorxiv
annotations: none low

Download PDF of a bioRxiv paper. Args: paper_id: bioRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

paper_id str save_path str
download_medrxiv
annotations: none low

Download PDF of a medRxiv paper. Args: paper_id: medRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

paper_id str save_path str
download_iacr
annotations: none low

Download PDF of an IACR ePrint paper. Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

paper_id str save_path str
read_arxiv_paper
annotations: none low

Read and extract text content from an arXiv paper PDF. Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

paper_id str save_path str
read_pubmed_paper
annotations: none low

Read and extract text content from a PubMed paper. Args: paper_id: PubMed ID (PMID). save_path: Directory where the PDF would be saved (unused). Returns: str: Message indicating that direct paper reading is not supported.

paper_id str save_path str
read_biorxiv_paper
annotations: none low

Read and extract text content from a bioRxiv paper PDF. Args: paper_id: bioRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

paper_id str save_path str
read_medrxiv_paper
annotations: none low

Read and extract text content from a medRxiv paper PDF. Args: paper_id: medRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

paper_id str save_path str
read_iacr_paper
annotations: none low

Read and extract text content from an IACR ePrint paper PDF. Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

paper_id str save_path str
search_semantic
annotations: none low

Search academic papers from Semantic Scholar. Args: query: Search query string (e.g., 'machine learning'). year: Optional year filter (e.g., '2019', '2016-2020', '2010-', '-2015'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

year string query str max_results int
download_semantic
annotations: none low

Download PDF of a Semantic Scholar paper. Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI:<doi> (e.g., "DOI:10.18653/v1/N18-3011") - ARXIV:<id> (e.g., "ARXIV:2106.15928") - MAG:<id> (e.g., "MAG:112218234") - ACL:<id> (e.g., "ACL:W12-3903") - PMID:<id> (e.g., "PMID:19872477") - PMCID:<id> (e.g., "PMCID:2323736") - URL:<url> (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

paper_id str save_path str
read_semantic_paper
annotations: none low

Read and extract text content from a Semantic Scholar paper. Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI:<doi> (e.g., "DOI:10.18653/v1/N18-3011") - ARXIV:<id> (e.g., "ARXIV:2106.15928") - MAG:<id> (e.g., "MAG:112218234") - ACL:<id> (e.g., "ACL:W12-3903") - PMID:<id> (e.g., "PMID:19872477") - PMCID:<id> (e.g., "PMCID:2323736") - URL:<url> (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

paper_id str save_path str
search_crossref
annotations: none low

Search academic papers from CrossRef database. CrossRef is a scholarly infrastructure organization that provides persistent identifiers (DOIs) for scholarly content and metadata. It's one of the largest citation databases covering millions of academic papers, journals, books, and other scholarly content. Args: query: Search query string (e.g., 'machine learning', 'climate change'). max_results: Maximum number of papers to return (default: 10, max: 1000). **kwargs: Additional search parameters: - filter: CrossRef filter string (e.g., 'has-full-text:true,from-pub-date:2020') - sort: Sort field ('relevance', 'published', 'updated', 'deposited', etc.) - order: Sort order ('asc' or 'desc') Returns: List of paper metadata in dictionary format. Examples: # Basic search search_crossref("deep learning", 20) # Search with filters search_crossref("climate change", 10, filter="from-pub-date:2020,has-full-text:true") # Search sorted by publication date search_crossref("neural networks", 15, sort="published", order="desc")

query str max_results int
get_crossref_paper_by_doi
annotations: none low

Get a specific paper from CrossRef by its DOI. Args: doi: Digital Object Identifier (e.g., '10.1038/nature12373'). Returns: Paper metadata in dictionary format, or empty dict if not found. Example: get_crossref_paper_by_doi("10.1038/nature12373")

doi str
download_crossref
annotations: none low

Attempt to download PDF of a CrossRef paper. Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported. Note: CrossRef is a citation database and doesn't provide direct PDF downloads. Use the DOI to access the paper through the publisher's website.

paper_id str save_path str
read_crossref_paper
annotations: none low

Attempt to read and extract text content from a CrossRef paper. Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Message indicating that direct paper reading is not supported. Note: CrossRef is a citation database and doesn't provide direct paper content. Use the DOI to access the paper through the publisher's website.

paper_id str save_path str

Permissions 3

network medium
Server uses network capabilities via: httpx, requests
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
env_vars low
Server uses env_vars capabilities via: os.environ, os.getenv()

Scan Findings 66

low
Tool 'search' has no annotations annotation_checker · 100%
low
Tool 'fetch' has no annotations annotation_checker · 100%
low
Tool 'search_arxiv' has no annotations annotation_checker · 100%
low
Tool 'search_pubmed' has no annotations annotation_checker · 100%
low
Tool 'search_biorxiv' has no annotations annotation_checker · 100%
low
Tool 'search_medrxiv' has no annotations annotation_checker · 100%
low
Tool 'search_google_scholar' has no annotations annotation_checker · 100%
low
Tool 'search_iacr' has no annotations annotation_checker · 100%
low
Tool 'download_arxiv' has no annotations annotation_checker · 100%
low
Tool 'download_pubmed' has no annotations annotation_checker · 100%
low
Tool 'download_biorxiv' has no annotations annotation_checker · 100%
low
Tool 'download_medrxiv' has no annotations annotation_checker · 100%
low
Tool 'download_iacr' has no annotations annotation_checker · 100%
low
Tool 'read_arxiv_paper' has no annotations annotation_checker · 100%
low
Tool 'read_pubmed_paper' has no annotations annotation_checker · 100%
low
Tool 'read_biorxiv_paper' has no annotations annotation_checker · 100%
low
Tool 'read_medrxiv_paper' has no annotations annotation_checker · 100%
low
Tool 'read_iacr_paper' has no annotations annotation_checker · 100%
low
Tool 'search_semantic' has no annotations annotation_checker · 100%
low
Tool 'download_semantic' has no annotations annotation_checker · 100%
low
Tool 'read_semantic_paper' has no annotations annotation_checker · 100%
low
Tool 'search_crossref' has no annotations annotation_checker · 100%
low
Tool 'get_crossref_paper_by_doi' has no annotations annotation_checker · 100%
low
Tool 'download_crossref' has no annotations annotation_checker · 100%
low
Tool 'read_crossref_paper' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: PyPDF2@3.0.0 (GHSA-4vvm-4w3v-6mr8) dependency_analyzer · 95%
medium
Vulnerable dependency: PyPDF2@3.0.0 (PYSEC-2026-1835) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@4.9.0 (GHSA-vfmq-68hx-4jfw) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@4.9.0 (GHSA-wrxv-2j5q-m38w) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@4.9.0 (PYSEC-2022-230) dependency_analyzer · 95%
medium
Vulnerable dependency: lxml@4.9.0 (PYSEC-2026-87) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: search manifest_parser · 90%
info
Tool: fetch manifest_parser · 90%
info
Tool: search_arxiv manifest_parser · 90%
info
Tool: search_pubmed manifest_parser · 90%
info
Tool: search_biorxiv manifest_parser · 90%
info
Tool: search_medrxiv manifest_parser · 90%
info
Tool: search_google_scholar manifest_parser · 90%
info
Tool: search_iacr manifest_parser · 90%
info
Tool: download_arxiv manifest_parser · 90%
info
Tool: download_pubmed manifest_parser · 90%
info
Tool: download_biorxiv manifest_parser · 90%
info
Tool: download_medrxiv manifest_parser · 90%
info
Tool: download_iacr manifest_parser · 90%
info
Tool: read_arxiv_paper manifest_parser · 90%
info
Tool: read_pubmed_paper manifest_parser · 90%
info
Tool: read_biorxiv_paper manifest_parser · 90%
info
Tool: read_medrxiv_paper manifest_parser · 90%
info
Tool: read_iacr_paper manifest_parser · 90%
info
Tool: search_semantic manifest_parser · 90%
info
Tool: download_semantic manifest_parser · 90%
info
Tool: read_semantic_paper manifest_parser · 90%
info
Tool: search_crossref manifest_parser · 90%
info
Tool: get_crossref_paper_by_doi manifest_parser · 90%
info
Tool: download_crossref manifest_parser · 90%
info
Tool: read_crossref_paper manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (7) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%