DocTools MCP
Gemini-CLI等AI代理是为了能够自由阅览、检索、加工PDF、PowerPoint、Excel、CSV、HTML等本地文档的MCP(Model Context Protocol)服务器。
概要
该项目提供一个专门用于文档操作的MCP服务器。 考虑到大容量数据的处理,将提取结果作为文件保存,或以紧凑的数据结构返还,从而有效地利用LLM的上下文窗口。
主要机能
DocTools服务器(doctools-mcp)
全文搜索工具
search_documents:使用已创建的索引快速搜索Office文档。
- 支持多索引:可通过切换多个索引(例如,每个项目)进行搜索。 - 布尔查询: AND, OR, NOT, "" 的检索对应。 - 目录缩小: directory 通过参数,可以只对特定文件夹下属进行缩小(Fasting)(前方一致)。
list_indexes:获取可用索引的列表以及每个索引的说明。
PDF工具
pdf_extract_markdown:从PDF提取文本并将其保存为Markdown文件。pdf_extract_images:将PDF的特定页面保存为图像(PNG/JPG)。最适合使用多模式LLM理解图解和公式。pdf_extract_pages:将PDF的特定页面作为其他文件剪切。pdf_count_pages:获取PDF的总页数。
PowerPoint工具
pptx_extract_markdown:提取幻灯片内容(包括表格)并将其保存为Markdown文件。pptx_extract_images:将幻灯片另存为图像(PNG/JPG)。对系统构成图和图表的理解发挥强大的力量。pptx_count_slides:获取总幻灯片数。pptx_extract_slides:将指定幻灯片另存为文件。pptx_merge:将多个PowerPoint文件合并为一个,同时保留原始布局和主文件(Windows环境)。
Excel工具
xlsx_list_sheets:获取所有工作表名称。xlsx_extract_markdown:以Markdown表格格式提取指定工作表的内容,并将其保存为文件。xlsx_extract_csv:将指定工作表(或所有工作表)导出为单独的CSV文件。xlsx_extract_sheet:创建仅提取指定工作表的新Excel文件。xlsx_extract_images:将指定图纸保存为图像(PNG/JPG)。为了将布局优化为1页横宽并输出,最适合读取Excel中描绘的流程图和设计图。
CSV工具
csv_read_cells:提取指定行列的范围(矩形区域)。csv_search_values:执行字符串搜索并返回已命中单元格的位置和值。csv_get_metadata:获取元信息,如字符代码、总行数和列数。csv_extract_to_file:将指定范围内的数据另存为文件。
文本处理工具
text_read_head:从文本文件的开头读取指定行数。text_read_tail:从文本文件的末尾导入指定行数。text_grep:使用正则表达式在文本文件中搜索。text_get_metadata:获取文本文件的编码(自动确定)、大小和行数。text_convert_encoding:转换文件的字符代码(Shift-JIS->UTF-8等)。text_copy_clipboard:将指定的文本复制到Windows剪贴板。很方便快速利用AI生成的回答和提取的路径。
HTML工具
html_extract_markdown:从HTML中提取文本并将其保存为Markdown文件。
图像操作工具
image_get_metadata:获取图像文件(PNG等)的尺寸(宽度、高度)。image_crop:裁剪图像的指定矩形区域(以像素为单位)并将其另存为文件。image_save_clipboard:将Windows剪贴板上的图像保存为PNG文件。将其他应用程序正在使用的画面快速共享给LLM非常方便。
实用程序
zip_files将指定的文件群压缩到ZIP存档文件中。unzip_file:解压缩ZIP存档文件。
安装
在当前目录中作为包安装,可作为CLI命令使用。
pip install .这将在系统中注册以下命令:
doctools-mcp:启动文档操作和搜索MCP服务器。index_ctl:管理和构建全文搜索索引的工具。
安装,安装
1.环境设定
.env 请创建文件并指定索引的保存位置。
# 複数のインデックスを格納するベースディレクトリ (必須)
WHOOSH_INDEX_BASE_DIR=C:\path\to\your\index_base2.构建搜索索引
CLI工具 index_ctl 中所述修改相应参数的值。
# 基本: 存在すれば差分更新、なければ新規作成します
index_ctl build
# 説明(Description)付きで構築
index_ctl build --description "Project A Specifications"
# 対象とする拡張子をカスタマイズ(例: PythonとSQLを追加)
index_ctl build --ext .pdf .md .py .sql
# 処理の詳細(タイムアウト設定やDry-run)
index_ctl build --timeout 60 --dry-run- 自定义扩展名:
--ext可选的扩展名。 - 持久化设置: 一度
--ext如果在中指定扩展名进行构建,则该设置将作为索引的元数据保存。下一次更新(build)有时--ext中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。 - 默认扩展名:如果没有选项,也没有过去的设置
.pdf, .pptx, .xlsx, .docx, .txt, .md中所述修改相应参数的值。
用法
MCP服务器以标准输入输出模式启动。
# MCP サーバーの起動
doctools-mcp索引维护(index_ctl)
# 利用可能なインデックスの一覧表示
index_ctl list
# 特定のインデックスに登録済みファイルの一覧表示
index_ctl list
# インデックスからのパス削除
index_ctl delete
各命令操作对象的 index_name 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。list 在没有参数的情况下执行命令时,将显示基目录下的索引名称及其说明的列表。
