Skip to main content
Glama
skaosqkf0-del

file-analyzer-mcp

Prueba

Apúntalo a una carpeta y te devuelve un árbol real, no una suposición:

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

Luego lee uno de ellos: los encabezados, párrafos y tablas vuelven estructurados, no aplanados:

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

Ambas llamadas son reproducibles: clona este repositorio, ejecuta uv sync --extra dev y llámalas contra tests/fixtures/ tú mismo.

Related MCP server: Agent Helper

Qué es

Un servidor MCP personal que lee lo que haya en una carpeta — PDF, Word, PowerPoint, SVG, PNG — y devuelve la estructura y el contenido bruto al agente que lo haya llamado (Claude Code, Claude Desktop, Codex). No resume nada por sí mismo.

Ese es todo el diseño: el servidor extrae, el anfitrión interpreta. No hay ninguna clave de API de LLM viviendo en este servidor. Un PNG vuelve como contenido de imagen en base64, no como un pie de foto — la visión de tu propio anfitrión lo lee. Un PDF escaneado solo se somete a OCR cuando lo pides.

Herramientas

Herramienta

Función

analyze_folder_structure

Árbol recursivo + estadísticas por extensión de una carpeta

list_supported_files

Solo las rutas pdf/docx/pptx/svg/png, filtradas

read_pdf

Texto por página. ocr=True ejecuta Tesseract en páginas sin capa de texto

read_docx

Párrafos, encabezados, tablas (.doc no compatible)

read_pptx

Título, cuerpo y notas del orador por diapositiva (.ppt no compatible)

read_svg

Tamaño, recuento de etiquetas, contenido de <text> — sin rasterizar

read_image

PNG como metadatos + contenido de imagen, para que el anfitrión lo mire directamente

Los documentos grandes se paginan: page_start/page_end para PDF, slide_start/slide_end para PPTX. Los límites predeterminados son 30 páginas / 60 diapositivas — más allá de eso, el next_actions de la respuesta te indica el siguiente rango que debes pedir.

Instalación

uv sync --extra dev

Regístralo con Claude Code:

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

En Windows, si uv se instaló mediante pip, no estará en el PATH de Claude — usa la ruta completa de uv.exe (pip show uv para encontrarla). Los ejemplos de Claude Desktop y Codex están en config/: claude_code.example.md, claude_desktop_config.example.json, codex-config.example.toml.

Seguridad

Las rutas sensibles se rechazan de forma determinista — esto no depende de que el modelo decida no leerlas. Consulta paths.py.

Patrón

Qué protege

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

Directorios de credenciales y configuración en la nube

Raíces de perfil de navegador (p. ej. User Data)

Inicios de sesión y cookies guardados

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

Archivos secretos, coincidentes por patrón de nombre

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

Nombres de archivo de credenciales específicos

Cada llamada también se audita: nombre de la herramienta, argumentos y resultado (éxito o bloqueo) se añaden a logs/audit.jsonl. Consulta audit.py. Se aplica un límite de tamaño de archivo de 50 MB además de todo esto.

Las convenciones para cualquiera que amplíe este servidor están en AGENTS.md.

Errores

Cada fallo lanza ToolFailure con un código, una razón en lenguaje sencillo y cómo recuperarse: el mensaje está escrito para que el modelo que llama lo lea y actúe, no solo para un humano.

Código

Se lanza cuando

PATH_NOT_FOUND

La ruta de carpeta o archivo no existe

NOT_A_DIRECTORY / NOT_A_FILE

Una herramienta recibió el tipo de ruta equivocado

UNSUPPORTED_EXTENSION

El archivo no es pdf/docx/pptx/svg/png

WRONG_TOOL_FOR_EXTENSION

p. ej. read_pdf llamado sobre un .docx

FILE_TOO_LARGE

El archivo supera el límite de 50 MB

SENSITIVE_PATH_BLOCKED

La ruta coincide con la tabla de seguridad anterior

OCR_ENGINE_NOT_FOUND

ocr=True pero Tesseract no está instalado/configurado

SVG_PARSE_ERROR

El archivo .svg no es XML válido

OCR de PDF escaneados

read_pdf(ocr=True) necesita Tesseract:

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

ocr_lang tiene como valor predeterminado "kor+eng". ¿Ruta de Tesseract incorrecta? Establece TESSERACT_CMD.

Pruebas

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

Ambas deberían pasar antes de que un cambio cuente como terminado: pytest comprueba los módulos de forma aislada; la prueba de humo es lo único que ejercita el protocolo MCP real y detecta roturas a nivel de esquema.

Límites

Límite

Por qué / qué hacer

.doc / .ppt no compatibles

Formatos binarios heredados: guarda como .docx/.pptx primero

Los PDF escaneados devuelven texto vacío por defecto

Pasa ocr=True (desactivado por defecto: es más lento)

Los SVG no se rasterizan

Se analizan como XML para la estructura, no se renderizan como imagen

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