Skip to main content

使用 DeepSeek-OCR 将 PDF 转换为 Markdown 的 MCP 工具

Project description

PDF to Markdown MCP Server

使用 DeepSeek-OCR 将 PDF 文件转换为 Markdown 格式的 MCP (Model Context Protocol) 服务。

功能特性

  • pdf_to_markdown: 将 PDF 转换为 Markdown(图片只保留链接,不解析内容)
  • augment_markdown_images: 对 Markdown 中的图片链接添加 OCR 解析内容
  • pdf_to_markdown_full: 一站式完成 PDF 转 Markdown 并增强图片解析

安装

1. 创建虚拟环境

cd mcp-server-pdf_to_markdown
uv venv
source .venv/bin/activate  # Linux/Mac
# 或 .venv\Scripts\activate  # Windows

2. 安装依赖

uv add mcp openai openai-agents pydantic python-dotenv
uv add torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --find-links https://download.pytorch.org/whl/cu118
uv add vllm==0.8.5
uv add PyMuPDF img2pdf einops easydict addict Pillow numpy tqdm
uv add flash-attn==2.7.3 --no-build-isolation

3. 安装项目

uv pip install -e .

使用方法

命令行运行

# 使用默认配置
mcp-server-pdf-to-markdown

# 指定 GPU
mcp-server-pdf-to-markdown --gpu_id 0

# 指定模型路径
mcp-server-pdf-to-markdown --model_path /path/to/DeepSeek-OCR

MCP Inspector 测试

npx -y @modelcontextprotocol/inspector uv run mcp-server-pdf-to-markdown

在 Cherry Studio 中添加

名称: mcp-server-pdf-to-markdown
命令: uvx
参数:
    mcp-server-pdf-to-markdown

MCP 工具说明

1. pdf_to_markdown

将 PDF 文件转换为 Markdown 格式。

参数:

  • pdf_path (str): PDF 文件的完整路径
  • output_dir (str): 输出目录的完整路径
  • gpu_id (str, 可选): 使用的 GPU ID,默认 "0"

返回:

  • success: 是否成功
  • markdown_path: 生成的 Markdown 文件路径
  • images_dir: 图片保存目录
  • page_count: 处理的页数

2. augment_markdown_images

为 Markdown 文件中的图片链接添加 OCR 解析内容。

参数:

  • markdown_path (str): 输入的 Markdown 文件路径
  • output_path (str, 可选): 输出文件路径
  • image_root (str, 可选): 图片根目录
  • cache_json (str, 可选): 缓存文件路径
  • gpu_id (str, 可选): 使用的 GPU ID

返回:

  • success: 是否成功
  • output_path: 输出文件路径
  • images_processed: 处理的图片数量

3. pdf_to_markdown_full

一站式将 PDF 转换为 Markdown 并解析图片内容。

参数:

  • pdf_path (str): PDF 文件的完整路径
  • output_dir (str): 输出目录的完整路径
  • augment_images (bool, 可选): 是否解析图片内容,默认 True
  • cache_json (str, 可选): 图片解析缓存文件路径
  • gpu_id (str, 可选): 使用的 GPU ID

返回:

  • success: 是否成功
  • markdown_path: 基础 Markdown 文件路径
  • augmented_path: 增强后的 Markdown 文件路径
  • images_dir: 图片保存目录
  • page_count: 处理的页数
  • images_processed: 解析的图片数量

模型要求

本服务需要 DeepSeek-OCR 模型,默认路径为:

/home/ad/tianhaoyang/vllm_model/deepseek-ai/DeepSeek-OCR

可以通过 --model_path 参数指定自定义路径。

示例输出

转换后的 Markdown 文件结构:

# 文档标题

正文内容...

![](images/0_0.jpg)
*图片标题*
<details><summary>图片解析</summary>

- 图片内容要点1
- 图片内容要点2
- 图片内容要点3

</details>

<--- Page 1 --->

下一页内容...

许可证

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_pdf_to_markdown-0.2.0.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_pdf_to_markdown-0.2.0-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_pdf_to_markdown-0.2.0.tar.gz.

File metadata

File hashes

Hashes for mcp_server_pdf_to_markdown-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fe5edd6fe30b839720fb95d9f751cd7110e6b86eb79e867d03a5714c6d3b173c
MD5 dde71d9e2a46e9e227b99c89e2d4b933
BLAKE2b-256 b5ae2412231290509880057658fda91c916e412dfe56a36edc115c010681da74

See more details on using hashes here.

File details

Details for the file mcp_server_pdf_to_markdown-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_pdf_to_markdown-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7701a85c465e4cf80910047f94ac78c9e106c4a2463bc9a712524672754df2f
MD5 9e2202a5c72f5f1d9ce31d429b54cdb2
BLAKE2b-256 412b9e1d73ee3f9272d8ed3db6dafa9f6e2fc66ea45d92335fa36d785a2642e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page