项目简介

Markdown to PDF Converter MCP Server (markdown2pdf-mcp) 是一个基于 Model Context Protocol (MCP) 的后端服务,旨在为LLM客户端提供将 Markdown 文档转换为 PDF 文件的能力。它实现了一个 MCP 工具 'create_pdf_from_markdown',允许客户端通过发送符合 MCP 协议的请求,轻松地将 Markdown 文本转换为高质量的 PDF 文档。

主要功能点

  • Markdown 到 PDF 转换: 核心功能是将 Markdown 格式的文本内容转换为 PDF 文件。
  • 代码块语法高亮: 支持代码块的语法高亮显示,使 PDF 文档中的代码更易读。
  • 自定义 CSS 样式: 允许通过自定义 CSS 样式来控制 PDF 输出的外观,例如字体、颜色、布局等。
  • 多种纸张格式和方向: 支持常见的纸张格式(如 letter, a4, a3, a5, legal, tabloid)和纸张方向(portrait, landscape)。
  • 页面边距设置: 可以自定义 PDF 文档的页面边距。
  • 水印功能: 支持在 PDF 文件的第一页添加水印文字,例如 "草稿"、"机密" 等。
  • 文件输出目录配置: 允许用户配置 PDF 文件的输出目录,方便管理生成的文件。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/2b3pro/markdown2pdf-mcp.git
  2. 进入项目目录:
    cd markdown2pdf-mcp
  3. 安装依赖:
    npm install
  4. 构建项目:
    npm run build

服务器配置 (MCP 客户端)

要将 'markdown2pdf' MCP 服务器配置到 MCP 客户端(例如 Cline 或 Claude),您需要在客户端的 MCP 服务器配置文件中添加以下 JSON 配置。这允许客户端知道如何启动和连接到 'markdown2pdf' 服务器。

{
  "mcpServers": {
    "markdown2pdf": {
      "command": "node",
      "args": ["path/to/markdown2pdf-mcp/build/index.js"],
      "env": {
        "M2P_OUTPUT_DIR": "/path/to/output/directory"  // (可选) PDF 文件输出目录的路径,默认为用户 HOME 目录。您可以根据需要修改为您希望保存 PDF 文件的目录。
      }
    }
  }
}

配置参数说明:

  • '"server name"': '"markdown2pdf"' - 服务器名称,客户端通过此名称识别和调用该服务器。
  • '"command"': '"node"' - 启动服务器的命令,这里使用 Node.js 运行时环境。
  • '"args"': '["path/to/markdown2pdf-mcp/build/index.js"]' - 启动命令的参数,指向构建后的服务器入口文件 'index.js'。 请将 '"path/to/markdown2pdf-mcp"' 替换为实际的仓库克隆路径。
  • '"env"': 环境变量配置。
    • '"M2P_OUTPUT_DIR"': (可选) 设置 PDF 文件的输出目录。如果未配置,默认保存到用户 HOME 目录。

基本使用方法

  1. 启动服务器: 在 'markdown2pdf-mcp' 项目目录下,运行以下命令启动 MCP 服务器:

    npm start

    服务器将在标准输入/输出 (stdio) 上运行,等待 MCP 客户端的请求。

  2. 使用 MCP 客户端调用工具: 在您的 MCP 客户端应用中,可以使用 'use_mcp_tool' 或类似的函数来调用 'markdown2pdf' 服务器提供的 'create_pdf_from_markdown' 工具。

    以下是一个使用示例 (Typescript 代码,用于说明参数结构):

    await use_mcp_tool({
      server_name: "markdown2pdf",
      tool_name: "create_pdf_from_markdown",
      arguments: {
        markdown: "# Hello World\n\nThis is a test document.", // 要转换为 PDF 的 Markdown 内容 (必填)
        outputFilename: "output.pdf",                       // (可选) PDF 文件名,默认为 "output.pdf"
        paperFormat: "a4",                                  // (可选) 纸张格式,默认为 "letter",可选值: 'letter', 'a4', 'a3', 'a5', 'legal', 'tabloid'
        paperOrientation: "landscape",                      // (可选) 纸张方向,默认为 "portrait",可选值: 'portrait', 'landscape'
        paperBorder: "1.5cm",                               // (可选) 页面边距,默认为 "2cm",可以使用 CSS 单位 (cm, mm, in, px)
        watermark: "DRAFT",                                 // (可选) 水印文字,最多 15 个字符,仅限大写字母和数字
      },
    });

    根据您的 MCP 客户端的具体使用方式,配置 'server_name' 为 '"markdown2pdf"','tool_name' 为 '"create_pdf_from_markdown"',并在 'arguments' 中提供 Markdown 内容以及其他可选参数。服务器将处理请求并将生成的 PDF 文件保存到指定或默认的输出目录。客户端将收到操作结果的文本反馈。

信息

分类

开发者工具