Skip to main content
Glama

Funktionen

  • Lesen und Schreiben: Kann Dokumente lesen und Word- / PowerPoint-Dateien basierend auf strukturierten Parametern erstellen

  • Breite Formatunterstützung: Unterstützt TXT, CSV, Markdown, DOC, DOCX, PDF, PPT, PPTX, EPUB, XLSX, XLS

  • Strukturiertes Schreiben: Unterstützt die Erstellung von Absätzen, Tabellen, Titelseiten, Aufzählungspunkten und Präsentationstabellen

  • Export alter Formate: Bei installierter LibreOffice-Instanz können .doc und .ppt exportiert werden

  • MCP-Protokoll: Entspricht dem MCP-Standard und kann als Werkzeug für KI-Assistenten (wie Trae IDE) verwendet werden

  • Einfache Integration: Sofort einsatzbereit nach einfacher Konfiguration

  • Zuverlässige Leistung: Automatisierte Tests decken Lesen, Erstellen, Konvertierungs-Fallbacks und Werkzeugschnittstellen ab

  • Dateisystemunterstützung: Direktes Lesen und Schreiben von Dokumenten aus dem Dateisystem


📚 Dokumentationszentrum

Benutzerhandbuch · API-Referenz · Beitragsleitfaden · Änderungsprotokoll · Lizenz


Architektur

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

Unterstützte Formate

Fähigkeit

Format

Dateiendung

Beschreibung

Lesen

Text

.txt

Unterstützt Extraktion von Text mit verschiedenen Kodierungen

Lesen

CSV

.csv

Normalisiert zu tabulatorgetrenntem Text

Lesen

Markdown

.md, .markdown

Direkte Extraktion von Markdown-Text

Lesen

Word

.doc, .docx

.doc wird über Befehl / LibreOffice-Fallback gelesen

Lesen

PDF

.pdf

Textextraktion

Lesen

PowerPoint

.ppt, .pptx

.pptx natives Parsing, .ppt Fallback-Lesen

Lesen

EPUB

.epub

Extraktion von Kapiteln basierend auf der Spine-Reihenfolge

Lesen

Excel

.xlsx, .xls

Extraktion von Arbeitsblättern und Zelleninhalten

Erstellen

Word

.docx

Native Erstellung, unterstützt Absätze und Tabellen

Erstellen

Word

.doc

Erstellung über docx -> doc LibreOffice-Konvertierung

Erstellen

PowerPoint

.pptx

Native Erstellung, unterstützt Titel, Textkörper, Aufzählungspunkte, Tabellen

Erstellen

PowerPoint

.ppt

Erstellung über pptx -> ppt LibreOffice-Konvertierung

Installation

Verwendung von pip (empfohlen)

pip install mcp-documents-reader

Wenn Sie die PowerPoint-Erstellungsfunktion benötigen, stellen Sie sicher, dass python-pptx in der Laufzeitumgebung verfügbar ist.

Wenn Sie alte Formate wie .doc oder .ppt exportieren müssen, installieren Sie LibreOffice und stellen Sie sicher, dass soffice oder libreoffice im PATH enthalten ist.

Installation aus dem Quellcode

git clone https://github.com/xt765/mcp_documents_reader.git
cd mcp_documents_reader
pip install -e .

MCP-Werkzeuge

Dieser Server stellt die folgenden Werkzeuge bereit:

read_document

Verwendet eine einheitliche Schnittstelle zum Lesen jedes unterstützten Dokumenttyps.

Parameter:

  • filename (string, erforderlich): Pfad zur Dokumentdatei, unterstützt absolute oder relative Pfade.

extract_document_images

Extrahiert eingebettete Bilder aus DOCX-Dateien und gibt strukturierte JSON-Metadaten zurück.

Parameter:

  • filename (string, erforderlich): Pfad zur DOCX-Datei.

  • output_dir (string, optional): Verzeichnis zum Exportieren der Bilder.

write_word_document

Erstellt ein .docx Word-Dokument oder exportiert ein .doc über eine LibreOffice-Konvertierung.

Parameter:

  • filename (string, erforderlich): Ausgabepfad, die Endung muss .docx oder .doc sein.

  • title (string, optional): Dokumenttitel.

  • paragraphs (string-Array, optional): Absätze, die in der angegebenen Reihenfolge geschrieben werden.

  • tables (object-Array, optional): Tabellendefinition, unterstützt title, headers, rows.

write_presentation

Erstellt eine .pptx Präsentation oder exportiert eine .ppt über eine LibreOffice-Konvertierung.

Parameter:

  • filename (string, erforderlich): Ausgabepfad, die Endung muss .pptx oder .ppt sein.

  • title (string, optional): Titel des Titelschlittens.

  • subtitle (string, optional): Untertitel des Titelschlittens.

  • slides (object-Array, optional): Foliendefinition, unterstützt title, paragraphs, bullets, table.

Konfiguration

Verwendung in Trae IDE / Claude Desktop

Fügen Sie den folgenden Inhalt zu Ihrer MCP-Konfigurationsdatei hinzu:

Option 1: Verwendung von PyPI (empfohlen)

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

Option 2: Verwendung des GitHub-Repositorys

{
  "mcpServers": {
    "mcp-document-reader": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/xt765/mcp_documents_reader",
        "mcp_documents_reader"
      ]
    }
  }
}

Option 3: Verwendung des Gitee-Repositorys (schnellerer Zugriff in China)

{
  "mcpServers": {
    "mcp-document-reader": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://gitee.com/xt765/mcp_documents_reader",
        "mcp_documents_reader"
      ]
    }
  }
}

Verwendung

Als MCP-Werkzeug verwenden

Nach der Konfiguration kann der KI-Assistent die folgenden Werkzeuge direkt aufrufen:

# 读取 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"],
        }
    ],
)

Als Python-Bibliothek verwenden

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

Details zur Werkzeugschnittstelle

read_document

Liest jeden unterstützten Dokumenttyp.

Parameter

Typ

Erforderlich

Beschreibung

filename

string

Pfad zur Dokumentdatei, unterstützt absolute oder relative Pfade

extract_document_images

Extrahiert eingebettete Bilder aus DOCX-Dateien.

Parameter

Typ

Erforderlich

Beschreibung

filename

string

Pfad zur DOCX-Datei

output_dir

string

Optionales Verzeichnis zum Exportieren der Bilder

write_word_document

Erstellt direkt DOCX oder exportiert DOC über LibreOffice-Konvertierung.

Parameter

Typ

Erforderlich

Beschreibung

filename

string

Ausgabepfad, die Endung muss .docx oder .doc sein

title

string

Optionaler Dokumenttitel

paragraphs

string[]

Absätze, die in der angegebenen Reihenfolge geschrieben werden

tables

object[]

Tabellendefinition, unterstützt title, headers, rows

write_presentation

Erstellt direkt PPTX oder exportiert PPT über LibreOffice-Konvertierung.

Parameter

Typ

Erforderlich

Beschreibung

filename

string

Ausgabepfad, die Endung muss .pptx oder .ppt sein

title

string

Titel des Titelschlittens

subtitle

string

Untertitel des Titelschlittens

slides

object[]

Foliendefinition, unterstützt title, paragraphs, bullets, table

Abhängigkeiten

Kernabhängigkeiten

  • mcp >= 1.26.0 - Implementierung des MCP-Protokolls

  • python-docx >= 1.2.0 - DOCX-Lesen und Word-Dokumenterstellung

  • python-pptx >= 0.6.23 - PowerPoint-Dokumenterstellung

  • pypdf >= 6.8.0 - PDF-Dateilesen (ersetzt PyPDF2)

  • openpyxl >= 3.1.5 - Excel-Dateilesen

Optionale Laufzeitabhängigkeiten

  • LibreOffice - Muss installiert sein, wenn alte Formate wie .doc oder .ppt exportiert werden sollen

  • antiword / catppt - Optionale Hilfsbefehle beim Lesen alter .doc / .ppt Formate

Entwicklungsabhängigkeiten

  • pytest >= 8.0.0 - Test-Framework

  • pytest-asyncio >= 0.24.0 - Unterstützung für asynchrone Tests

  • pytest-cov >= 6.0.0 - Abdeckungsbericht

  • basedpyright >= 0.28.0 - Typüberprüfung

  • ruff >= 0.8.0 - Code-Linting und Formatierung

Lizenz

Dieses Projekt ist unter der MIT-Lizenz quelloffen.

Dieses Projekt basiert auf dem exzellenten Open-Source-Projekt xt765/mcp_documents_reader und wurde darauf aufbauend weiterentwickelt.

Wir haben derzeit hauptsächlich die folgenden Fähigkeiten hinzugefügt und verbessert:

  • Fähigkeit zur Extraktion von Bildern aus Dokumenten

  • Arbeitsabläufe zum Schreiben und Erstellen von Word- und PowerPoint-Dokumenten

  • Vollständigere Unterstützung für die Dokumentenerstellung in MCP-Szenarien

Ein herzliches Dankeschön an den ursprünglichen Autor des Repositorys für die grundlegenden Fähigkeiten und die Open-Source-Arbeit.

Beitrag

Issues und Pull Requests sind willkommen!

Verwandte Projekte

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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