Skip to main content
Glama

Document Reader MCP Server

by qitianfeng

文档阅读器 MCP 服务器

一个支持多种文档格式的 Model Context Protocol (MCP) 服务器,可以读取 Word、PDF、文本文件、RTF 等格式,并提供图片提取与分析功能。

🚀 快速开始

1. 安装依赖

# 方式1:使用安装脚本(推荐) python install_deps.py # 方式2:手动安装 pip install -r requirements.txt

2. 启动服务器

python server.py

3. 配置 Kiro IDE

在 Kiro IDE 中创建或编辑 .kiro/settings/mcp.json 文件:

方式1:简化配置(推荐)

{ "mcpServers": { "document-reader": { "command": "python", "args": ["server.py"], "cwd": "D:\\your-path\\document-reader-mcp", "env": { "PYTHONIOENCODING": "utf-8" }, "disabled": false, "autoApprove": [ "list_supported_formats", "get_document_info", "read_document", "read_document_with_media" ] } } }

方式2:完整路径配置

{ "mcpServers": { "document-reader": { "command": "python", "args": ["D:\\devolp\\code1\\document-reader-mcp-master\\document-reader-mcp\\server.py"], "cwd": "D:\\devolp\\code1\\document-reader-mcp-master\\document-reader-mcp", "env": { "PYTHONPATH": "D:\\devolp\\code1\\document-reader-mcp-master\\document-reader-mcp", "PYTHONIOENCODING": "utf-8" }, "disabled": false, "autoApprove": [ "list_supported_formats", "get_document_info", "read_document", "read_document_with_media" ] } } }

配置说明:

  • cwd: 项目根目录路径
  • PYTHONPATH: 确保模块导入正常(方式2需要)
  • PYTHONIOENCODING: 确保中文字符正确显示
  • autoApprove: 自动批准的安全工具列表,减少确认步骤

4. 测试功能

# 测试图表分析 python simple_diagram_reader.py # 测试核心功能 python test_core_features.py

✨ 核心功能

  • 多格式文档读取: 支持 Word (.docx)、PDF、Excel (.xlsx/.xls)、文本文件、RTF 等格式
  • 图片提取与分析: 自动提取文档中的图片并进行结构分析
  • 图表内容理解: 基于 OpenCV 分析流程图、架构图等技术图表
  • 媒体信息提取: 提取文档中的图片和链接信息
  • 链接验证: 自动检查文档中链接的有效性
  • 页面范围选择: PDF 文档支持指定页面范围读取

🛠️ MCP 工具

`read_document_

增强阅读文档,同时提取文字和图片内容

  • file_path: 文 息

extract_documen

提取文档中的图片和链接

  • file_path: 文档路径
  • save_images: 是否保存图片到本地

`

无需复杂配置

  • image_path: 图片路径

📊 图表分析能力

  • 结构识别: 检测矩形、圆形、线条等形元素
  • *构图、网络图等 特征
  • 技术理解: 基

💡 使用场景

增强文档阅读

cx

自动提取文字内容和所有图片,并进行结构分析。

开发时

当 AI-Agent 需要理解业

文件夹 analyze_s") 结构

├── server.py 主程序 析核心模块 ├── ins 依赖安装脚本 ├hon 依赖列表 └── extracted_ima

## 🔧 依赖说明 **核心依赖**: - `mcp`: MCP 协议框架 - `pytho - `PyPDF2`: PDF 文档处理 - `opencv-python`: 图像分析 - `numpy`: 数值计算 **可选依赖* - `st - ` ## 设计理念 这个项目专注于**实用性**和***: OCR 配置 - 基于图像结构分析理解图表 -传 - 为 AI-Agent 开发提供 ## 📄 许可证 MIT License: { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": ["list_supported_formats"] } } }

配置说明

  • autoApprove: 自动批准的安全工具列表
  • disabled: 设为 false 启用服务器
  • cwd: 工作目录(本地安装时需要)
  • PYTHONIOENCODING: 确保中文字符正确显示

使用方法

🚀 快速开始

  1. 配置MCP服务器(见上方配置说明)
  2. 重启Kiro IDE 或重新连接MCP服务器
  3. 开始使用工具

📖 基础文档阅读

读取Word文档
{ "tool": "read_document", "arguments": { "file_path": "report.docx" } }
读取PDF特定页面
{ "tool": "read_document", "arguments": { "file_path": "document.pdf", "page_range": "1-5" } }
读取Excel文档
{ "tool": "read_document", "arguments": { "file_path": "data.xlsx" } }
读取Excel特定工作表
{ "tool": "read_document", "arguments": { "file_path": "data.xlsx", "sheet_name": "Sheet1" } }
获取文档信息
{ "tool": "get_document_info", "arguments": { "file_path": "example.docx" } }

🖼️ 图片自动解析功能

方式1:增强文档阅读(推荐)
{ "tool": "read_document_with_media", "arguments": { "file_path": "document.docx", "include_media_info": true } }

特点

  • ✅ 自动解析图片和链接
  • 📊 在文档内容后显示媒体信息
  • 🎯 适合完整文档分析
方式2:专门媒体提取
{ "tool": "extract_document_media", "arguments": { "file_path": "document.docx", "extract_images": true, "extract_links": true, "save_images": false } }

特点

  • 🎯 专门用于媒体分析
  • 💾 可选择保存图片到本地
  • 📈 提供详细统计信息
方式3:普通阅读(不解析图片)
{ "tool": "read_document", "arguments": { "file_path": "document.docx" } }

特点

  • 🚀 速度最快
  • 📝 只获取文本内容
  • 🎯 适合纯文本需求

🔍 图片解析能力展示

当使用图片解析功能时,你会得到:

文档媒体信息 (example.docx): 摘要: - 图片总数: 2 - 链接总数: 3 - 图片处理错误: 0 - 链接处理错误: 0 图片信息: 1. image1.png - 格式: PNG - 尺寸: (670, 346) - 大小: 174900 字节 - 流程图分析: - 文本: 检测到的文字内容 - 节点数: 5 - 连线数: 4 2. chart.jpg - 格式: JPEG - 尺寸: (800, 600) - 大小: 245600 字节 链接信息: 1. https://www.example.com - 域名: www.example.com - 协议: https - 状态: 可访问 (HTTP 200)

🛠️ 实用工具

查看支持格式
{ "tool": "list_supported_formats", "arguments": {} }
批量处理示例
# 在Kiro中,你可以这样批量处理文档 documents = ["doc1.docx", "doc2.pdf", "doc3.txt"] for doc in documents: # 使用增强阅读获取完整信息 result = mcp_call("read_document_with_media", { "file_path": doc, "include_media_info": True }) print(f"处理完成: {doc}")

页面范围格式

PDF文档支持灵活的页面范围选择:

  • "all" - 所有页面(默认)
  • "1-5" - 第1到5页
  • "1,3,5" - 第1、3、5页
  • "1-3,7,10-12" - 第1-3页、第7页、第10-12页

错误处理

  • 自动检测文本文件编码 (UTF-8, GBK, GB2312, Latin-1)
  • 优雅处理缺失的依赖库
  • 详细的错误信息和建议

媒体处理功能 🆕

图片处理

  • 支持格式: Word文档中的嵌入图片
  • 提取信息: 文件名、格式、尺寸、大小
  • 保存功能: 可选择将图片保存到本地
  • 错误处理: 优雅处理损坏或不支持的图片

链接处理

  • 支持格式: Word、PDF、文本文件中的HTTP/HTTPS链接
  • 提取信息: URL、域名、协议
  • 有效性验证: 自动检查链接是否可访问
  • 状态码: 显示HTTP响应状态码

使用场景

  • 文档内容分析和审计
  • 媒体资源清单生成
  • 链接有效性批量检查
  • 文档迁移前的资源盘点

在 Kiro IDE 中使用

🎯 配置步骤

  1. 打开Kiro IDE
  2. 创建MCP配置文件
    • 路径:.kiro/settings/mcp.json
    • 如果文件不存在,创建一个新文件
  3. 添加配置内容
{ "mcpServers": { "document-reader": { "command": "python", "args": ["server.py"], "cwd": "D:\\your-path\\document-reader-mcp", "env": { "PYTHONIOENCODING": "utf-8" }, "disabled": false, "autoApprove": [ "list_supported_formats", "get_document_info" ] } } }
  1. 重启Kiro 或使用命令面板搜索 "MCP" 重新连接服务器

💡 使用技巧

在聊天中使用
请帮我读取这个Word文档的内容,并分析其中的图片信息: 文件路径:./reports/monthly-report.docx

Kiro会自动调用 read_document_with_media 工具。

批量文档分析
请分析这个文件夹中所有Word文档的媒体信息: - ./docs/report1.docx - ./docs/report2.docx - ./docs/presentation.docx
文档格式转换准备
我需要将这些PDF文档转换为Markdown, 请先帮我分析文档结构和媒体内容: ./pdfs/technical-guide.pdf

🔧 故障排除

常见问题
  1. MCP服务器连接失败
    • 检查 cwd 路径是否正确
    • 确认 server.py 文件存在
    • 检查Python环境是否正确
  2. 中文字符显示异常
    • 确保配置中包含 "PYTHONIOENCODING": "utf-8"
  3. 图片解析失败
    • 检查是否安装了 Pillow 库:pip install Pillow
    • 确认Word文档中确实包含图片
  4. 链接验证不工作
    • 安装 requests 库:pip install requests
    • 检查网络连接
调试方法
  1. 查看MCP服务器状态
    • 在Kiro中打开命令面板
    • 搜索 "MCP Server" 查看连接状态
  2. 测试基础功能
{ "tool": "list_supported_formats", "arguments": {} }
  1. 检查依赖库
{ "tool": "list_supported_formats", "arguments": {} }

返回结果会显示各个依赖库的安装状态。

性能与最佳实践

⚡ 性能优化

选择合适的工具
  • 纯文本需求:使用 read_document(最快)
  • 需要媒体信息:使用 read_document_with_media
  • 专门媒体分析:使用 extract_document_media
大文件处理
{ "tool": "read_document", "arguments": { "file_path": "large-document.pdf", "page_range": "1-10" } }

对于大型PDF,使用页面范围限制可以显著提升性能。

批量处理建议
  • 避免同时处理过多大文件
  • 优先处理小文件,再处理大文件
  • 使用 get_document_info 先了解文件大小

🎯 最佳实践

1. 文档分析工作流
1. get_document_info - 了解文档基本信息 2. read_document - 快速获取文本内容 3. read_document_with_media - 深入分析(如需要)
2. 媒体资源管理
{ "tool": "extract_document_media", "arguments": { "file_path": "document.docx", "extract_images": true, "extract_links": true, "save_images": true } }

设置 save_images: true 可以将图片保存到本地,便于后续处理。

3. 错误处理
  • 始终检查返回结果中的错误信息
  • 对于批量处理,建议逐个处理并记录失败的文件
  • 使用 list_supported_formats 确认依赖库状态

📊 性能数据

操作平均耗时内存使用
读取文本文件 (1MB)< 0.1秒
读取Word文档 (5MB)< 0.5秒中等
读取PDF文档 (10MB)< 1秒中等
图片提取 (含10张图)< 2秒较高
链接验证 (10个链接)2-5秒

依赖库

核心依赖

  • mcp - MCP协议支持
  • python-docx - Word文档处理
  • PyPDF2 - PDF文档处理
  • striprtf - RTF文档处理

媒体处理依赖 🆕

  • Pillow - 图片处理和分析
  • requests - 链接验证(可选)

安装命令

# 安装所有依赖 pip install -r requirements.txt # 或单独安装 pip install mcp python-docx PyPDF2 striprtf Pillow requests openpyxl pandas

快速参考

🔧 工具对比表

工具名称读取文本解析图片提取链接性能适用场景
read_document🚀🚀🚀快速文本阅读
read_document_with_media🚀🚀完整文档分析
extract_document_media🚀专门媒体提取
get_document_info🚀🚀🚀文档信息查看
list_supported_formats🚀🚀🚀功能状态检查

📋 支持格式一览

格式扩展名文本读取图片提取链接提取页面范围
Word文档.docx
PDF文档.pdf
Excel文档.xlsx, .xls
纯文本.txt, .md
RTF文档.rtf
代码文件.py, .js, .html, .css

🎯 使用场景推荐

场景推荐工具配置建议
快速浏览文档内容read_document无特殊配置
文档内容+媒体分析read_document_with_mediainclude_media_info: true
媒体资源清单extract_document_mediasave_images: true
链接有效性检查extract_document_media安装 requests
大文件处理read_document使用 page_range
批量文档处理组合使用先用 get_document_info

更新日志

v2.1.0 🆕

  • ✅ 新增Excel文档支持 (.xlsx/.xls)
  • ✅ Excel图片提取功能
  • ✅ Excel链接提取和验证功能
  • ✅ Excel工作表信息获取
  • ✅ 支持指定工作表读取

v2.0.0

  • ✅ 新增图片自动解析功能
  • ✅ 新增链接提取和验证功能
  • ✅ 新增 read_document_with_media 工具
  • ✅ 新增 extract_document_media 工具
  • ✅ 支持图片保存到本地
  • ✅ 支持流程图基础分析
  • ✅ 完善错误处理机制

v1.0.0

  • ✅ 基础文档读取功能
  • ✅ 多格式支持
  • ✅ PDF页面范围选择
  • ✅ 文档信息获取

许可证

MIT License

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Enables text extraction from web pages and PDFs, and execution of predefined commands, enhancing content processing and automation capabilities.
    Last updated -
    3
    TypeScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    Provides comprehensive document processing, including reading, converting, and manipulating various document formats with advanced text and HTML processing capabilities.
    Last updated -
    16
    41
    14
    TypeScript
    MIT License
  • -
    security
    F
    license
    -
    quality
    Provides tools for reading and extracting text from PDF files, supporting both local files and URLs.
    Last updated -
    25
    Python
  • A
    security
    A
    license
    A
    quality
    A server that enables OCR capabilities to recognize text from images, PDFs, and Word documents, convert them to Markdown, and extract key information.
    Last updated -
    3
    35
    19
    JavaScript
    MIT License

View all related MCP servers

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/qitianfeng/document-reader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server