DocScan MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DocScan MCP Serversearch my docs for tax documents from 2023"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DocScan MCP Server
DocScan is a Model Context Protocol (MCP) server that allows you to scan, index, and search through your local documents using advanced document understanding (via Docling) and local vector search.
Features
Multi-format Support: Parses PDF, DOCX, PPTX, XLSX, HTML, Markdown, and more.
Image Support (Performance-first): OCRs standalone images and selectively OCRs weak/empty-text PDF pages.
Advanced PDF Parsing: Uses Docling for high-fidelity document understanding, including tables and complex layouts.
Vector Search: Indexes document chunks into a local persistent vector index for semantic search.
Asynchronous Indexing: Decouples indexing from searching to prevent timeouts on large document sets.
MCP Integration: Exposes
search_docsandreindex_docstools.
Related MCP server: vectorise-mcp
Setup
Prerequisites
Python (preferably 3.14)
uv(recommended for dependency management)
Installation
Clone this repository.
Install dependencies:
uv syncPut
uv run src/main.pyin your MCP config
Example for Copilot:
{
"mcpServers": {
"docscan": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "/absolute/path/to/docscan", "run", "src/main.py"]
}
}
}Adding Documents
Place the documents you want to index into the store/ directory. Supported formats include:
.pdf,.docx,.pptx,.xlsx.md,.txt,.html.png,.jpg,.jpeg(via OCR)
Usage
Running the Server
You can run the server directly:
uv run src/main.pyOr via fastmcp
fastmcp run src/main.py --transport http --port 8001 --host 0.0.0.0(change transport and arguments to taste)
Indexing Documents
Before you can search, you must build the index. Use the reindex_docs tool from your MCP client. This only needs to be done once or when you add/change files.
Note: Large documents (like some PDFs) may take a few minutes to process.
reindex_docs is incremental: it persists a manifest (vectorstore.db.manifest.json) and only reprocesses files whose size/mtime changed, reuses unchanged chunks and embeddings, and removes deleted files from the index.
This server cannot be deployed
Maintenance
Related MCP Connectors
DocBase MCP server for AI agents
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
MCP server for querying Forkast documentation
Related MCP Servers
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.36 npmMIT
- AlicenseNot gradedqualityDmaintenanceLocal MCP server that indexes folders of documents into a hybrid vector + keyword search index for Claude Desktop, with support for PDFs, Office files, and images via OCR.MIT
- AlicenseAqualityDmaintenanceA local-first document retrieval MCP server that enables AI coding tools like Codex to search private local documents via semantic search and keyword boost, supporting ingestion of PDF, DOCX, TXT, Markdown, and HTML files.7MIT
- AlicenseNot gradedqualityBmaintenanceA local-first semantic search server for documents, supporting PDFs, Office files, and text/markdown, enabling natural language search via the Model Context Protocol (MCP).1MIT