Skip to main content
Glama
minheyok-choi

file-analysis-mcp

file-analysis-mcp

「このフォルダにある pdf/docx/pptx/svg/png ドキュメント、全部読んで要約して。」 Claude Code にこの一文を実行させるための個人用 MCP サーバーです。

Python 3.11+ MCP read--only tests

フォルダを指定すると、中のドキュメントを開いてテキストだけをそのまま抽出して返します。 要約・解釈は このサーバーではなく、このサーバーを呼び出した Claude が会話の中で行います — そのため、別途 LLM API キーは不要で、ローカルで完全にプライベートに動作します。


目次


Related MCP server: file-analyzer

実際にはこう動作します

Claude Code で実際のフォルダ(社内 PRD ドキュメントが入ったフォルダ)を指定して質問した結果です。

: docs フォルダにあるドキュメントを要約して、ファイル構造を分析して

Claude が analyze_folder_structureanalyze_folder を順に呼び出し、返ってきた 原文テキストをもとに次のように回答します。

[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는 "파라미터 엑셀 입력 시 집계시트 자동 생성 + 오류 빨강 표시"
공통점: 사람 검토·승인은 항상 최종 단계로 남겨둔다는 원칙이 두 문서 모두에 명시됨.

サーバーはテキストを渡しただけで、上記の要約文はすべて Claude が作成したものです — これが このプロジェクトが目指す役割分担です。

クイックスタート

# 1) 의존성 설치 (uv 사용)
uv sync --extra dev

# 2) 확인
uv run pytest                        # 유닛테스트
uv run python scripts/smoke_stdio.py # 실제 MCP 프로토콜로 서버를 띄워보는 스모크 테스트

OCR(PNG 分析)が必要な場合は Tesseract-OCR を 別途インストールしてください — 下記 Claude Code への登録 の前半に案内があります。 インストール前でも残り4つのツールは正常に動作します。

ツール5つ

ツール

説明

ガードレール

scan_folder

フォルダ内の対象ファイル一覧(パス/サイズ/更新日)と拡張子別の件数を返す

max_files(デフォルト300)超過時は list_truncated=True

analyze_folder_structure

サブフォルダを含むツリー構造、拡張子別統計、容量、最大ファイル一覧を返す

ツリーのみ max_files で上限(統計は常に全体基準)

read_document

pdf/docx/pptx/svg ドキュメント1つのテキストを抽出

max_chars で切り詰め、truncated=True で明示

read_image_text

png 画像1つを OCR で読み取り、テキストを抽出

同様 + OCR 結果が空の場合は理由を next_actions で案内

analyze_folder

フォルダ内の全対象ファイルを一度に抽出してレポートで返す(複数回呼び出す必要なし)

max_files(デフォルト50)超過時は skipped_due_to_limit で件数を明示

すべてのツールは読み取り専用で、ファイルを変更・削除しません。上限(max_files)に達しても ファイルを黙って省略せず、何件を見られなかったかを応答にそのまま残し、statusPARTIAL になることでその事実をすぐに確認できます。

Claude Code への登録

OCR エンジンのインストール(PNG 分析にのみ必要)

pytesseract は Tesseract-OCR エンジンの Python バインディングに過ぎず、エンジン本体は別途 インストールする必要があります。

  1. UB-Mannheim Tesseract インストール版 を ダウンロードして Windows にインストールします。(日本語認識が必要な場合は、インストール中に "Additional language data" で Japanese にチェックを入れてください。)

  2. インストールパス(デフォルト C:\Program Files\Tesseract-OCR)をシステム PATH に追加します。

  3. tesseract --version でインストールを確認します。

サーバー登録

このリポジトリにはすでに .mcp.json がルートに用意されています。Claude Code を file-analysis-mcp フォルダ(または上位フォルダ)で実行すると自動的に認識されます。再起動 後、/mcp コマンドまたはツール一覧で file-analysis の5つのツールが見えるか確認してください。

手動で登録する場合:

claude mcp add file-analysis -- uv --directory "C:\Users\20223\Desktop\file-analysis-mcp" run python src/file_analysis_mcp/server.py

推奨フロー: analyze_folder_structure で構造を先に把握 → analyze_folder で 全ドキュメントのテキストを一括抽出 → Claude が抽出されたテキストをもとに要約。

プロジェクト構成

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/       # 테스트용 샘플 문서

設計原則: ハーネスエンジニアリング

このサーバーは「機能を増やすこと」よりもモデルが応答だけを見て次に何をすべきか分かるように することを優先します。awesome-harness-engineering で 紹介されている原則のうち、ローカル・単一ユーザー・読み取り専用というこのプロジェクトの性質に 実際に合うものだけを選択的に適用しました。(OpenTelemetry による可観測性、プロンプトインジェクションの サンドボックス化、mcp-guardian 系のスコープ承認ゲーティングなどは、マルチユーザー・長期実行 エージェント向けのもので、この規模の個人用ツールには過剰なため適用していません。)

適用したもの

このプロジェクトでの形態

明確なツール境界

ツール docstring に目的 + Returns + 「使用する / 使用しない」例を明記し、モデルが5つのツールから正確なものを選べるようにする

次のアクション案内

すべての応答が status + next_actions を含む。成功/部分成功/空結果などの状況別に、次に呼ぶべきツールと理由を具体的に提示

アクション可能なエラー

ToolFailure が原因コード + 復旧方法 + 選択可能な値を強制。例: 非対応拡張子 → 利用可能な拡張子の一覧

コンテキスト節約(個別応答)

read_document/read_image_text/analyze_foldermax_chars(ファイルあたり)で切り詰め、truncated で明示

コンテキスト節約(ガードレール)

scan_folder/analyze_folder_structure/analyze_folder はファイル数上限(max_files)を設け、フォルダ内のファイルが非常に多くても1回の呼び出しが無限に大きくならないようにする

有益な失敗をコンテキストに保持

analyze_folder は1つのファイルが失敗してもバッチを中断せず、成功/失敗をファイルごとに残して次の段階の判断に活用させる

静かな損失の禁止

上限を超えてもファイルをこっそりスキップせず、list_truncated/skipped_due_to_limit で正確に何件を見られなかったかを応答に残す

ツール契約テスト

tests/test_server_contract.py が「すべてのツールに説明/annotations があるか」「引数スキーマがフラットか」「すべてのツールが read-only か」「ガードレールが実際に機能するか」をコードで検証

意図的に適用していないもの

  • 要約/根拠検証(grounding)機能: このサーバーは「抽出のみ」を行う設計なので(要約は ホストモデルの役割)、該当しません。

  • 行番号引用アンカー(L12 | ...): 引用根拠を検証する別途ツールがない限り、 テキストが汚くなるだけなので適用していません。必要になれば harness.number_lines() を 再利用して追加できます。

  • 承認トークン方式の保存ワークフロー: このサーバーはファイルを書き込まないため、該当なし。

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

  • A
    license
    A
    quality
    C
    maintenance
    Provides 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.
    3
    14
    MIT
  • 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
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.

View all related MCP servers

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.

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/minheyok-choi/fileanalyzer_mcp-testmonial'

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