Reads pages as images - figures and tables included

Upload a paper. Get an expert read of the whole thing.

Academic Paper Analyst renders each page of an academic PDF to an image and sends it to a vision-language model, so figures, tables, and layout are actually seen - not just the extracted text. You get a structured report with page citations, then chat with the paper. Runs on a local model or in the cloud on Claude.

What it does

It reads the paper, not just the text

A vision model looks at every page, so nothing that lives in a figure or a table is lost.

๐Ÿ–ผ๏ธ

Visual page reading

Every page is rendered to an image with PyMuPDF and read by a vision-language model - figures, tables, equations, and layout, not OCR'd text.

๐Ÿงพ

Structured report

Overview, contributions, methodology, findings, figure analysis, strengths, limitations, and a TL;DR - a consistent format every time.

๐Ÿ“Œ

Source panel

The analyzed pages attach as a clickable Source side panel, so every claim can be checked against the paper itself.

๐Ÿ’ฌ

Chat with the paper

Ask follow-up questions about the same document - the model keeps the paper in context and answers in the chat.

๐Ÿ”Œ

MCP tools

Connect filesystem or fetch MCP servers from the UI to load PDFs from disk or pull in web context, called through the tool interface.

๐Ÿ 

Local or cloud

Default is a local model in LM Studio - your paper never leaves the machine. Set ANTHROPIC_API_KEY to run it in the cloud on Claude.

How it works

From PDF to structured analysis

The path a paper travels, from upload to a report you can question.

01

Upload

Drop a paper PDF into the chat (page and size limits guard the token budget).

02

Render

PyMuPDF renders each page to an image and downscales past a max edge.

03

See

The pages go to a vision model as images, in order, with the analysis prompt.

04

Report

A structured, page-cited analysis streams back into the chat.

05

Ask

Follow up on the same paper, or connect MCP tools for more context.

Under the hood

Architecture

A Chainlit chat app over an OpenAI-compatible client, pointed at a local or cloud vision model. The UI is styled to match the multimodal RAG AI tutor.

Browser (Chainlit chat UI)
  โ”‚ upload PDF ยท stream analysis
app.py ยท Chainlit + PyMuPDF (pages rendered to images)
  โ”œโ”€ Vision-language model โ€” LM Studio (local, default) or Claude via Anthropic (cloud)
  โ””โ”€ MCP tools โ€” filesystem / fetch, over the OpenAI tool interface
Chainlit chat UI PyMuPDF page render OpenAI SDK client Claude Opus 4.8 (cloud) LM Studio (local VLM) MCP tools Docker ยท Render

Run it locally or deploy it

Fully offline with LM Studio, or one Blueprint away from a cloud deploy on Render with Claude.

# local (fully offline)
$ cd src/pdf-summarizer-chatbot && pip install -r requirements.txt
$ chainlit run app.py -w  # http://localhost:8000

# cloud: Render > New > Blueprint > this repo, then set
ANTHROPIC_API_KEY  # enables Claude Opus 4.8
APP_PASSWORD + CHAINLIT_AUTH_SECRET # optional password gate
Get the source ->

Local runs stay on your machine. A cloud deploy sends page images to Claude's API; gate it with a password for shared use.