file-analysis-mcp
file-analysis-mcp
Un MCP local personal que lee documentos no estructurados (pdf, docx, pptx, txt, svg, png, csv, xlsx) dentro de una carpeta especificada, comprende su estructura y no guarda nada sin aprobación.
Ejemplo de funcionamiento real
Resultados reales de la ejecución sobre la carpeta de muestras sintéticas incluida (sample_docs/).
list_folder_contents()
→ count: 8, entries: data.csv, diagram.svg, notes.docx, photo.png,
readme.txt, report.pdf, sheet.xlsx, slides.pptx
describe_file(relative_path="slides.pptx")
→ {"slide_count": 3, "slide_titles": ["팀 소개", "구성원", "다음 스프린트"]}El informe redactado tras leer realmente estos archivos está en
data/outputs/onboarding-overview-report.md:
superó la validación de estructura VALID y la comprobación de fundamento de nombres de archivo GROUNDED (100 puntos).
También lo validé apuntando a una carpeta real de materiales de clase (PPTX, 9 MB, 16 diapositivas), y en ese proceso descubrí y corregí un error: al intentar leer el archivo de bloqueo (~$*.pptx) que se genera al tener PowerPoint abierto, la excepción de la biblioteca de formatos salía tal cual. Ahora se gestiona como un error que incluye el código de causa y el método de recuperación.
[INVALID_REQUEST] '~$파일.pptx' 파일을 열지 못했습니다: Package not found ...
복구 방법: list_folder_contents로 파일 목록과 지원 형식을 다시 확인하세요.Related MCP server: local-docs-mcp
Qué es
Al especificar una carpeta, lee los documentos que contiene, primero comprende la estructura (número de páginas/diapositivas/hojas, etc.) y ayuda a redactar un informe resumido. Gestiona los 8 formatos con analizadores dedicados (pypdf/python-docx/python-pptx/openpyxl/Pillow).
Por qué es diferente
El MCP no llama al LLM. Las frases de resumen reales las escribe el Host (Claude/Codex). El servidor solo se encarga de la consulta de datos, el análisis de estructura, la validación y el guardado.
Antes de guardar se requieren tanto el token de aprobación como la aprobación explícita del usuario. Solo hay una herramienta de escritura,
save_approved_report; las otras 10 son de solo lectura.El PNG se entrega como contenido de imagen real, sin OCR. La capacidad de visión del Host lo ve e interpreta directamente.
Los errores siempre devuelven código de causa + método de recuperación + valores seleccionables (ver el ejemplo anterior).
Cómo funciona
list_folder_contents → describe_file → read_file_text(또는 read_image_file)
→ build_summary_prompt → validate_report_draft → check_report_grounding
→ preview_save_report → [사용자 승인] → save_approved_reportEtapa | Herramienta | Función |
DISCOVER |
| Exploración recursiva de carpetas |
STRUCTURE |
| Solo estructura (número de páginas/diapositivas/hojas, etc.) (sin contenido) |
READ |
| Texto del contenido o contenido de imagen |
SUMMARIZE |
| Ensamblaje de plantilla + lista de archivos (sin llamada al LLM) |
CHECK |
| Validación de estructura — puerta de guardado |
CHECK |
| Comprobación de que los nombres de archivo mencionados existen realmente — asesoramiento |
PREVIEW |
| diff + emisión de token de aprobación |
SAVED |
| única herramienta de escritura |
OBSERVE |
| Consulta del historial de guardados |
Cómo empezar
python -m venv .venv
.venv/Scripts/pip install -e ".[dev]"
.venv/Scripts/python scripts/generate_samples.py
.venv/Scripts/python -m pytest -q
.venv/Scripts/python scripts/smoke_stdio.pyAnalizar una carpeta real
El valor predeterminado es sample_docs/. Solo hay que cambiar una variable de entorno antes de ejecutar el servidor.
FILE_ANALYSIS_ROOT="D:\내 문서 폴더" .venv/Scripts/python src/file_analysis_mcp/server.pyPara registrarlo en Codex CLI:
codex mcp add file-analysis --env FILE_ANALYSIS_ROOT="D:\내 문서 폴더" -- \
"<프로젝트경로>\.venv\Scripts\python.exe" "<프로젝트경로>\src\file_analysis_mcp\server.py"Limitaciones
Las imágenes no pasan por OCR. No se extrae texto; el contenido de la imagen se entrega tal cual al Host.
Los archivos de más de 20 MB solo permiten comprobar la estructura; no se puede leer el contenido.
check_report_groundinges una heurística basada en expresiones regulares, por lo que puede dar falsos positivos (es solo asesoramiento; no bloquea el guardado).Los archivos cifrados, dañados o en uso por otro programa se notifican como errores con su código de causa: el servidor no se cae.
Patrón base
Sigue los mismos principios de diseño que personal-meeting-mcp-training (separación de capas, stage/next_actions, límites de aprobación). Para el contrato detallado de las herramientas, consulta el docstring de cada módulo en src/file_analysis_mcp/.
This server cannot be installed
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
- 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
- AlicenseAqualityCmaintenanceEnables reading and extracting text from local documents (PDF, Word, Excel, PowerPoint, HWP, Markdown, CSV, etc.) without network access, and provides approval-gated summary saving and file organization.11MIT
- FlicenseAqualityCmaintenanceEnables local analysis of unstructured documents (PDF, DOCX, PPTX, SVG, PNG) by extracting text and structure with citation anchors, and verifies summaries against source material before a human approves saving a report.9
- FlicenseAqualityCmaintenanceEnables read-only scanning and text extraction from PDF, DOCX, PPTX, SVG, and PNG files in a local folder, providing the raw text to AI models for summarization or analysis without an external LLM API.5
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Read PDFs and images as markdown or text, with exact costs and hard spend caps. $0.75/1k pages.
Convert PDF bank statements into structured transactions, accounts, and balances.
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/KyuSeon80/fileanalyzer_mcp_testmonial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server