MCP Document Reader

io.github.xt765由 GitHub 账号 xt765 发布v1.3.1更新于 Oct 24, 2026

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

已验证STDIO仅桌面文件与存储数据与分析

概览

AI 生成的概览

本地 MCP 服务器,让助手从文件系统读取 DOCX、PDF、XLSX/XLS 和 TXT 文件并返回文本内容。

可以做什么
  • 通过单一统一工具 read_document 按路径读取文档
  • 从 DOCX 文件提取文本与结构
  • 从 PDF 文件提取文本
  • 从 Excel 工作簿提取工作表和单元格数据
  • 读取纯文本文件
适用场景
适合需要把本地 Word、PDF、Excel 或文本文件的内容带入对话的场景,例如总结、检索或就文档内容提问。
运行要求
作为本地 stdio 进程在用户机器上运行(仅桌面端)。需安装 Python 包 mcp-documents-reader,通常用 uvx 或 pip 启动;依赖 mcp、python-docx、pypdf 和 openpyxl 库。未声明需要账号、API 密钥或环境变量。
安装前请注意
该工具接受绝对或相对文件路径,因此助手可读取该进程有权访问的任何文档;请只指向你愿意暴露的目录。它只读取文件,未见写入或外发数据,但提取的内容会进入模型对话。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MCP Document Reader,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 5785cf7

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.3.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分