read_crossref_paper
Extract text content from academic papers using CrossRef DOIs. Note: CrossRef provides citation data; access full papers through publisher websites.
Instructions
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.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | ||
| save_path | No | ./downloads |
Implementation Reference
- paper_search_mcp/server.py:846-859 (handler)The MCP tool handler in server.py which delegates the reading request to the crossref_searcher instance.
async def read_crossref_paper(paper_id: str, save_path: str = "./downloads") -> str: """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. """ return crossref_searcher.read_paper(paper_id, save_path) - The implementation of read_paper in the CrossRefSearcher class, which explicitly returns an informative message that reading is not supported.
def read_paper(self, paper_id: str, save_path: str = "./downloads") -> str: """ CrossRef doesn't provide direct paper content access. Args: paper_id: DOI of the paper save_path: Directory for potential PDF storage (unused) Returns: str: Error message indicating PDF reading is not supported """ message = ("CrossRef papers cannot be read directly through this tool. " "CrossRef is a citation database that provides metadata about academic papers. " "Only metadata and abstracts are available through CrossRef's API. " "To access the full text, please use the paper's DOI or URL to visit the publisher's website.") return message