Lets an AI client read DOCX, PDF, Excel, and TXT files from the filesystem through one unified tool.
Also known as xt765/mcp_documents_reader, mcp-documents-reader
- Stars
- 23
- Tools
- 1
- Downloads, 30 days
- 570
- Latest version
- 1.3.1
- Last commit
- Oct 16, 2026
- License
- MIT
What is Document Reader MCP?
Document Reader lets an AI client read DOCX, PDF, Excel, and TXT files from the filesystem through one unified tool. It exposes 1 tool, such as filename.
Summary generated from the project's README
About Document Reader MCP server
Extracting text from various file formats directly within your AI assistant is what this tool enables. It provides a single interface for AI agents to access and process content from your local filesystem. By using the read_document tool, an AI client can interpret data from four specific formats: Excel spreadsheets, Word documents, PDFs, and plain text files.
Developers can integrate this server into environments like Claude Desktop or Trae IDE by configuring it through a JSON file using the uvx command. The server runs locally and accesses files via absolute or relative paths provided by the user. It handles the complexity of detecting file types and selecting the appropriate internal reader, such as python-docx for Word files or openpyxl for Excel files, to return the extracted text content to the model.
Written from the project's README. Every use case is checked against a quote from it.
How to install Document Reader MCP
Formats verified 10 Nov 2026Install Document Reader MCP in Claude Code
$ claude mcp add mcp-documents-reader -- uvx mcp-documents-readerInstall Document Reader MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-documents-reader": {
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}Install Document Reader MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-documents-reader": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}Install Document Reader MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-documents-reader": {
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}Install Document Reader MCP in Codex
~/.codex/config.toml
[mcp_servers.mcp-documents-reader] command = "uvx" args = ["mcp-documents-reader"]
Install Document Reader MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mcp-documents-reader": {
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}Document Reader MCP tools 1
Detected from the READMEfilename
| filename | — |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablext765/mcp_documents_reader is public and reachablegithub.com/xt765/mcp_documents_reader ↗Pass
- Package names this repository as its sourcemcp-documents-reader names xt765/mcp_documents_reader as sourcepypi.org/project/mcp-documents-reader/ ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for mcp-documents-readerpypi.org/project/mcp-documents-reader/ ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-16github.com/xt765/mcp_documents_reader ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from mcp-documents-readerPass
- No critical advisory in the package or its dependencies34 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model1 tool description and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubFeatures
- Multi-format Support: Supports 4 mainstream document formats: Excel (XLSX/XLS), DOCX, PDF, and TXT
- MCP Protocol: Compliant with MCP standards, can be used as a tool for AI assistants like Trae IDE
- Easy Integration: Simple configuration for immediate use
- Reliable Performance: Successfully tested and running in Trae IDE
- File System Support: Reads documents directly from the file system
📚 Documentation
User Guide · API Reference · Contributing · Changelog · License
Architecture
graph TB
A[AI Assistant / User] -->|Call read_document| B[MCP Document Reader]
B -->|Detect file type| C{File Type?}
C -->|.docx| D[DOCX Reader]
C -->|.pdf| E[PDF Reader]
C -->|.xlsx/.xls| F[Excel Reader]
C -->|.txt| G[Text Reader]
D -->|Extract text| H[Return Content]
E -->|Extract text| H
F -->|Extract text| H
G -->|Extract text| H
H -->|Text content| A
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#f0f0f0
style D fill:#e8f5e9
style E fill:#e8f5e9
style F fill:#e8f5e9
style G fill:#e8f5e9
style H fill:#fff9c4
Supported Formats
| Format | Extensions | MIME Type | Features |
|---|---|---|---|
| Excel | .xlsx, .xls | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Sheet and cell data extraction |
| DOCX | .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Text and structure extraction |
| application/pdf | Text extraction | ||
| Text | .txt | text/plain | Plain text reading |
Installation
Using pip (Recommended)
pip install mcp-documents-reader
From Source
git clone https://github.com/xt765/mcp_documents_reader.git
cd mcp_documents_reader
pip install -e .
MCP Tools
This server provides the following tool:
read_document
Read any supported document type with a unified interface.
Arguments:
filename(string, required): Document file path, supports absolute or relative paths.
Configuration
Using in Trae IDE / Claude Desktop
Add the following to your MCP configuration file:
Option 1: Using PyPI (Recommended)
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}
Option 2: Using GitHub repository
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/xt765/mcp_documents_reader",
"mcp_documents_reader"
]
}
}
}
Option 3: Using Gitee repository (Faster access in China)
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"--from",
"git+https://gitee.com/xt765/mcp_documents_reader",
"mcp_documents_reader"
]
}
}
}
Usage
As an MCP Tool
After configuration, AI assistants can directly call the following tool:
# Read a DOCX file
read_document(filename="example.docx")
# Read a PDF file
read_document(filename="example.pdf")
# Read an Excel file
read_document(filename="example.xlsx")
# Read a text file
read_document(filename="example.txt")
As a Python Library
from mcp_documents_reader import DocumentReaderFactory
# Using factory (recommended)
reader = DocumentReaderFactory.get_reader("document.pdf")
content = reader.read("/path/to/document.pdf")
# Check if format is supported
if DocumentReaderFactory.is_supported("file.xlsx"):
reader = DocumentReaderFactory.get_reader("file.xlsx")
content = reader.read("/path/to/file.xlsx")
Tool Interface Details
read_document
Read any supported document type.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| filename | string | ✅ | Document file path, supports absolute or relative paths |
Dependencies
Core Dependencies
mcp>= 1.26.0 - MCP protocol implementationpython-docx>= 1.2.0 - DOCX file readingpypdf>= 6.8.0 - PDF file reading (replaces PyPDF2)openpyxl>= 3.1.5 - Excel file reading
Development Dependencies
pytest>= 8.0.0 - Testing frameworkpytest-asyncio>= 0.24.0 - Async testing supportpytest-cov>= 6.0.0 - Coverage reportingbasedpyright>= 0.28.0 - Type checkingruff>= 0.8.0 - Linting and formatting
License
MIT License
Contributing
Issues and Pull Requests are welcome!
Related Projects
- MCP Document Converter - MCP document converter supporting multiple format conversions
- Model Context Protocol - Official Model Context Protocol documentation
Document Reader MCP questions
How do I add Document Reader MCP to Claude Code?
Run claude mcp add mcp-documents-reader -- uvx mcp-documents-reader in your terminal. Add --scope user to make it available in every project.
How do I add Document Reader MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Document Reader MCP provide?
It exposes 1 tool, including filename.
Which document formats does this MCP server support?
It reads Excel (XLSX/XLS), DOCX, PDF, and TXT files.
How do I install the document reader MCP server?
Install it from PyPI with pip, or clone the repository and install from source.
What tool does the server expose to AI clients?
It exposes a single read_document tool that takes a filename and returns the extracted text.
Can I use it as a Python library?
Yes, via DocumentReaderFactory, which can return a reader for a given file and check format support.