AI Research Assistant MCP
# AI Research Assistant MCP
An **MCP-powered AI research assistant** for discovering, understanding, comparing, and organizing academic papers.
The server connects to **arXiv** for paper discovery and uses **Gemini** to perform research-oriented analysis. It is designed to help researchers move from finding papers to understanding their methods, limitations, and potential research gaps.
## Features
### š Paper Discovery
Search arXiv using a research topic or keyword.
The server returns:
* Paper title
* Authors
* Abstract
* Publication date
* Updated date
* arXiv URL
* PDF URL
### š Paper Retrieval
Retrieve detailed information about a specific paper using its arXiv ID or URL.
### š Paper Summarization
Generate a structured research-oriented summary covering:
* Research problem
* Proposed approach
* Key results
* Main contribution
* Why the work matters
### āļø Paper Comparison
Compare multiple papers across:
* Research problem
* Core method
* Model/retrieval architecture
* Dataset or evaluation
* Results
* Strengths
* Weaknesses
* Differences
* Common findings
* Research opportunities
### š¬ Methodology Analysis
Extract and explain the methodology of a paper, including:
* Research objective
* Architecture
* Main technique
* Data used
* Training/retrieval process
* Evaluation method
* Technical components
### ā ļø Limitation Analysis
Analyze papers for:
* Explicit limitations
* Methodological weaknesses
* Evaluation limitations
* Dataset limitations
* Generalization concerns
* Computational concerns
* Future research questions
The assistant distinguishes between limitations explicitly supported by the paper and potential research questions inferred from the available information.
### š” Research Gap Discovery
Given a research topic and multiple papers, identify **potential research gaps** and provide:
* Gap
* Evidence from the literature
* Why the gap matters
* Possible research question
* Possible experiment
* Expected contribution
The system is instructed not to present an unverified gap as an established fact.
### š¾ Research Library
Papers can be saved locally to create a personal research library.
Available operations include:
* Save a paper
* List saved papers
* Search saved papers
Saved papers are stored in `saved_papers.json`.
## Architecture
AI Client
ā
ā MCP
ā¼
āāāāāāāāāāāāāāāāāāāāāāā
ā AI Research ā
ā Assistant Server ā
āāāāāāāāāāāā¬āāāāāāāāāāā
ā
āāāāāāāāā“āāāāāāāāā
ā ā
ā¼ ā¼
arXiv Gemini
Paper Search AI Analysis
ā ā
āāāāāāāāā¬āāāāāāāāā
ā¼
Research Insights
The server is implemented with **FastMCP** and exposes research capabilities as MCP tools.
## MCP Tools
The current server provides:
search_papers()
get_paper()
summarize_paper()
compare_papers()
extract_methodology()
extract_limitations()
find_research_gaps()
save_paper()
list_saved_papers()
search_saved_papers()
## Technology Stack
* Python 3.11+
* FastMCP
* Model Context Protocol (MCP)
* arXiv API
* Google Gemini API
* Requests
* JSON-based local storage
## Project Structure
```text
research-assistant/
ā
āāā src/
ā āāā research_assistant/
ā āāā __init__.py
ā
āāā server.py
āāā pyproject.toml
āāā README.md
āāā .gitignore
āāā .python-version
```
## Setup
Install the project dependencies with:
```bash
uv sync
```
Set your Gemini API key as an environment variable:
```text
GEMINI_API_KEY=your_api_key
```
Do not commit API keys or `.env` files to GitHub.
## Running the Server
Run the MCP server locally:
```bash
uv run server.py
```
## Testing with MCP Inspector
Run:
```bash
uv run fastmcp dev inspector server.py
```
The MCP Inspector can then be used to test the available tools and verify their responses.
## Example Workflow
A typical research workflow can look like:
Research Topic
ā
Search Papers
ā
Select Relevant Papers
ā
Retrieve Paper Details
ā
Summarize Papers
ā
Compare Papers
ā
Analyze Methodology
ā
Analyze Limitations
ā
Identify Potential Research Gaps
ā
Save Important Papers
For example:
text
"Find papers about retrieval augmented generation
and identify potential research gaps."
The assistant can search the literature, retrieve relevant papers, analyze them, and use the available paper information to identify potential research directions.
## Research Focus
The project is being developed with a particular interest in **Generative AI and Retrieval-Augmented Generation (RAG)** research.
Potential future research workflows include studying:
* CRAG
* Self-RAG
* RAG evaluation
* Retrieval quality
* Hallucination reduction
* Semantic retrieval
* Conflicting evidence
* Research-paper comparison
* Literature-gap discovery
## Current Status
š§ **Active development**
Current capabilities focus on:
**Paper discovery ā Paper analysis ā Paper comparison ā Research-gap exploration ā Personal paper library**
Future versions can extend this into deeper paper-level analysis, full-text research, retrieval over saved papers, and more advanced research workflows.
## Author
**Khushi Sonwane**
Built as a hands-on project exploring **Generative AI, MCP, academic research workflows, and RAG systems**.
TDQS
Scored across 10 tools
Each tool addresses a distinct research task: searching external papers, retrieving details, summarizing, comparing, extracting methodology, managing a personal library, identifying limitations, finding gaps, and saving papers. No two tools overlap in intent; even summarize_paper and extract_methodology focus on different aspects (overall summary vs. specific technical approach).
All tool names follow a consistent verb_noun pattern using snake_case (e.g., search_papers, get_paper, list_saved_papers, find_research_gaps). The verbs clearly describe the action and the nouns the target, making the naming predictable and easy to parse.
With 10 tools, the server is well-scoped for a research assistant. Each tool serves a necessary function in the search-analyze-save pipeline, and the count is neither sparse nor bloated, matching the domain scope appropriately.
The tool surface covers the core research workflow: search, retrieve, summarize, compare, extract methodology, identify limitations, find gaps, and manage a saved library. The only minor omission is a removal/delete operation for saved papers, but this does not create a dead end for typical use cases.