local-docs-mcp
local-docs-mcp
Персональный MCP-сервер, который читает документы на локальном ПК и помогает с их резюмированием и упорядочиванием. Извлекает текст из PDF, Word, Excel, PowerPoint, HWP, Markdown, CSV и других форматов, а сохранение резюме и упорядочивание файлов выполняет с процедурой подтверждения.
Не использует сеть. API-ключи не требуются.
Резюме пишет не этот сервер. Он точно извлекает исходный текст, а резюме составляет Claude. (
machine_keypoints, которые выдаёт сервер, — это частотная машинная выжимка, а не резюме.)За пределами разрешённых папок чтение невозможно. Перемещение или сохранение файлов всегда требует подтверждения.
Поддерживаемые форматы
Тип | Расширения | Способ |
Документы |
| Прямой разбор ZIP+XML (заголовки, абзацы, таблицы) |
HWP |
| hwpx поддерживается из коробки, для |
|
| |
Презентации |
| По номеру слайда + заметки докладчика |
Таблицы |
| По листам, с разбором общих строк |
Данные |
| Включая имена столбцов и число строк |
Веб и почта |
| Удаление тегов, для почты — заголовки + тело |
Текст и код |
| Автоопределение UTF-8/CP949/EUC-KR |
.doc, .xls, .ppt (старые бинарные форматы) не читаются; сервер подсказывает «сохраните в формат с x».
Related MCP server: Knowledge Assistant MCP
Установка
Требуется Python 3.11 или новее.
python -m venv .venv && .venv/Scripts/pip install -e ".[formats,dev]"На macOS и Linux используется .venv/bin/pip. [formats] дополнительно устанавливает pypdf для PDF и
olefile для .hwp (бинарного); без них остальные форматы всё равно работают.
Регистрация в Claude Code
<PROJECT_DIR> — это абсолютный путь к клонированному репозиторию, <HOME> — домашняя папка пользователя.
claude mcp add local-docs --scope user --env DOCS_MCP_ROOTS="<HOME>/Desktop;<HOME>/Documents" --env DOCS_MCP_OUTPUT="<HOME>/Desktop/docs-mcp-out" -- <PROJECT_DIR>/.venv/Scripts/python.exe -m docs_mcp.serverЕсли сервер нужен только внутри этого репозитория, скопируйте .mcp.json.example в .mcp.json
и замените <PROJECT_DIR> и <HOME> на реальные пути. .mcp.json не отслеживается в репозитории, так как пути различаются на каждой машине.
Переменные окружения
Переменная | Назначение | Значение по умолчанию |
| Список папок, разрешённых для чтения (разделитель | Рабочий стол, Документы, Загрузки |
| Папка для резюме и журнала упорядочивания |
|
| Максимальный размер одного файла |
|
| При | Не задано (только копирование) |
11 инструментов
Инструменты регистрируются с разделением на read-only (R) и write (W), чтобы хост показывал разный UI подтверждения.
Инструмент | Что делает | |
R |
| Проверка доступных папок, поддерживаемых форматов и лимитов |
R |
| Обзор папки и список документов (тип, размер, дата изменения) |
R |
| Структура, заголовки, ключевые слова, репрезентативные предложения. Для оценки до чтения целиком |
R |
| Извлечение текста. Метки разделов и курсор для продолжения чтения |
R |
| Поиск по тексту нескольких документов + фрагменты-обоснования |
R |
| Равномерная выжимка из нескольких документов в рамках лимита символов |
R |
| Предпросмотр содержимого и пути сохранения + выдача токена подтверждения |
W |
| Сохранение подтверждённого резюме в выходную папку |
R |
| Только создание плана упорядочивания (файлы не меняются) + токен подтверждения |
W |
| Выполнение подтверждённого плана (по умолчанию копирование) |
W |
| Откат только по записям журнала |
Рекомендуемый порядок действий
list_roots
→ scan_documents 어떤 문서가 있는지
→ outline_document 긴 문서는 뼈대부터
→ read_document 원문을 근거로 확보 (필요하면 이어 읽기)
→ (Claude가 요약 작성)
→ preview_save_summary 저장 내용 확인
→ [사용자 승인]
→ save_summaryУпорядочивание выполняется отдельно.
preview_organize 계획만 생성 — 파일은 하나도 건드리지 않음
→ [사용자가 계획 확인·승인]
→ apply_organize (기본 copy)
→ 문제가 있으면 undo_last_organizeКритериев упорядочивания четыре.
Критерий | Итоговая папка |
|
|
| Месяц изменения, например |
|
|
| Имя, заданное правилом. Например: |
Механизмы безопасности
Блокировка путей — все входные пути проверяются через
resolve(), затем проверяется, что они внутри разрешённых корней..., символические ссылки и переходы между дисками блокируются здесь же.Блокировка записи — сохранение возможно только внутри выходной папки. В корни чтения запись не выполняется.
Исключённые папки —
.git,node_modules,.venv,AppDataи т.п. не просматриваются и не читаются.Токен подтверждения — это хэш содержимого предпросмотра. Если содержимое изменится хотя бы на один символ, токен ломается, и сохранение или упорядочивание отклоняется. Однако токен гарантирует только техническую целостность и не заменяет подтверждение пользователя.
По умолчанию — копирование — перемещение оригинала возможно только при
DOCS_MCP_ALLOW_MOVE=1.Никакого удаления — откат тоже не удаляет файлы, а перемещает их в папку
_trash.
Проверка
.venv/Scripts/python.exe -m pytest -q.venv/Scripts/python.exe scripts/smoke.py.venv/Scripts/python.exe scripts/simulate.pypytest— извлечение по форматам, граничные проверки, поток подтверждения (модульные тесты)smoke.py— проверка через реальный stdio:initialize → tools/list → tools/callsimulate.py— создаёт набор виртуальных документов и воспроизводит весь поток через реальное MCP-подключение. Создаются 12 виртуальных документов: протоколы совещаний, договоры, сметы, презентации, PDF, заметки в CP949 и т.д., затем выполняются обзор → сохранение резюме → упорядочивание → откат, и проверяется, что запрещённые действия (чтение вне корней, подделка токена, перемещение оригинала) действительно блокируются. Всё работает во временной папке и само удаляется по завершении. Чтобы сохранить результат, передайте папку аргументом.
Ограничения
В отсканированных PDF-изображениях текста нет. OCR не выполняется, только предупреждение.
Ячейки Excel с датами могут отображаться как внутренние серийные номера.
.hwp(бинарный) — это наилучшее извлечение. Порядок таблиц и сносок может отличаться от оригинала.Текст внутри изображений не читается ни в одном формате.
Лицензия
MIT — LICENSE
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
- AlicenseNot gradedqualityAmaintenanceConverts PDFs, Office files, spreadsheets, emails, audio, and more to Markdown locally, enabling AI assistants to read and process them without cloud upload.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with local documents (PDF, Markdown, TXT) through tools for discovery, reading, extraction, summarization, comparison, keyword extraction, search, and analysis, ensuring privacy and offline capability.
- FlicenseNot gradedqualityCmaintenanceEnables 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.
- 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
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.
Vector RAG store for Word/Excel/PDF/PowerPoint. Break-even pricing, $5 per 5,700 pages.
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/samsung10-gif/file_check'
If you have feedback or need assistance with the MCP directory API, please join our Discord server