MCP Document Reader
Функциональные возможности
Чтение и запись: возможность как чтения документов, так и генерации файлов Word / PowerPoint на основе структурированных параметров
Широкая поддержка форматов: поддержка TXT, CSV, Markdown, DOC, DOCX, PDF, PPT, PPTX, EPUB, XLSX, XLS
Структурированное создание: поддержка генерации абзацев, таблиц, титульных страниц, маркированных списков и таблиц для презентаций
Экспорт в старые форматы: при установленном LibreOffice возможен экспорт в
.docи.pptПротокол MCP: соответствует стандарту MCP, может использоваться как инструмент для ИИ-ассистентов (например, Trae IDE)
Легкость интеграции: простая настройка для немедленного использования
Надежность: автоматизированное тестирование охватывает чтение, генерацию, резервное преобразование и интерфейсы инструментов
Поддержка файловой системы: прямое чтение и запись документов из файловой системы
📚 Центр документации
Руководство пользователя · Справочник API · Руководство по внесению вклада · Журнал изменений · Лицензия
Архитектура
graph TB
A[AI Assistant / User<br/>AI 助手 / 用户] -->|Call MCP tools<br/>调用 MCP 工具| B[MCP Document Reader<br/>MCP 文档读取器]
B -->|Read<br/>读取| C[Document Readers<br/>文档读取器]
B -->|Generate<br/>生成| D[Document Writers<br/>文档生成器]
C -->|TXT / CSV / MD| E[Text-based Readers<br/>文本类读取器]
C -->|DOC / DOCX| F[Word Readers<br/>Word 读取器]
C -->|PPT / PPTX| G[Presentation Readers<br/>演示读取器]
C -->|PDF / EPUB / Excel| H[Structured Readers<br/>结构化读取器]
D -->|write_word_document| I[DOCX Builder<br/>DOCX 生成器]
D -->|write_presentation| J[PPTX Builder<br/>PPTX 生成器]
I -->|Optional conversion<br/>可选转换| K[LibreOffice -> DOC]
J -->|Optional conversion<br/>可选转换| L[LibreOffice -> PPT]
E --> M[Return text / metadata<br/>返回文本 / 元数据]
F --> M
G --> M
H --> M
K --> M
L --> M
M --> 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Поддерживаемые форматы
Возможность | Формат | Расширение | Примечание |
Чтение | Текст |
| Поддержка извлечения текста с разной кодировкой |
Чтение | CSV |
| Нормализация в текст с разделителями-табуляциями |
Чтение | Markdown |
| Прямое извлечение текста Markdown |
Чтение | Word |
|
|
Чтение |
| Извлечение текста | |
Чтение | PowerPoint |
|
|
Чтение | EPUB |
| Извлечение глав на основе порядка spine |
Чтение | Excel |
| Извлечение содержимого листов и ячеек |
Генерация | Word |
| Нативная генерация, поддержка абзацев и таблиц |
Генерация | Word |
| Генерация через преобразование |
Генерация | PowerPoint |
| Нативная генерация, поддержка заголовков, текста, списков, таблиц |
Генерация | PowerPoint |
| Генерация через преобразование |
Установка
Использование pip (рекомендуется)
pip install mcp-documents-readerЕсли требуется функция генерации PowerPoint, убедитесь, что в среде выполнения доступен python-pptx.
Если требуется экспорт в старые форматы .doc или .ppt, установите LibreOffice и убедитесь, что soffice или libreoffice добавлены в PATH.
Установка из исходного кода
git clone https://github.com/xt765/mcp_documents_reader.git
cd mcp_documents_reader
pip install -e .Инструменты MCP
Данный сервер предоставляет следующие инструменты:
read_document
Использует унифицированный интерфейс для чтения любого поддерживаемого типа документа.
Параметры:
filename(string, обязательно): путь к файлу документа, поддерживаются абсолютные или относительные пути.
extract_document_images
Извлекает встроенные изображения из файлов DOCX и возвращает структурированные метаданные JSON.
Параметры:
filename(string, обязательно): путь к файлу DOCX.output_dir(string, опционально): каталог для экспорта изображений.
write_word_document
Генерирует документ Word .docx или экспортирует .doc через преобразование LibreOffice.
Параметры:
filename(string, обязательно): путь вывода, расширение должно быть.docxили.doc.title(string, опционально): заголовок документа.paragraphs(массив string, опционально): абзацы, записываемые по порядку.tables(массив object, опционально): определение таблицы, поддерживаетtitle,headers,rows.
write_presentation
Генерирует презентацию .pptx или экспортирует .ppt через преобразование LibreOffice.
Параметры:
filename(string, обязательно): путь вывода, расширение должно быть.pptxили.ppt.title(string, опционально): заголовок титульной страницы.subtitle(string, опционально): подзаголовок титульной страницы.slides(массив object, опционально): определение слайдов, поддерживаетtitle,paragraphs,bullets,table.
Конфигурация
Использование в Trae IDE / Claude Desktop
Добавьте следующее содержимое в ваш файл конфигурации MCP:
Вариант 1: Использование PyPI (рекомендуется)
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"mcp-documents-reader"
]
}
}
}Вариант 2: Использование репозитория GitHub
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/xt765/mcp_documents_reader",
"mcp_documents_reader"
]
}
}
}Вариант 3: Использование репозитория Gitee (быстрее для доступа из Китая)
{
"mcpServers": {
"mcp-document-reader": {
"command": "uvx",
"args": [
"--from",
"git+https://gitee.com/xt765/mcp_documents_reader",
"mcp_documents_reader"
]
}
}
}Использование
Как инструмент MCP
После настройки ИИ-ассистент может напрямую вызывать следующие инструменты:
# 读取 DOCX 文件
read_document(filename="example.docx")
# 读取演示文稿
read_document(filename="example.pptx")
# 生成 DOCX 报告
write_word_document(
filename="report.docx",
title="周报",
paragraphs=["本周总结", "下周计划"],
tables=[
{
"title": "指标表",
"headers": ["名称", "数值"],
"rows": [["线索", 42], ["成交", 8]],
}
],
)
# 生成 PPTX 汇报
write_presentation(
filename="briefing.pptx",
title="季度汇报",
subtitle="Q2",
slides=[
{
"title": "亮点",
"paragraphs": ["概述段落"],
"bullets": ["重点 A", "重点 B"],
}
],
)Как библиотека Python
from mcp_documents_reader import DocumentReaderFactory
# 使用工厂类(推荐)
reader = DocumentReaderFactory.get_reader("document.pdf")
content = reader.read("/path/to/document.pdf")
# 检查格式是否支持
if DocumentReaderFactory.is_supported("file.xlsx"):
reader = DocumentReaderFactory.get_reader("file.xlsx")
content = reader.read("/path/to/file.xlsx")Подробности интерфейса инструментов
read_document
Чтение любого поддерживаемого типа документа.
Параметр | Тип | Обязательно | Описание |
filename | string | ✅ | Путь к файлу документа, поддерживаются абсолютные или относительные пути |
extract_document_images
Извлечение встроенных изображений из файлов DOCX.
Параметр | Тип | Обязательно | Описание |
filename | string | ✅ | Путь к файлу DOCX |
output_dir | string | ❌ | Опциональный каталог для экспорта изображений |
write_word_document
Прямая генерация DOCX или экспорт DOC через преобразование LibreOffice.
Параметр | Тип | Обязательно | Описание |
filename | string | ✅ | Путь вывода, расширение должно быть |
title | string | ❌ | Опциональный заголовок документа |
paragraphs | string[] | ❌ | Абзацы, записываемые по порядку |
tables | object[] | ❌ | Определение таблицы, поддерживает |
write_presentation
Прямая генерация PPTX или экспорт PPT через преобразование LibreOffice.
Параметр | Тип | Обязательно | Описание |
filename | string | ✅ | Путь вывода, расширение должно быть |
title | string | ❌ | Заголовок титульной страницы |
subtitle | string | ❌ | Подзаголовок титульной страницы |
slides | object[] | ❌ | Определение слайдов, поддерживает |
Зависимости
Основные зависимости
mcp>= 1.26.0 - реализация протокола MCPpython-docx>= 1.2.0 - чтение DOCX и генерация документов Wordpython-pptx>= 0.6.23 - генерация документов PowerPointpypdf>= 6.8.0 - чтение файлов PDF (замена PyPDF2)openpyxl>= 3.1.5 - чтение файлов Excel
Опциональные зависимости времени выполнения
LibreOffice- обязательно для экспорта в старые форматы.docили.pptantiword/catppt- опциональные вспомогательные команды для чтения старых форматов.doc/.ppt
Зависимости для разработки
pytest>= 8.0.0 - фреймворк для тестированияpytest-asyncio>= 0.24.0 - поддержка асинхронного тестированияpytest-cov>= 6.0.0 - отчеты о покрытииbasedpyright>= 0.28.0 - проверка типовruff>= 0.8.0 - линтинг и форматирование кода
Лицензия
Проект распространяется по лицензии MIT.
Данный проект является вторичной разработкой на основе отличного open-source проекта xt765/mcp_documents_reader с дальнейшими улучшениями.
В настоящее время мы добавили и расширили следующие возможности:
Возможность извлечения изображений из документов
Рабочий процесс написания и генерации документов Word и PowerPoint
Более полная поддержка создания документов для сценариев MCP
Большое спасибо автору оригинального репозитория за предоставленные базовые возможности и работу над open-source.
Вклад
Приветствуются Issue и Pull Request!
Связанные проекты
MCP Document Converter - конвертер документов MCP, поддерживающий преобразование различных форматов
Model Context Protocol - официальная документация протокола контекста модели
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crispvibe/mcp-document-studio'
If you have feedback or need assistance with the MCP directory API, please join our Discord server