Back to MCP directory
publicPublicdnsLocal runtime

markdown2pdf-mcp

一个将Markdown文档转换为PDF文件的MCP服务器,支持语法高亮和自定义样式

article

README

🚀 Markdown2PDF MCP 服务器(markdown2pdf-mcp)

这是一个用于将Markdown文档转换为PDF文件的MCP服务器。它提供了简单高效的方式,能从Markdown内容生成PDF,支持语法高亮和自定义样式,还可在第一页添加水印。该项目灵感源自Alan Shaw的markdown-pdf

🚀 快速开始

本服务器能让你轻松把Markdown文档转换为PDF文件。下面为你介绍具体的安装和使用步骤。

✨ 主要特性

  • 📄 使用单个命令将Markdown转换为PDF。
  • 🌈 代码块的语法高亮。
  • 🎨 PDF输出的自定义CSS样式。
  • 📝 支持标准Markdown格式。
  • 🌐 使用Chrome引擎生成现代PDF。
  • 🆙 对现代网络功能和字体有出色支持。
  • 💪 可靠的资源加载和渲染。

🚫 局限性

以下Markdown元素不受支持:

  • LaTeX数学公式(例如,$x^2$$$\sum_{i=1}^n x_i$$)。
  • 复杂的数学公式或科学表示法。

请仅使用以下受支持的Markdown元素:

  • 标题(所有级别)。
  • 文本格式化(粗体、斜体、删除线)。
  • 列表(有序和无序)。
  • 带语法高亮的代码块。
  • 表格。
  • 引用块。
  • 链接。
  • 图片(本地文件和外部URL)。
  • 任务列表。

📦 安装指南

# 克隆仓库
git clone https://github.com/2b3pro/markdown2pdf-mcp.git

# 进入项目目录
cd markdown2pdf-mcp

# 安装依赖
npm install

# 构建项目
npm run build

💻 使用示例

基础用法

启动服务器

npm start

使用MCP工具

该服务器提供了一个单一的工具create_pdf_from_markdown,具有以下参数:

{
  // 必填参数
  markdown: string;    // 要转换为PDF的Markdown内容

  // 可选参数,默认值
  outputFilename?: string;  // PDF文件名(例如,“output.pdf”)
  paperFormat?: string;     // 'letter'(默认)、'a4'、'a3'、'a5'、'legal'、'tabloid'
  paperOrientation?: string; // 'portrait'(默认)或 'landscape'
  paperBorder?: string;     // '2cm'(默认),接受带有CSS单位的十进制值(例如,“1.5cm”、“2.5mm”、“0.5in”、“10.5px”)
  watermark?: string;       // 可选水印文本(最多10个字符)
}

示例

// 启动服务器
npm start

// 使用MCP工具的示例
{
  "command": "create_pdf_from_markdown",
  "params": {
    "markdown": "# 我的第一个PDF\n这是一个**Markdown**到PDF的转换器。",
    "outputFilename": "example.pdf"
  }
}

高级用法

配置输出目录

要更改默认的输出目录(./dist),可以在项目根目录下创建一个.env文件,并添加以下内容:

OUTPUT_DIR=your_desired_directory

🔧 技术细节

依赖项

  • pdfmake - 主要用于PDF生成。
  • jsdom - 用于渲染Markdown。
  • marked - Markdown解析器。

Chrome版本

由于pdfmake依赖于Chrome Blink引擎,建议安装最新版的Chrome浏览器

开发指南

  1. 安装依赖:npm install
  2. 启动开发服务器:npm start

📄 许可证

本项目采用MIT许可证。

🤝 贡献指南

  1. Fork 仓库。
  2. 创建功能分支(git checkout -b feature/amazing-feature)。
  3. 提交更改(git commit -m '添加一些神奇的功能')。
  4. 推送到分支(git push origin feature/amazing-feature)。
  5. 打开Pull Request。
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client