DocNav
DocNav is a Model Context Protocol (MCP) server designed to help LLMs read, process, and navigate long-form documents.
claude mcp add --transport stdio shenyimings-docnav-mcp {{PATH_TO_UV}} --directory {{PATH_TO_SRC}} run server.pyHow to use
DocNav is an MCP server that lets LLMs read, navigate, and analyze long documents by providing structured access to document outlines, sections, and search results. It supports loading Markdown documents, extracting sections, generating navigation contexts, and performing content searches across loaded documents. Tools exposed include load_document to ingest a file, get_outline to view the document's structure, read_section to fetch content for a specific section, and search_document to perform queries with contextual results. You can also navigate through a document’s hierarchy with navigate_section and manage loaded documents using list_documents, get_document_stats, and remove_document. To interact with the server, connect via the MCP interface and call these tools as needed; the server is designed to resemble a familiar file- and content-centric navigation workflow, but tailored for LLM-assisted document understanding.
How to install
Prerequisites:
- Python 3.10+
- Git
- uv (the MCP/UV package manager) installed on your system
Installation steps:
-
Clone the repository git clone https://github.com/shenyimings/DocNav-MCP.git cd DocNav-MCP
-
Install dependencies via uv (as described in this project): uv sync
-
Start the MCP server (example): uv run server.py
-
Connect to the MCP server from your client or agent using the provided mcp_config snippet in this document. Adjust the PATH_TO_UV and PATH_TO_SRC placeholders to your environment.
Optional (verification):
- Ensure Python 3.10+ is in your PATH and can run uv and server.py without errors.
- If you encounter module issues, create a virtual environment and reinstall dependencies, then re-run uv sync.
Additional notes
Tips and common issues:
- Use PATH_TO_UV and PATH_TO_SRC placeholders in your MCP configuration to point to your UV executable and the DocNav-MCP source directory, respectively.
- If your environment uses a virtual environment, ensure the uv command is accessible from the shell where you run the MCP server configuration.
- The server currently emphasizes Markdown support; PDF and other formats are planned features—loading additional document processors may be added in future updates.
- For large documents, consider increasing navigation caching or chunking depth when using get_outline with a high max_depth to avoid performance issues.
- If loading documents with sensitive content, ensure appropriate access controls and environment isolation for the MCP server.
Related MCP Servers
mcp -odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
mcp-in-action
极客时间MCP新课已经上线!超2000同学一起开启MCP学习之旅!
asterisk
Asterisk Model Context Protocol (MCP) server.
julia
MCP server for persistent Julia sessions — fast iteration without startup/compilation overhead
BinAssistMCP
Binary Ninja plugin to provide MCP functionality.
mcp-cyberbro
Using MCP is fun with Cyberbro!