autoContents MCP
Builds clickable bookmarks for a scanned PDF from its contents page and runs as an MCP server for Claude Desktop
- 273 ★ on the repository
- Last commit
Extended access
Why this level
- Document pages are sent to the model provider under your API key, so confidential scans should not be uploaded before reading the provider's terms
- The program writes the PDF with bookmarks and keeps the API key in a `.env` file or in the client's environment variables
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/autocontentsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Document pages are sent to the model provider under your API key, so confidential scans should not be uploaded before reading the provider's terms
- The program writes the PDF with bookmarks and keeps the API key in a `.env` file or in the client's environment variables
This is third-party code. Review the repository files before installing.
What it does
autoContents adds bookmarks to a scanned PDF that has a contents page. The pages become images, a vision-capable model reads chapter titles and page numbers, and the program writes the finished bookmarks into the document. The README puts processing at about a minute. A separate step decides the nesting levels. Roman page numbers in the preface are converted into an offset from the main numbering, so chapters after the preface land on the right pages. Books and documents in Chinese and English fit, as long as the contents are printed on a page. The program starts in two ways. The first is a local Flask web page: you drop a PDF into the window and set the API key, service address and model in the settings or in a `.env` file. The second is an MCP server from `mcp_server.py` with the tools `generate_pdf_bookmarks` and `check_llm_config` that an agent calls. Any model with an OpenAI-compatible API and image support works. The README lists Qwen, InternAI, OpenAI and DeepSeek.
Who it is for. People who work with scanned books, theses and reports and want a working bookmark panel in the PDF without marking it up by hand.
Good fit when
- A scanned book opens without a bookmark panel while its contents are printed near the front
- The preface uses Roman numerals, and chapter bookmarks have to land on the correct pages of the main body
- You want to start bookmark building from a Claude Desktop chat by calling the `generate_pdf_bookmarks` tool
- You need to switch the labelling model to another one with an OpenAI-compatible API without editing code
Not a fit when
- The document has no contents page: the program reads that page and does not build bookmarks from chapter text
- The file is confidential and images of its pages must not go to an external model provider
- You need full-text search over scans: the tool adds bookmarks and does not create a recognized text layer
- The document is in another language or has an unusual contents layout that you have not tried on a sample
Example request
Build bookmarks for scan-book.pdf from its contents page and save the result next to the original fileMCP
- Transport
- stdio
- Authentication
- API key
Environment variables
AUTOCONTENTS_API_KEYrequired, secret- API key of the service that hosts the image-capable model
AUTOCONTENTS_BASE_URL- Address of the OpenAI-compatible service, defaults to the Alibaba Bailian compatible endpoint
AUTOCONTENTS_MODEL- Model name, defaults to `qwen3.5-397b-a17b`
Limitations
- The model must accept images and an API key is required. The pages the model reads go to the chosen provider.
- Per the README, documents need a separate contents page and should be in Chinese or English.
- MCP mode needs the `uv` package manager and Python 3.13 or newer, and the project path in the client config has to be replaced with your own.
- GitHub did not detect the licence automatically, so read the terms in the repository's `LICENSE` file.
- The interface and documentation are in Chinese, with few English hints in the README.
How to disable. Remove the `autoContents` block from `mcpServers` in the client config and restart the client. Stop the web version by closing the launch window. You can delete the program folder together with the `.env` file that holds the API key.
FAQ
What does autoContents do to a PDF?
It reads the contents page of a scanned document through a vision-capable model and writes bookmarks with jump targets into the PDF. The README says the result arrives in about a minute.
How do I connect autoContents to Claude Desktop?
Add an MCP block with the command `uv`, the arguments `run --project <path> python <path>/mcp_server.py` and the `AUTOCONTENTS_API_KEY` variable, then restart the client. The tools `generate_pdf_bookmarks` and `check_llm_config` appear in the tool list.
Which model works?
Any model with an OpenAI-compatible API and image support. The README covers Qwen through Alibaba Bailian and InternAI, and other providers need a key, a service address and a model name. MCP mode defaults to `qwen3.5-397b-a17b`.
Do I need Python for the regular version?
No. The archive from the Releases page ships launch files `启动 autoContents.command` for macOS and `启动 autoContents.bat` for Windows, so neither Python nor dependencies need installing. You enter the API key on the page at first start.
Where do the document pages go?
The pages the model reads are sent to the provider of the chosen model. If an external provider is not acceptable, point the tool at your own model with an OpenAI-compatible interface and image support.
Discussion
No questions or reviews yet.
Related
MCP serversMCP PDF for large documents: the agent searches by meaning and keyword across one file or a folder and reads only the pages, tables and scans it needs
PageIndex MCP: long PDFs for an agent
PageIndex MCP
An MCP server that lets an agent read long PDFs through a document tree: retrieval by reasoning instead of a vector database
MCP PDF from ComPDF: the agent converts PDFs and images to Word, Excel, Markdown and JSON and merges, splits, protects and compares files via a cloud API
PDF Tools for Claude Desktop and MCP hosts: form filling, signing, merging, splitting and data extraction done locally.
PDF extraction with self-checking: unreadable pages get a flag and never vanish silently, plus an MCP server for Claude
An MCP server built on Docling: converts PDFs into structured documents, builds new ones and feeds them to RAG
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| autoContents (this card) | no | API key | 273 | |
| pdf-mcp | no | not required | 171 | works with the PDF text layer rather than page images |
| ComPDF MCP | yes | API key | 98 | processes PDFs through ComPDF tools and does not build bookmarks from a contents page |
README in short
The description is in Chinese and covers a tool for scanned PDFs, version 1.1.0. The author credits contributors, links archives for macOS and Windows, explains LLM service setup and keeps a changelog. A separate section describes running the MCP server through `uv`.