get_paper
Retrieve detailed information about a specific academic paper using its arXiv ID. Access metadata, abstracts, and other essential details through the arXiv MCP Server for research and analysis.
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 core handler function `getPaper` that implements the 'get_paper' tool logic. It constructs a search query using the provided paper_id as id_list, calls the shared queryArxiv method to fetch data from arXiv API, processes it, and returns the result as a formatted JSON text content block.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:45-47 (schema)TypeScript type definition for the input arguments of the get_paper tool, specifying the required paper_id parameter.interface GetPaperArgs { paper_id: string; }
- src/index.ts:155-168 (registration)Registration of the 'get_paper' tool in the MCP ListTools response, including name, description, and JSON input schema for validation.{ 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 (registration)Dispatch/registration logic in the CallToolRequest handler that validates the paper_id parameter and invokes the getPaper handler function.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);