Skip to main content
Glama
skaosqkf0-del

file-analyzer-mcp

증명

폴더를 지정하면 추측이 아닌 실제 트리를 돌려줍니다:

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

그런 다음 그중 하나를 읽으면 — 제목, 문단, 표가 평면화되지 않은 구조로 돌아옵니다:

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

두 호출 모두 재현 가능합니다 — 이 저장소를 클론하고 uv sync --extra dev를 실행한 다음 직접 tests/fixtures/에 대해 호출해 보세요.

Related MCP server: Agent Helper

개요

폴더 안의 모든 것(PDF, Word, PowerPoint, SVG, PNG)을 읽어 구조와 원본 콘텐츠를 호출한 에이전트(Claude Code, Claude Desktop, Codex)에 돌려주는 개인용 MCP 서버입니다. 자체적으로 요약하지는 않습니다.

설계의 전부입니다. 서버는 추출하고 호스트는 해석합니다. 이 서버에는 LLM API 키가 없습니다. PNG는 캡션이 아닌 base64 이미지 콘텐츠로 반환되며, 호스트 자체의 비전이 읽습니다. 스캔된 PDF는 요청할 때만 OCR 처리됩니다.

도구

도구

역할

analyze_folder_structure

폴더의 재귀 트리 + 확장자별 통계

list_supported_files

pdf/docx/pptx/svg/png 경로만 필터링하여 반환

read_pdf

페이지별 텍스트. ocr=True로 설정하면 텍스트 레이어가 없는 페이지에서 Tesseract 실행

read_docx

문단, 제목, 표 (.doc는 지원하지 않음)

read_pptx

슬라이드별 제목, 본문, 발표자 노트 (.ppt는 지원하지 않음)

read_svg

크기, 태그 수, <text> 내용 — 래스터화하지 않음

read_image

PNG를 메타데이터 + 이미지 콘텐츠로 반환, 호스트가 직접 보도록 함

큰 문서는 페이지 단위로 나뉩니다. PDF는 page_start/page_end, PPTX는 slide_start/slide_end입니다. 기본 상한은 30페이지 / 60슬라이드이며, 이를 초과하면 응답의 next_actions가 다음에 요청할 범위를 알려줍니다.

설치

uv sync --extra dev

Claude Code에 등록:

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

Windows에서 uv를 pip로 설치했다면 Claude의 PATH에 없을 것입니다. uv.exe의 전체 경로를 사용하세요(pip show uv로 찾을 수 있습니다). Claude Desktop 및 Codex 예시는 config/에 있습니다: claude_code.example.md, claude_desktop_config.example.json, codex-config.example.toml.

보안

민감한 경로는 결정적으로 거부됩니다. 모델이 읽지 않기로 결정하는 것에 의존하지 않습니다. paths.py를 참조하세요.

패턴

보호 대상

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

자격 증명 및 클라우드 구성 디렉터리

브라우저 프로필 루트 (예: User Data)

저장된 로그인 및 쿠키

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

이름 패턴으로 매칭되는 비밀 파일

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

특정 자격 증명 파일 이름

모든 호출은 또한 감사됩니다 — 도구 이름, 인자, 결과(성공 또는 차단됨)가 logs/audit.jsonl에 추가됩니다. audit.py를 참조하세요. 이 모든 것에 더해 50MB 파일 크기 상한이 적용됩니다.

이 서버를 확장하는 사람을 위한 규칙은 AGENTS.md에 있습니다.

오류

모든 실패는 코드, 평이한 이유, 복구 방법과 함께 ToolFailure를 발생시킵니다. 메시지는 사람만을 위한 것이 아니라 호출한 모델이 읽고 행동할 수 있도록 작성됩니다.

코드

발생 조건

PATH_NOT_FOUND

폴더나 파일 경로가 존재하지 않을 때

NOT_A_DIRECTORY / NOT_A_FILE

도구가 잘못된 종류의 경로를 받았을 때

UNSUPPORTED_EXTENSION

파일이 pdf/docx/pptx/svg/png가 아닐 때

WRONG_TOOL_FOR_EXTENSION

예: .docx에 대해 read_pdf를 호출했을 때

FILE_TOO_LARGE

파일이 50MB 상한을 초과할 때

SENSITIVE_PATH_BLOCKED

경로가 위 보안 표에 해당할 때

OCR_ENGINE_NOT_FOUND

ocr=True인데 Tesseract가 설치/구성되지 않았을 때

SVG_PARSE_ERROR

.svg 파일이 유효한 XML이 아닐 때

스캔된 PDF OCR

read_pdf(ocr=True)에는 Tesseract가 필요합니다:

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

ocr_lang 기본값은 "kor+eng"입니다. Tesseract 경로가 잘못되었나요? TESSERACT_CMD를 설정하세요.

테스트

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

변경이 완료된 것으로 간주되려면 둘 다 통과해야 합니다 — pytest는 모듈을 격리된 상태로 검사하고, 스모크 테스트는 실제 MCP 프로토콜을 실행하고 스키마 수준의 손상을 잡아내는 유일한 것입니다.

제한 사항

제한

이유 / 해결 방법

.doc / .ppt는 지원하지 않음

레거시 바이너리 형식 — 먼저 .docx/.pptx로 저장하세요

스캔된 PDF는 기본적으로 빈 텍스트 반환

ocr=True를 전달하세요 (기본적으로 꺼져 있음 — 더 느림)

SVG는 래스터화되지 않음

구조를 위해 XML로 파싱되며, 이미지로 렌더링되지 않음

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