项目简介
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 文件的输出目录,方便管理生成的文件。
安装步骤
- 克隆仓库:
git clone https://github.com/2b3pro/markdown2pdf-mcp.git - 进入项目目录:
cd markdown2pdf-mcp - 安装依赖:
npm install - 构建项目:
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 目录。
基本使用方法
-
启动服务器: 在 'markdown2pdf-mcp' 项目目录下,运行以下命令启动 MCP 服务器:
npm start服务器将在标准输入/输出 (stdio) 上运行,等待 MCP 客户端的请求。
-
使用 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 文件保存到指定或默认的输出目录。客户端将收到操作结果的文本反馈。
信息
分类
开发者工具