Skip to main content
Glama
skaosqkf0-del

file-analyzer-mcp

Beweis

Gib einen Ordner an, und er liefert einen echten Baum zurück, keine Vermutung:

$ analyze_folder_structure({ "folder_path": "tests/fixtures" })
{
  "status": "OK",
  "file_count": 6,
  "supported_file_count": 6,
  "extension_stats": [
    { "extension": ".pdf",  "count": 2, "bytes": 723995 },
    { "extension": ".docx", "count": 1, "bytes": 35505 },
    { "extension": ".pptx", "count": 1, "bytes": 33067 },
    { "extension": ".svg",  "count": 1, "bytes": 319 },
    { "extension": ".png",  "count": 1, "bytes": 74 }
  ],
  "tree_text": "fixtures/\n├── sample.docx (34.7KB)\n├── sample.pdf (431B)\n├── sample.png (74B)\n├── sample.pptx (32.3KB)\n├── sample.svg (319B)\n└── sample_scanned.pdf (706.6KB)"
}

Lies dann eine davon — Überschriften, Absätze und Tabellen kommen strukturiert zurück, nicht flachgewalzt:

$ read_docx({ "file_path": "tests/fixtures/sample.docx" })
{
  "status": "OK",
  "headings": ["테스트 문서"],
  "text": "테스트 문서\n본문 첫 문단입니다.",
  "tables": [{ "index": 0, "rows": [["A", "B"], ["1", "2"]] }]
}

Beide Aufrufe sind reproduzierbar — klone dieses Repo, führe uv sync --extra dev aus und ruf sie selbst gegen tests/fixtures/ auf.

Related MCP server: Agent Helper

Was es ist

Ein persönlicher MCP-Server, der alles liest, was in einem Ordner liegt — PDF, Word, PowerPoint, SVG, PNG — und die Struktur sowie den Rohinhalt an den Agenten zurückgibt, der ihn aufgerufen hat (Claude Code, Claude Desktop, Codex). Er fasst selbst nichts zusammen.

Das ist das gesamte Design: Der Server extrahiert, der Host interpretiert. In diesem Server befindet sich kein LLM-API-Schlüssel. Ein PNG kommt als Base64-Bildinhalt zurück, nicht als Bildunterschrift — die eigene Vision deines Hosts liest es. Ein gescanntes PDF wird nur dann per OCR verarbeitet, wenn du danach fragst.

Werkzeuge

Werkzeug

Rolle

analyze_folder_structure

Rekursiver Baum + Statistiken pro Dateiendung für einen Ordner

list_supported_files

Nur die Pfade für pdf/docx/pptx/svg/png, gefiltert

read_pdf

Text pro Seite. ocr=True führt Tesseract auf Seiten ohne Textebene aus

read_docx

Absätze, Überschriften, Tabellen (.doc nicht unterstützt)

read_pptx

Titel, Inhalt und Referentennotizen pro Folie (.ppt nicht unterstützt)

read_svg

Größe, Anzahl der Tags, <text>-Inhalt — kein Rasterisieren

read_image

PNG als Metadaten + Bildinhalt, damit der Host direkt darauf schauen kann

Große Dokumente werden paginiert: page_start/page_end für PDF, slide_start/slide_end für PPTX. Die Standard-Obergrenzen sind 30 Seiten / 60 Folien — darüber hinaus nennt dir next_actions in der Antwort den nächsten Bereich, den du anfordern kannst.

Installation

Bei Claude Code registrieren:

uv sync --extra dev
claude mcp add -s user file-analyzer -- "<uv.exe path>" --directory "<this folder>" run python src/file_analyzer_mcp/server.py

Unter Windows: Wenn uv per pip installiert wurde, ist es nicht im PATH von Claude — verwende den vollständigen Pfad von uv.exe (pip show uv, um ihn zu finden). Beispiele für Claude Desktop und Codex findest du in config/: claude_code.example.md, claude_desktop_config.example.json, codex-config.example.toml.

Sicherheit

Vertrauliche Pfade werden deterministisch abgelehnt — das hängt nicht davon ab, dass das Modell entscheidet, sie nicht zu lesen. Siehe paths.py.

Muster

Was geschützt wird

.ssh, .aws, .gnupg, .azure, .kube, .docker

Verzeichnisse für Zugangsdaten und Cloud-Konfiguration

Wurzelverzeichnisse von Browser-Profilen (z. B. User Data)

Gespeicherte Anmeldungen und Cookies

.env*, *.pem, *.key, *.pfx, *.p12

Geheime Dateien, abgeglichen anhand des Namensmusters

id_rsa, id_ed25519, known_hosts, .netrc, credentials, credentials.json, login data, cookies, web data

Bestimmte Dateinamen für Zugangsdaten

Jeder Aufruf wird außerdem protokolliert — Name des Werkzeugs, Argumente und Ergebnis (erfolgreich oder blockiert) werden an logs/audit.jsonl angehängt. Siehe audit.py. Zusätzlich zu all dem gilt eine Dateigrößen-Obergrenze von 50 MB.

Konventionen für alle, die diesen Server erweitern, stehen in AGENTS.md.

Fehler

Jeder Fehler wirft ToolFailure mit einem Code, einer verständlichen Begründung und einer Anleitung zur Behebung — die Meldung ist für das aufrufende Modell geschrieben, damit es sie liest und danach handelt, nicht nur für einen Menschen.

Code

Wird ausgelöst, wenn

PATH_NOT_FOUND

Der Ordner- oder Dateipfad existiert nicht

NOT_A_DIRECTORY / NOT_A_FILE

Ein Werkzeug hat den falschen Pfadtyp erhalten

UNSUPPORTED_EXTENSION

Die Datei ist keine pdf/docx/pptx/svg/png-Datei

WRONG_TOOL_FOR_EXTENSION

z. B. read_pdf auf einer .docx-Datei aufgerufen

FILE_TOO_LARGE

Datei überschreitet die 50-MB-Obergrenze

SENSITIVE_PATH_BLOCKED

Pfad entspricht der obigen Sicherheitstabelle

OCR_ENGINE_NOT_FOUND

ocr=True, aber Tesseract ist nicht installiert/konfiguriert

SVG_PARSE_ERROR

Die .svg-Datei ist kein gültiges XML

OCR für gescannte PDFs

read_pdf(ocr=True) benötigt Tesseract:

winget install UB-Mannheim.TesseractOCR
uv run python scripts/setup_ocr.py   # copies eng/osd, downloads kor.traineddata

ocr_lang ist standardmäßig auf "kor+eng" gesetzt. Falscher Tesseract-Pfad? Setze TESSERACT_CMD.

Tests

uv run pytest -q                        # parser / path / audit unit tests
uv run python scripts/smoke_stdio.py    # real stdio round-trip against the server

Beide müssen erfolgreich sein, bevor eine Änderung als abgeschlossen gilt — pytest prüft Module isoliert, der Smoke-Test ist das Einzige, was das tatsächliche MCP-Protokoll durchläuft und Brüche auf Schemaebene abfängt.

Einschränkungen

Limit

Warum / was zu tun ist

.doc / .ppt nicht unterstützt

Veraltete Binärformate — zuerst als .docx/.pptx speichern

Gescannte PDFs liefern standardmäßig leeren Text

Übergib ocr=True (standardmäßig deaktiviert — es ist langsamer)

SVGs werden nicht gerastert

Als XML für die Struktur geparst, nicht als Bild gerendert

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to read, search, and analyze local file systems with tools for reading file contents, listing directories, searching by patterns, and analyzing folder structures for context-aware queries.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to inspect and convert PDF, PowerPoint, Excel, and many other file formats into clean, structured Markdown, with chunking support for long documents.
    Apache 2.0
  • F
    license
    A
    quality
    C
    maintenance
    Enables read-only analysis of local unstructured documents by scanning a folder, extracting text and structural metadata, and passing content with truncation and error-awareness to an LLM for summarization.
    9

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Securely search and manage workspace context files for AI agents and teams.

  • Read PDFs and images as markdown or text, with exact costs and hard spend caps. $0.75/1k pages.

View all MCP Connectors

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/skaosqkf0-del/MCP_test'

If you have feedback or need assistance with the MCP directory API, please join our Discord server