get_arxiv_pdf_url
Extract direct PDF download links from arXiv paper URLs or IDs to access research papers for reading or citation.
Instructions
获取 arXiv PDF 下载链接
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"input": "<input>"
},
"name": "get_arxiv_pdf_url"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | arXiv 论文URL(如:http://arxiv.org/abs/2403.15137v1)或 arXiv ID(如:2403.15137v1) |
Implementation Reference
- src/index.ts:163-182 (handler)The core handler function that generates the arXiv PDF URL from either a full arXiv URL (by replacing '/abs/' with '/pdf/') or directly from the arXiv ID.
function getArxivPdfUrl(input: string): string { try { let arxivId: string; let pdfUrl: string; if (input.startsWith('http://') || input.startsWith('https://')) { const urlParts = input.split('/'); arxivId = urlParts[urlParts.length - 1]; pdfUrl = input.replace('/abs/', '/pdf/') + '.pdf'; } else { arxivId = input; pdfUrl = `http://arxiv.org/pdf/${arxivId}.pdf`; } return pdfUrl; } catch (error) { console.error("获取 PDF 链接时出错:", error); throw new Error(`获取PDF链接失败: ${error instanceof Error ? error.message : String(error)}`); } } - src/index.ts:355-364 (schema)Input schema definition specifying the required 'input' parameter as a string (arXiv URL or ID).
inputSchema: { type: "object", properties: { input: { type: "string", description: "arXiv 论文URL(如:http://arxiv.org/abs/2403.15137v1)或 arXiv ID(如:2403.15137v1)" } }, required: ["input"] } - src/index.ts:353-365 (registration)Tool metadata registration in ListToolsRequestHandler, including name, description, and input schema.
name: "get_arxiv_pdf_url", description: "获取 arXiv PDF 下载链接", inputSchema: { type: "object", properties: { input: { type: "string", description: "arXiv 论文URL(如:http://arxiv.org/abs/2403.15137v1)或 arXiv ID(如:2403.15137v1)" } }, required: ["input"] } }, - src/index.ts:425-435 (registration)Tool dispatch registration in CallToolRequestHandler: extracts input, calls the handler function, and returns the PDF URL in the response format.
case "get_arxiv_pdf_url": { const { input } = args as { input: string }; const pdfUrl = getArxivPdfUrl(input); return { content: [{ type: "text", text: `PDF 下载链接: ${pdfUrl}` }] }; }