MCP Document Reader

io.github.xt765Published by GitHub account xt765v1.3.1Updated Oct 24, 2026

An MCP enabled multi-format document reader supporting DOCX, PDF, TXT, and Excel files

VerifiedSTDIODesktop onlyFiles & StorageData & Analytics

Overview

AI-generated overview

Local MCP server that lets an assistant read DOCX, PDF, XLSX/XLS and TXT files from the file system and return their text content.

What you can do
  • Read a document by path with a single unified tool, read_document
  • Extract text and structure from DOCX files
  • Extract text from PDF files
  • Extract sheet and cell data from Excel workbooks
  • Read plain text files
When to use it
Useful when an assistant needs to pull the contents of local Word, PDF, Excel or text documents into a conversation, for example to summarize, search or answer questions about them.
Requirements
Runs as a local stdio process on the user's machine (desktop only). Install the Python package mcp-documents-reader, typically launched with uvx or pip; it depends on the mcp, python-docx, pypdf and openpyxl libraries. No accounts, API keys or environment variables are declared.
Before you install
The tool takes an absolute or relative file path, so the assistant can read any document the process can access; point it only at directories you are comfortable exposing. It reads files and does not appear to write or send data elsewhere, but extracted content becomes part of the model conversation.

Installation

In SourceWeft

  1. Open MCP Document Reader in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

MCP Document Reader

MCP (Model Context Protocol) Document Reader - A powerful MCP tool for reading documents in multiple formats, enabling AI agents to truly "read" your documents.

🌐 Language: English | 中文

[CSDN] [GitHub] [Gitee]

[License] [Python] [PyPI Version] [PyPI Downloads] [MCP Registry] [MCP Marketplace]

Features

  • 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

mermaid
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

FormatExtensionsMIME TypeFeatures
Excel.xlsx, .xlsapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetSheet and cell data extraction
DOCX.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentText and structure extraction
PDF.pdfapplication/pdfText extraction
Text.txttext/plainPlain text reading

Installation

Using pip (Recommended)

bash
pip install mcp-documents-reader

From Source

bash
git clone https://github.com/xt765/mcp_documents_reader.gitcd mcp_documents_readerpip 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)

json
{  "mcpServers": {    "mcp-document-reader": {      "command": "uvx",      "args": [        "mcp-documents-reader"      ]    }  }}

Option 2: Using GitHub repository

json
{  "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)

json
{  "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:

python
# Read a DOCX fileread_document(filename="example.docx")
# Read a PDF fileread_document(filename="example.pdf")
# Read an Excel fileread_document(filename="example.xlsx")
# Read a text fileread_document(filename="example.txt")

As a Python Library

python
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 supportedif 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:

ParameterTypeRequiredDescription
filenamestring✅Document file path, supports absolute or relative paths

Dependencies

Core Dependencies

  • mcp >= 1.26.0 - MCP protocol implementation
  • python-docx >= 1.2.0 - DOCX file reading
  • pypdf >= 6.8.0 - PDF file reading (replaces PyPDF2)
  • openpyxl >= 3.1.5 - Excel file reading

Development Dependencies

  • pytest >= 8.0.0 - Testing framework
  • pytest-asyncio >= 0.24.0 - Async testing support
  • pytest-cov >= 6.0.0 - Coverage reporting
  • basedpyright >= 0.28.0 - Type checking
  • ruff >= 0.8.0 - Linting and formatting

License

MIT License

Contributing

Issues and Pull Requests are welcome!

Related Projects

Source: README.md at commit 5785cf7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.3.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts