file-analysis-mcp
file-analysis-mcp
"Lies alle PDF/DOCX/PPTX/SVG/PNG-Dokumente in diesem Ordner und fasse sie zusammen." Ein persönlicher MCP-Server, mit dem man Claude Code genau diesen einen Satz ausführen lassen kann.
Wenn ein Ordner angegeben wird, öffnet der Server die darin enthaltenen Dokumente, extrahiert nur den Text und gibt ihn unverändert zurück. Zusammenfassen und Interpretieren übernimmt nicht dieser Server, sondern der Claude, der ihn aufruft, im Laufe des Gesprächs – daher funktioniert alles ohne separaten LLM-API-Schlüssel, vollständig privat und lokal.
Inhaltsverzeichnis
Related MCP server: file-analyzer
So funktioniert es in der Praxis
Das Ergebnis einer Anfrage in Claude Code mit einem realen Ordner (ein Ordner mit internen PRD-Dokumenten).
Ich: Fasse die Dokumente im Ordner
docszusammen und analysiere die Dateistruktur
Claude ruft nacheinander analyze_folder_structure → analyze_folder auf und antwortet auf Basis des zurückgegebenen Originaltexts wie folgt.
[analyze_folder_structure] pdf 2개, 총 455KB, 최대 파일 prd.pdf(231KB)
[analyze_folder] 2개 파일 모두 추출 성공 (succeeded: 2, failed: 0)
→ Claude의 요약:
두 문서는 같은 프로젝트("ParameterCheck")의 서로 다른 산출물입니다.
- proposal.pdf: RF솔루션 파트의 CAB 파라미터 검증 자동화 기획서
- prd.pdf: 같은 아이디어의 정식 PRD. 목표는 검증 시간 10분→5분 단축,
MVP는 "파라미터 엑셀 입력 시 집계시트 자동 생성 + 오류 빨강 표시"
공통점: 사람 검토·승인은 항상 최종 단계로 남겨둔다는 원칙이 두 문서 모두에 명시됨.Der Server hat nur den Text übergeben – die obige Zusammenfassung stammt vollständig von Claude. Genau diese Rollentrennung ist das Ziel dieses Projekts.
Schnellstart
# 1) 의존성 설치 (uv 사용)
uv sync --extra dev
# 2) 확인
uv run pytest # 유닛테스트
uv run python scripts/smoke_stdio.py # 실제 MCP 프로토콜로 서버를 띄워보는 스모크 테스트Falls OCR (PNG-Analyse) benötigt wird, muss Tesseract-OCR separat installiert werden – die Anleitung dazu steht weiter unten im Abschnitt Bei Claude Code registrieren. Auch ohne Installation funktionieren die übrigen 4 Tools normal.
Die 5 Tools
Tool | Beschreibung | Guardrail |
| Gibt die Liste der Zieldateien im Ordner (Pfad/Größe/Änderungsdatum) und die Anzahl je Dateityp zurück | Bei Überschreitung von |
| Gibt Baumstruktur inkl. Unterordner, Statistik je Dateityp, Speicherbedarf und Liste der größten Dateien zurück | Nur der Baum ist durch |
| Extrahiert den Text aus einem einzelnen pdf/docx/pptx/svg-Dokument | Wird mit |
| Liest den Text aus einem einzelnen png-Bild per OCR | Wie links + wenn das OCR-Ergebnis leer ist, wird der Grund über next_actions mitgeteilt |
| Extrahiert alle Zieldateien im Ordner in einem Durchgang und gibt sie als Report zurück (kein mehrfacher Aufruf nötig) | Bei Überschreitung von |
Alle Tools sind schreibgeschützt und verändern oder löschen keine Dateien. Selbst wenn das Limit (max_files) erreicht wird, werden Dateien nicht stillschweigend weggelassen, sondern die Anzahl der nicht gelesenen Dateien bleibt in der Antwort sichtbar; außerdem wird status auf PARTIAL gesetzt, sodass dieser Umstand sofort erkennbar ist.
Bei Claude Code registrieren
OCR-Engine installieren (nur für PNG-Analyse nötig)
pytesseract ist lediglich die Python-Anbindung an die Tesseract-OCR-Engine; die Engine selbst muss separat installiert werden.
Laden Sie das UB-Mannheim Tesseract-Installationspaket herunter und installieren Sie es unter Windows. (Falls Koreanisch erkannt werden soll, aktivieren Sie bei der Installation unter "Additional language data" die Option Korean.)
Fügen Sie den Installationspfad (Standard:
C:\Program Files\Tesseract-OCR) zur System-PATH-Variable hinzu.Prüfen Sie die Installation mit
tesseract --version.
Server registrieren
In diesem Repository liegt bereits eine .mcp.json im Root-Verzeichnis bereit. Wenn Sie Claude Code im Ordner file-analysis-mcp (oder einem übergeordneten Ordner) starten, wird sie automatisch erkannt. Prüfen Sie nach dem Neustart über den Befehl /mcp oder in der Tool-Liste, ob die 5 Tools von file-analysis sichtbar sind.
Zur manuellen Registrierung:
claude mcp add file-analysis -- uv --directory "C:\Users\20223\Desktop\file-analysis-mcp" run python src/file_analysis_mcp/server.pyEmpfohlener Ablauf: Zuerst die Struktur mit analyze_folder_structure erfassen → dann den gesamten Dokumenttext mit analyze_folder in einem Durchgang extrahieren → Claude fasst auf Basis des extrahierten Texts zusammen.
Projektstruktur
file-analysis-mcp/
├── pyproject.toml
├── .mcp.json
├── src/file_analysis_mcp/
│ ├── server.py # FastMCP 서버, 도구 5개
│ ├── harness.py # 응답/오류 계약 (BaseResponse, ToolFailure 등)
│ ├── scanner.py # 폴더 스캔/구조 분석
│ └── extractors/ # pdf/docx/pptx/svg/image 텍스트 추출기
├── scripts/smoke_stdio.py
├── tests/
│ ├── test_scanner.py # 도메인 로직(순수 함수) 유닛테스트
│ ├── test_extractors.py # 포맷별 추출기 유닛테스트
│ └── test_server_contract.py # 하네스 규약(도구 계약) 테스트
└── data/sample_docs/ # 테스트용 샘플 문서Designprinzip: Harness Engineering
Dieser Server priorisiert nicht "mehr Funktionen", sondern dass das Modell allein anhand der Antwort weiß, was es als Nächstes tun soll. Aus den Prinzipien, die in awesome-harness-engineering vorgestellt werden, wurden nur diejenigen gezielt übernommen, die zum Charakter dieses Projekts (lokal, Einzelbenutzer, schreibgeschützt) tatsächlich passen. (OpenTelemetry-Observability, Prompt-Injection-Sandboxing, Scope-Approval-Gating wie bei mcp-guardian usw. sind für Mehrbenutzer- und langlaufende Agenten gedacht und wären für ein persönliches Tool dieser Größenordnung übertrieben – daher nicht angewendet.)
Angewendet | Form in diesem Projekt |
Klare Tool-Grenzen | In den Tool-Docstrings werden Zweck + Returns + Beispiele für "verwenden / nicht verwenden" angegeben, damit das Modell aus den 5 Tools das richtige auswählt |
Nächste Aktion anleiten | Jede Antwort enthält |
Umsetzbare Fehler |
|
Kontext sparen (einzelne Antworten) |
|
Kontext sparen (Guardrails) |
|
Nützliche Fehler im Kontext behalten |
|
Keine stillen Verluste | Auch bei Überschreitung der Obergrenze werden Dateien nicht heimlich übersprungen; die genaue Anzahl der nicht gelesenen Dateien bleibt über |
Tool-Vertrag testen |
|
Bewusst nicht angewendet
Zusammenfassungs-/Grounding-Funktion: Da dieser Server nur "extrahieren" soll (Zusammenfassen ist Aufgabe des Host-Modells), nicht zutreffend.
Zeilennummern-Zitatanker (
L12 | ...): Ohne ein separates Tool zur Verifikation der Zitatgrundlage würde der Text nur unübersichtlich – daher nicht angewendet. Falls nötig, kann dies durch Wiederverwendung vonharness.number_lines()ergänzt werden.Speicher-Workflow mit Genehmigungstoken: Da dieser Server keine Dateien schreibt, nicht zutreffend.
Maintenance
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
- AlicenseAqualityCmaintenanceProvides LLMs with secure, read-only access to local documentation by scanning directories, extracting content from PDF, DOCX, Markdown, and text files, and performing keyword searches.314MIT
- FlicenseAqualityCmaintenanceEnables 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
- FlicenseNot gradedqualityCmaintenanceEnables local, read-only extraction of text and structure from PDF, DOCX, PPTX, SVG, and PNG files, including OCR for images, directory tree and metadata reporting, with strict path isolation and audit logging.
- FlicenseNot gradedqualityCmaintenanceEnables local folder analysis of unstructured documents (PDF, DOCX, PPTX, TXT, SVG, PNG, CSV, XLSX) by extracting structure, reading content, and generating reports, with a strict approval gate before any save operation.
Related MCP Connectors
Read PDFs and images as markdown or text, with exact costs and hard spend caps. $0.75/1k pages.
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Securely search and manage workspace context files for AI agents and teams.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/minheyok-choi/fileanalyzer_mcp-testmonial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server