Pdf Navigator Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Pdf Navigator Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A comprehensive Model Context Protocol (MCP) server for PDF reading, navigation, and text search with cross-platform PDF viewer integration. Built on PyMuPDF (MuPDF), exposed through MCP so the dependency stays isolated from your project environment.
Claude Code's built-in Read tool can open PDFs directly, so it's fair to ask whether this server is still needed. It is — but for a narrower reason than it used to be. The built-in reader has two limitations that this server is designed around, and a third tool (poppler's pdftotext) doesn't fill the gap either:
The built-in `Read` tool renders each PDF page as a raster image. Two consequences for scientific papers:
pages range (and recent versions require one past ~10 pages), but only if you already know which pages you want.Poppler's `pdftotext` is cheap and searchable but mangles the content scientific papers are made of:
p̃(x;t) comes out as a stray ~ on its own line, split from p(x;t).-layout glues the two columns horizontally so every line reads left-column … right-column, destroying reading order and breaking any phrase search that spans a column.This server uses MuPDF's `get_text()`, which preserves reading order across columns and keeps inline math intact, and exposes it as cheap, searchable text plus structure/outline navigation. The intended division of labor:
| Need | Tool |
|---|---|
| Read text, search to the relevant pages, navigate structure | This server (MuPDF text + search) — cheap, searchable, correct reading order |
| See a figure, panel, rendered equation, or table | Built-in `Read` with a narrow `pages` range — use it for the 1–3 pages that hold the visual, not the whole document |
# Install with pipx (recommended)
pipx install git+https://github.com/matsengrp/pdf-navigator-mcp.git
# Or install in current environment
pip install git+https://github.com/matsengrp/pdf-navigator-mcp.gitAdd to your ~/.claude.json:
{
"mcpServers": {
"pdf-navigator": {
"type": "stdio",
"command": "pdf-navigator-mcp"
}
}
}In Claude Code, you can:
read_pdf_text(file_path, start_page, end_page) - Extract text from page rangeread_pdf_page(file_path, page_number) - Extract text from single pageget_pdf_structure(file_path) - Get table of contents and page summariesget_pdf_info(file_path) - Get document metadatasearch_pdf_text(file_path, query) - Search text and return locationsopen_pdf_page(file_path, page_number) - Open PDF viewer to specific pagesearch_and_open(file_path, query, result_index) - Search and open to resultskim:// URL scheme--page argument--page-index argument-page argument/A page=N argumentConfigure your PDF reader in ~/.pdf-navigator-config.json:
{
"pdf_reader": "skim",
"reader_path": "/Applications/Skim.app"
}git clone https://github.com/matsengrp/pdf-navigator-mcp.git
cd pdf-navigator-mcp
pip install -e ".[dev]"MIT License
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.