Content
# Anno
A MCP server for reading and annotating together with AI.
**Differences from other co-reading tools:** Anno supports text-level highlighting, not just paragraph-level annotations. You can highlight any sentence, and AI can too - the two sets of highlights and annotations are distinguished by different colors, just like actually leaving your own handwriting on the same book.
Upload PDF / EPUB / TXT and read in the web reader. Built-in night mode, font adjustment, bookmarks, full-text search, and vocabulary notebook.
## Try it out
There is an example book data in `data.example/` (an excerpt from "简单的激情" (Simple Passion)), which includes highlights and annotations from both the reader and Claude. Copy it to the data directory to experience:
```bash
cp -r data.example data
```
## Installation
```bash
cd server
npm install
pip install pymupdf ebooklib
node server.mjs
```
The default port is 3300. You can customize it through environment variables `PORT`, `DATA_DIR`, and `UPLOAD_DIR`.
## Structure
```
client/ Web reader frontend (pure static HTML/CSS/JS)
server/ MCP server + REST API + Python text extraction script
```
## Frontend
Host the `client/` directory with any static file server, or proxy it through a reverse proxy.
## MCP
The server provides the following MCP tools: browsing the bookshelf, flipping pages, writing annotations, highlighting, and bookmark management. It supports two transmission modes: SSE (`/mcp`) and Streamable HTTP (`/mcp`).