get_paper
Retrieve detailed information about academic papers using their arXiv ID, including metadata and content extraction from PDFs.
Instructions
Get details about a specific paper by its arXiv ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | arXiv paper ID (e.g., 2104.13478 or cs/0001001) |
Implementation Reference
- src/index.ts:331-345 (handler)The main handler function that executes the get_paper tool logic. It queries the arXiv API with the provided paper_id as id_list, processes the response, and returns the paper details as JSON.private async getPaper(args: GetPaperArgs) { const searchParams: SearchParams = { id_list: args.paper_id, }; const response = await this.queryArxiv(searchParams); return { content: [ { type: 'text', text: JSON.stringify(response, null, 2), }, ], }; }
- src/index.ts:155-168 (registration)Registration of the get_paper tool in the ListTools handler, including name, description, and input schema.{ name: 'get_paper', description: 'Get details about a specific paper by its arXiv ID', inputSchema: { type: 'object', properties: { paper_id: { type: 'string', description: 'arXiv paper ID (e.g., 2104.13478 or cs/0001001)', }, }, required: ['paper_id'], }, },
- src/index.ts:223-230 (handler)Dispatcher case in CallToolRequestHandler that validates input and calls the getPaper handler.case 'get_paper': if (!request.params.arguments || typeof request.params.arguments.paper_id !== 'string') { throw new McpError( ErrorCode.InvalidParams, 'Missing or invalid paper_id parameter' ); } return await this.getPaper(request.params.arguments as unknown as GetPaperArgs);
- src/index.ts:45-47 (schema)TypeScript interface defining the input arguments for the get_paper tool.interface GetPaperArgs { paper_id: string; }