Token导航 LogoToken导航TokenDH.com
MCP Md Pdf logo
文档知识stdio官方级别未说明来源级核验

MCP Md Pdf

MCP Server

一个简单可靠的MCP服务器,可将Markdown文件转换为专业的Word和PDF文档,支持.dotx模板。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
文档转换PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sham-devs

提供方

sham-devs

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx mcp-md-pdf

详细介绍

MCP-MD-PDF:Markdown到Word/PDF转换器

](https://pypi.org/project/mcp-md-pdf/) ](https://pypi.org/project/mcp-md-pdf/) ![Tests](https://github.com/sham-devs/mcp-md-pdf/actions/workflows/tests.yml) ![License: MIT](https://opensource.org/licenses/MIT)

一个简单可靠的模型上下文协议(MCP)服务器,可将Markdown文件转换为专业Word(.docx)和PDF文档,并完全支持 .dotx 模板。

______________________________________________________________________

背景

这个工具是出于实际需要而诞生的。 我们经常用Markdown编写文档、指南和技术说明——它快速、轻便、易于版本。 但是,当需要将这些文件交付给客户或专业展示时,我们通常希望它们与我们的项目或公司风格相匹配:干净的布局、一致的字体、品牌封面和精美的格式。

因此,我们构建了一个简单的流程,而不是每次都手动执行:

转换Markdown→ Word(.docx使用 .dotx 模板)→ PDF

通过使用Word模板,我们可以一次性应用自己的设计,并保持每个文档的一致性。 这就是这个小项目的由来——一种快速的方法,可以将Markdown变成漂亮的、随时可以共享的文档,看起来像是属于你的组织。

______________________________________________________________________

特性

  • 🚀 快速转换 –从Markdown到Word或PDF只需几秒钟
  • 🎨 模板支撑 –申请 .dotx 一致的品牌风格模板
  • 📦 批处理 –一次转换多个文件
  • 🔧 灵活的输出 –选择 .docx, .pdf,或两者皆有
  • 🤖 AI就绪 –旨在与Claude和其他MCP兼容的AI工具顺利集成

______________________________________________________________________

安装

选择最适合您需求的安装方法:

方法代码下载?PDF支持最适合
uvx (选项1)❌ 否✅ 是(需要LibreOffice)克劳德桌面用户
(选项2)❌ 否✅ 是(需要LibreOffice)Python包用户
来源 (选项3)✅ 是✅ 是(需要LibreOffice)开发人员

选项1:使用 uvx (推荐-无需下载代码)

最适合: 想要最简单安装的Claude Desktop用户。

要求:

  • Python 3.10+
  • PDF转换:

- 窗户: Microsoft Word(使用COM自动化) - macOS: LibreOffice(brew install --cask libreoffice) - Linux: LibreOffice(sudo apt-get install libreoffice)

安装:

# No code download needed - uvx handles everything
uvx mcp-md-pdf

Claude桌面设置:

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "md-pdf": {
      "command": "uvx",
      "args": ["mcp-md-pdf"]
    }
  }
}

重新启动克劳德桌面 以使更改生效。

📖 看 配置节 用于配置文件位置和替代设置。

______________________________________________________________________

选项2:使用 pip (无需下载代码)

最适合: 希望安装为Python包的用户。

要求:

  • Python 3.10+
  • 对于PDF转换(与选项1相同):

- 窗户: 微软 Word - macOS/Linux: LibreOffice

安装:

# Install from PyPI (when published)
pip install mcp-md-pdf

# Or install with development dependencies
pip install "mcp-md-pdf[dev]"

Claude桌面设置:

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "md-pdf": {
      "command": "python",
      "args": ["-m", "md_pdf_mcp.server"]
    }
  }
}

重新启动克劳德桌面 以使更改生效。

📖 看 配置节 用于配置文件位置和替代设置。

______________________________________________________________________

选项3:来源(需要下载代码)

最适合: 想要修改代码或做出贡献的开发人员。

要求:

  • Git
  • Python 3.10+
  • 用于PDF转换(与上述相同)

安装:

# Step 1: Clone the repository
git clone https://github.com/sham-devs/mcp-md-pdf.git
cd mcp-md-pdf

# Step 2: Install in development mode
pip install -e .

# Step 3: (Optional) Install dev dependencies
pip install -e ".[dev]"

Claude桌面设置:

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "md-pdf": {
      "command": "python",
      "args": ["-m", "md_pdf_mcp.server"]
    }
  }
}

重新启动克劳德桌面 以使更改生效。

📖 看 配置节 用于配置文件位置和替代设置。

______________________________________________________________________

配置

步骤1:查找配置文件

窗户:

%APPDATA%\Claude\claude_desktop_config.json

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

步骤2:添加MCP服务器

打开配置文件并添加mcp md pdf服务器:

选项A:使用uvx(推荐)

{
  "mcpServers": {
    "md-pdf": {
      "command": "uvx",
      "args": ["mcp-md-pdf"]
    }
  }
}

选项B:本地安装

{
  "mcpServers": {
    "md-pdf": {
      "command": "python",
      "args": ["-m", "md_pdf_mcp.server"]
    }
  }
}

选项C:使用环境变量

{
  "mcpServers": {
    "md-pdf": {
      "command": "python",
      "args": ["-m", "md_pdf_mcp.server"],
      "env": {
        "PYTHONPATH": "/path/to/mcp-md-pdf"
      }
    }
  }
}

步骤3:重新启动克劳德桌面

关闭并重新打开Claude Desktop以使更改生效。

______________________________________________________________________

用法

使用克劳德桌面

安装后,重新启动Claude Desktop,只需询问:

Convert my README.md to Word format

Convert docs.md to PDF using my company-template.dotx

Convert all markdown files in the docs folder to both Word and PDF

______________________________________________________________________

MCP工具

1. convert_markdown

将单个Markdown文件转换为Word或PDF。

参数:

  • markdown_path *(str)* –通往 .md 文件
  • output_path *(str)* –输出基本路径(无扩展)
  • output_format *(str)* – "docx", "pdf",或 "both" (默认值: "docx")
  • template_path *(str,可选)* –通往 .dotx 模板

示例:

# Create Word document
convert_markdown("README.md", "output", "docx")

# Create PDF with template
convert_markdown("doc.md", "result", "pdf", "template.dotx")

# Create both formats
convert_markdown("guide.md", "final", "both", "company.dotx")

______________________________________________________________________

2. convert_markdown_batch

一次转换多个Markdown文件。

参数:

  • markdown_files *(列表\[str\])* –列表 .md 文件
  • output_dir *(str)* –输出目录
  • output_format *(str)* – "docx", "pdf",或 "both"
  • template_path *(str,可选)* –共享 .dotx 模板

例子:

convert_markdown_batch(
  ["doc1.md", "doc2.md", "doc3.md"],
  "output",
  "both",
  "template.dotx"
)

______________________________________________________________________

3. list_supported_formats

列出支持的格式及其功能。

______________________________________________________________________

支持的Markdown功能

功能支持备注
标题(H1–H6)# 通过 ######,模板回退
加粗 / *斜体*Markdown标准语法
内联代码单色,灰色背景
代码块带背景和边框的专业造型
项目符号和编号列表最多嵌套3个级别
表格具有页眉样式和内联格式
区块链报价带有左边框和背景阴影的斜体文本
横向规则---
Unicode表情符号(&J)完全支持UTF-8

有关详细的功能覆盖率分析,请参阅 docs/MARKDOWN-COVERAGE.md

______________________________________________________________________

模板支撑

使用一个 .dotx 用于定义文档样式的Word模板:

  • 自定义标题、字体和颜色
  • 页边距和布局
  • 页脚
  • 品牌和徽标放置
  • 目录格式

如果没有提供模板,则使用干净的默认设计。

______________________________________________________________________

PDF转换设置

重要提示: PDF转换需要LibreOffice(或Windows上的Microsoft Word)来保留所有DOCX格式。

为什么选择LibreOffice?

LibreOffice是 必需的 用于PDF转换,因为它保留了DOCX文件的所有格式:

  • 颜色、背景、边框 -专业造型完好无损
  • 代码块 -语法高亮显示和背景保留
  • 表格 -标题、边框和单元格样式得以保留
  • 模板样式 - .dotx 模板格式转换为PDF
  • 字体和间距 -排版保持像素完美

替代方法(Pandoc等)会丢失格式 -他们将DOCX视为纯文本标记,在PDF转换过程中剥离视觉样式。

______________________________________________________________________

DOCX转换(所有平台)

✅ 开箱即用-无需额外软件!

PDF转换(特定于平台)

windows用户

选项A:Microsoft Word(最适合Windows)

如果您安装了Microsoft Word:

# Install Python COM automation library
pip install pywin32

就是这样!转换器将自动使用Word进行PDF转换。

选项B:LibreOffice(如果没有Word,建议使用)

# Method 1: Direct download (easiest)
# Visit: https://www.libreoffice.org/download/

# Method 2: Using Chocolatey package manager
choco install libreoffice

# Method 3: Using winget (Windows Package Manager)
winget install TheDocumentFoundation.LibreOffice

验证安装:

# Check if LibreOffice is installed
where.exe soffice
# Should output: C:\Program Files\LibreOffice\program\soffice.exe

______________________________________________________________________

macOS用户

在macOS上转换PDF需要LibreOffice (不支持本机MS Word COM)。

安装(选择一种方法):

# Method 1: Homebrew (RECOMMENDED - easiest updates)
brew install --cask libreoffice

# Method 2: Direct download
# Visit: https://www.libreoffice.org/download/
# Download LibreOffice_25.x.x_MacOS_aarch64.dmg (M1/M2/M3)
# Or LibreOffice_25.x.x_MacOS_x86-64.dmg (Intel Macs)

系统要求:

  • macOS 10.15(Catalina)或更新版本
  • 约800 MB磁盘空间
  • 适用于英特尔和苹果硅(M1/M2/M3)

验证安装:

which soffice
# Should output: /Applications/LibreOffice.app/Contents/MacOS/soffice

libreoffice --version
# Should output: LibreOffice 25.x.x or higher

______________________________________________________________________

Linux用户

Ubuntu/Debian(推荐方法):

# Update package list
sudo apt-get update

# Install LibreOffice (headless mode supported)
sudo apt-get install -y libreoffice libreoffice-writer

# Optional: Install additional fonts for better compatibility
sudo apt-get install -y fonts-liberation fonts-dejavu

对于无头服务器(CI/CD):

# Minimal installation without GUI components
sudo apt-get install -y libreoffice-writer libreoffice-calc \
  libxinerama1 libfontconfig1 libdbus-glib-1-2 libcairo2 \
  libcups2 libglu1-mesa libsm6

Fedora/RHEL:

sudo dnf install libreoffice libreoffice-writer

Arch Linux:

sudo pacman -S libreoffice-fresh

验证安装:

libreoffice --version
# Should output: LibreOffice 7.x or 25.x

# Test headless mode
soffice --headless --version
# Should output version without GUI

______________________________________________________________________

平台说明

  • DOCX转换: 适用于所有平台(Windows、macOS、Linux)- 无需额外软件
  • PDF转换: 具有自动平台检测功能的跨平台:

- 窗户: 使用Microsoft Word(如果已安装)或LibreOffice - macOS/Linux: 在无头模式下使用LibreOffice

为什么选择LibreOffice for PDF? LibreOffice保留 全部 转换为PDF时的DOCX格式:

  • ✅ 颜色、背景和边框
  • ✅ 专业代码块样式(#F5F5F5背景)
  • ✅ 区块报价边框(蓝色左边框)
  • ✅ 带彩色背景的表头
  • ✅ .dotx文件中的模板样式
  • ✅ 字体、间距和布局

______________________________________________________________________

需求

  • Python 3.10+
  • Pillow (图像处理)
  • python-docx (单词生成)
  • pywin32 (仅限Windows)
  • fastmcp (MCP框架)

______________________________________________________________________

发展

# Clone the repository
git clone https://github.com/sham-devs/mcp-md-pdf.git
cd mcp-md-pdf

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=src/md_pdf_mcp --cov-report=html

# Format code
black src/ tests/
ruff check src/ tests/

______________________________________________________________________

测试

盖子:

  • 标记语言→ 词性转换
  • 模板应用
  • MCP服务器工具
  • Unicode、表情符号和大小写

结构:

tests/
├── conftest.py
├── test_converter.py
├── test_server.py
└── README.md

______________________________________________________________________

示例

# Run the MCP server directly
python -m md_pdf_mcp.server

或通过以下方式检查:

npx @modelcontextprotocol/inspector python -m md_pdf_mcp.server

示例用法:

User: Convert my README.md to Word format
→ Created: README.docx

User: Create a PDF with our company template
→ Created: guide.pdf

User: Convert all docs to both formats
→ Batch Conversion Complete (5 succeeded, 0 failed)

______________________________________________________________________

故障排除

服务器未显示在Claude桌面中

  1. 验证 claude_desktop_config.json 是有效的JSON(没有尾随逗号)
  2. 检查Python路径是否适合您的系统
  3. 查看克劳德桌面日志:

- 窗户: %APPDATA%\Claude\logs\ - macOS: ~/Library/Logs/Claude/

  1. 完全重新启动克劳德桌面

Python路径问题

验证您的Python安装:

python --version
# or
python3 --version

如果命令不起作用,请找到您的Python路径:

  • 窗户: where python
  • macOS/Linux: which python3

使用正确的路径更新配置文件。

PDF转换失败

错误: pywin32 library required for PDF conversion on Windows

修复(Windows):

pip install pywin32

错误: LibreOffice not found

修复(macOS):

brew install --cask libreoffice

修复(Ubuntu/Debian):

sudo apt-get install libreoffice libreoffice-writer

修复(Fedora):

sudo dnf install libreoffice

模板未加载

错误: 无效或缺失 .dotx 文件

修复:

  • 验证文件路径和扩展名是否正确
  • 确保模板文件存在并且可访问
  • 尝试无模板转换以隔离问题

导入错误

错误: ModuleNotFoundError: No module named 'fastmcp'

修复:

  • pip install -e . 从项目目录
  • 或者从PyPI安装: pip install mcp-md-pdf

MCP检验员测试

对于高级调试,直接测试服务器:

npx @modelcontextprotocol/inspector python -m md_pdf_mcp.server

这将打开一个web界面,直接与MCP工具进行交互。

______________________________________________________________________

许可证

MIT许可证——见 LICENSE 文件。

______________________________________________________________________

贡献

欢迎拉取请求。 如果您有改进转换、模板或新格式的想法,我们很乐意看到。

______________________________________________________________________

鸣谢

内置于❤️ 使用FastMCP框架-- 创建Markdown是为了使Markdown文档看起来像真实的报告,而不仅仅是GitHub上的文本。

目录标签

目录标签

文档转换PythonClaude本地部署Markdown处理Word生成PDF生成模板支持

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP