一个用于与 Windows 系统上的本地文档进行交互的模型上下文协议(MCP)服务器。该服务器提供了工具来列出、加载和处理文档,并支持对扫描的 PDF 进行 OCR 处理。
list_documents:通过路径、名称和扩展名查找文档load_documents:将文档内容提取为 Markdownload_scanned_document:使用 OCR 从扫描的 PDF 中提取文本从 python.org 下载并安装 Python 3.13
使用 pip 安装 uv:
pip install uv
目的:用于 PDF 处理和转换为图像以供 OCR 使用。
从以下地址下载最新版本的 Poppler Windows 发行版: https://github.com/oschwartz10612/poppler-windows/releases/
将 ZIP 文件解压到:
D:\Program Files\poppler-24.08.0
Poppler 的二进制文件应位于:
D:\Program Files\poppler-24.08.0\Library\bin
替代位置:您可以在任何目录中安装 Poppler,只需确保更新 .env 文件中的正确路径。
目的:用于从扫描文档和图像中提取文本。
从以下地址下载适用于 Windows 的 Tesseract: https://github.com/UB-Mannheim/tesseract/wiki
按照安装程序说明安装 Tesseract
确保 Tesseract 已添加到系统 PATH 中,或记录安装目录
git clone <your-repo-url>
cd LocalDocs
uv sync
这将根据 pyproject.toml 安装所有必需的依赖项:
markitdown[docx,pdf,pptx,xls,xlsx]>=0.1.2 - 文档转换mcp[cli]>=1.10.1 - MCP 服务器框架opencv-python>=4.11.0.86 - 图像处理pdf2image>=1.17.0 - PDF 转换为图像pytesseract>=0.3.13 - Tesseract OCR 包装器python-dotenv>=1.1.1 - 环境变量管理tiktoken>=0.9.0 - 令牌计数在项目根目录创建或更新 .env 文件:
POPPLER_PATH="D:\\Program Files\\poppler-24.08.0\\Library\\bin"
注意:更新路径以匹配您的 Poppler 安装位置。
向您的 Claude Desktop config.json 文件添加以下配置:
第一个参数:指向您的文档目录的路径
第二个参数:每个文档的最大令牌数
对于不同的文档位置:
{
"mcpServers": {
"local-documents": {
"command": "uv",
"args": [
"--directory",
"C:\\Users\\YourUsername\\Documents\\LocalDocs",
"run",
"server.py",
"C:\\Users\\YourUsername\\Documents\\MyDocuments",
"30000"
]
}
}
}
当 Claude Desktop 加载带有配置设置时,服务器会自动启动。
服务器返回结构化的响应,包括:
🔍 找不到 Poppler
.env 文件配置👁️ 找不到 Tesseract
🔐 权限被拒绝错误
❌ 导入错误
uv syncpython --version⏳ 大文档处理
要获取更详细的错误信息,请检查 Claude Desktop 日志或在 PowerShell 窗口中手动运行服务器。
LocalDocs/
├── server.py # 主 MCP 服务器
├── pyproject.toml # 项目依赖项
├── .env # 环境配置
├── README.md # 本文档
├── src/
│ └── instructions.md # 助手指令
└── utils/
├── __init__.py
├── markitdown.py # 文档转换
├── max_tokens.py # 令牌管理
├── ocr.py # OCR 处理
├── path_files.py # 文件发现
└── prompts.py # 指令加载
贡献于此项目时:
🧠 向量存储和 RAG 集成:未来版本将包括矢量文档存储,以:
🔍 增强 OCR 验证:目前,扫描书籍的 OCR 功能尚未完全验证,可能会遇到以下问题: