gemini_research_paper_analysis
Analyzes research papers using AI to extract key findings, provide critical evaluation, summarize content, and contextualize within academic literature.
Instructions
Performs in-depth analysis of research papers using Google's Gemini-2.0-flash model. Ideal for academic research, literature reviews, and deep understanding of scientific papers. Can extract key findings, provide critical evaluation, summarize complex research, and place papers within the broader research landscape. Best for long-form academic content that requires expert analysis.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paperContent | Yes | The full text of the research paper to analyze | |
| analysisType | No | Type of analysis to perform (summary, critique, literature review, key findings, or comprehensive) | comprehensive |
| additionalContext | No | Optional additional context or specific questions to guide the analysis |
Implementation Reference
- src/tools/handlers.ts:225-261 (handler)The `researchPaperAnalysisHandler` function, which implements the `gemini_research_paper_analysis` tool logic by validating arguments, checking content length, and calling `analyzePaperWithGemini`.
export async function researchPaperAnalysisHandler(args: unknown) { if (!isGeminiResearchPaperAnalysisArgs(args)) { throw new Error("Invalid arguments for gemini_research_paper_analysis"); } const { paperContent, analysisType = "comprehensive", additionalContext } = args; // Check if paper content is too short if (paperContent.length < 100) { return { content: [{ type: "text", text: "The provided paper content is too short for meaningful analysis. Please provide more comprehensive text." }], isError: true, }; } try { console.error(`Analyzing research paper with Gemini (${analysisType} analysis)...`); const analysis = await analyzePaperWithGemini(paperContent, analysisType, additionalContext); return { content: [{ type: "text", text: analysis }], isError: false, }; } catch (error) { console.error("Research paper analysis error:", error); return { content: [{ type: "text", text: `Error analyzing research paper: ${error instanceof Error ? error.message : String(error)}` }], isError: true, }; } } - src/tools/definitions.ts:319-325 (schema)Type guard `isGeminiResearchPaperAnalysisArgs` used to validate input arguments for `gemini_research_paper_analysis`.
export function isGeminiResearchPaperAnalysisArgs( args: unknown ): args is { paperContent: string; analysisType?: string; additionalContext?: string } { return ( typeof args === "object" && args !== null && "paperContent" in args && - src/server.ts:189-189 (registration)The registration and invocation switch case for `gemini_research_paper_analysis` in the main server logic.
case "gemini_research_paper_analysis":