用途
go-docs-mcp 是一个用 Go 编写的 MCP(Model Context Protocol)服务器,用于让 AI 访问多种格式的文档。它通过单一二进制文件同时处理 PDF、TXT、Markdown、DOCX、CSV 和图像,避免为每种格式分别部署服务器。
主要能力
- 多格式支持:PDF、TXT、MD、CSV、DOCX 和图像。
- 共 13 个工具,覆盖文档列表、格式与依赖状态查询、文本读取、搜索、摘要、元数据、大纲、表格提取、图像提取、URL 下载、强制 OCR 和图像 OCR。
- OCR:对扫描版文档自动回退到 tesseract;也可强制对 PDF 或图像执行 OCR。
- 缓存:基于 mtime 的内存缓存,避免重复提取。
- 安全:目录锁定,防止路径遍历;只读操作;URL 下载限制 50MB 并校验 Content-Type。
- 可移植:支持 macOS 和 Linux。
使用方式
前置依赖:Go 1.25+;PDF 需要 poppler;OCR 需要 tesseract(可选);DOCX 需要 pandoc(可选)。TXT、MD、CSV 无需额外依赖。
通过环境变量 DOCS_MCP_DIR 配置文档目录,将文档放入该目录后服务器会自动发现。
可与 Claude Code、Claude Desktop 或任意 MCP 客户端集成。服务器通过 stdio 使用 JSON-RPC 2.0 通信。
适用场景
需要让 AI 统一读取多种格式文档、对扫描件进行 OCR、从文档中提取表格或图像、或从 URL 获取文档内容的场景。
限制
- 仅支持 macOS 和 Linux。
- 只读,无写入操作。
- 仅能访问 DOCS_MCP_DIR 目录内的文件。
- URL 下载最大 50MB。
- 图像提取每次最多返回 10 张。
- 部分格式依赖外部工具(poppler、tesseract、pandoc)。
项目信息
采用 MIT 许可证,Copyright 2026 Drolosoft。