Skip to main content
Glama
BitFigther

local-docs-mcp

by BitFigther
README.md
# local-docs-mcp

ローカルフォルダ内のドキュメントを検索・閲覧して、質問への回答を探せる MCP サーバ。

## 機能

`DOCS_ROOT` に指定したフォルダ配下の docx / pptx / xlsx / pdf / md / txt / csv / html を対象に:

| ツール | 内容 |
|---|---|
| `list_documents` | ドキュメント一覧(相対パス・サイズ・更新日時) |
| `search_documents` | 全文検索。スペース区切りでAND検索。マッチ箇所の抜粋付きで返す |
| `read_document` | 本文をテキスト(Markdown)として読み出し。大きい文書は offset で分割読み |

回答の組み立てはMCPクライアント(Claude)側が行う。サーバは検索と本文抽出のみを担当する。
Office系ファイルは [markitdown](https://github.com/microsoft/markitdown) でテキスト変換し、
抽出結果はファイル更新日時ベースでキャッシュする。

## セットアップ

[uv](https://docs.astral.sh/uv/) が必要。依存関係は初回実行時に自動で解決される。

```bash
DOCS_ROOT=/path/to/documents uv run server.py
# エラーなく起動して待機すればOK (Ctrl+C で終了)
```

## テスト用ドキュメント

`test_docs/` に、動作確認用のサンプル文書一式が入っている(架空の会社「株式会社サンプル商事」の社内文書。対応フォーマットを網羅)。

```
test_docs/
├── 規程/
│   ├── 経費精算規程.docx       # 締め日は毎月5日、支払日は当月25日
│   ├── 出張旅費規程.pdf        # 日当2,500円、宿泊上限12,000円
│   └── 在宅勤務ガイドライン.md  # 週3日上限、在宅手当 月3,000円
├── 総務/
│   ├── 有給休暇FAQ.txt         # 入社6か月で10日付与、繰越は翌年度まで
│   ├── 社内連絡先一覧.xlsx      # 部署・担当・内線・メールの表
│   └── 備品購入申請ルール.csv   # 金額別の承認者(10万円以上は稟議書)
├── 議事録/
│   └── 2026-07-01_全社定例会議事録.md  # システム切替日、夏季休業日程
└── 資料/
    └── 新製品発表会企画.pptx    # 日程・会場・予算上限500万円
```

各ファイルには答え合わせ可能な事実を仕込んであるので、`DOCS_ROOT` をこのフォルダに向けて
「経費精算の締め日はいつ?」「出張の宿泊費の上限は?」「経理部の内線番号は?」などと質問すれば、
検索 → 本文読解 → 回答の一連の流れをテストできる。

```bash
DOCS_ROOT=$(pwd)/test_docs uv run server.py
```

## Claude Code への登録

```bash
claude mcp add local-docs \
  -e DOCS_ROOT=/path/to/documents \
  -- uv --directory /path/to/this/repo run server.py
```

登録後、Claude Code で「◯◯について規程ではどうなってる?」のように聞くと、
検索 → 該当文書の読解 → 回答、が自動で行われる。

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: listing all documents, reading a specific document with pagination, and full-text searching. No ambiguity or overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (list_documents, read_document, search_documents), making them predictable.

Tool Count5/5

Three tools are well-scoped for a document server, covering the essential operations without unnecessary bloat or deficiency.

Completeness5/5

The tool set provides listing, reading with pagination, and full-text search, which is complete for a read-only document retrieval system. No obvious gaps.

Maintenance

ActivityStale
ResponsivenessNo issues