HTML-to-PDF Generator MCP 服务器使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供将文本或HTML内容转换为 PDF 文档的功能。作为一个 MCP 服务器,它允许 LLM 客户端通过标准化的 JSON-RPC 协议调用预定义的功能(工具),从而扩展 LLM 的能力,使其能够生成和处理 PDF 文档。
主要功能点
- 文本转 PDF: 允许 LLM 客户端将纯文本内容、标题和作者信息转换为 PDF 文档。
- HTML 转 PDF: 支持将 HTML 代码转换为 PDF 文档,可以处理复杂的网页结构和样式。
- 可配置的 PDF 生成选项: HTML 转 PDF 功能支持通过 'options' 参数传递 Puppeteer 的 PDF 生成选项,例如页面格式、边距、背景打印等,提供高度的定制化能力。
- Base64 编码输出: 生成的 PDF 文档以 Base64 编码的字符串形式返回,方便在 JSON-RPC 响应中传输和在客户端解码使用。
- 内容类型声明: 返回的响应明确声明了 'contentType' 为 'application/pdf',方便客户端正确处理 PDF 数据。
安装步骤
- 克隆仓库:
git clone https://github.com/ivarvd-hldng/pdf-generator-mcp-server.git cd pdf-generator-mcp-server - 安装依赖:
确保你已安装 Node.js 和 npm。在项目根目录下运行以下命令安装项目依赖:
npm install
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。请将以下 JSON 配置添加到你的 MCP 客户端配置中:
{ "serverName": "pdf-generator-server", "command": "node", "args": ["src/server.js"] }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,用于在客户端标识该服务器。例如 '"pdf-generator-server"'。
- 'command': 启动服务器的命令。由于本项目是 Node.js 应用,此处应设置为 '"node"'。
- 'args': 启动服务器命令的参数,以数组形式提供。对于本项目,需要指定服务器入口文件 'src/server.js'。
基本使用方法
-
启动服务器: 在项目根目录下,运行以下命令启动 MCP 服务器:
npm start或者直接使用配置中的命令:
node src/server.js服务器默认会在标准输入/输出 (stdio) 上监听 MCP 客户端的请求。
-
配置 MCP 客户端: 根据 MCP 客户端的文档,配置上述提供的服务器连接信息。确保客户端能够通过 JSON-RPC 协议与服务器通信。
-
调用工具函数: 客户端可以使用 MCP 协议定义的 JSON-RPC 请求格式,调用服务器提供的 'generatePDF' 和 'generatePDFFromHTML' 工具函数。
-
调用 'generatePDF' (文本转 PDF) 示例请求 (JSON-RPC):
{ "jsonrpc": "2.0", "method": "call", "params": { "function": "generatePDF", "args": { "content": "This is the content of the PDF document.", "title": "My PDF Title", "author": "Your Name" } }, "id": 1 } -
调用 'generatePDFFromHTML' (HTML 转 PDF) 示例请求 (JSON-RPC):
{ "jsonrpc": "2.0", "method": "call", "params": { "function": "generatePDFFromHTML", "args": { "html": "<h1>This is a heading</h1><p>This is a paragraph.</p>", "options": { "format": "Letter" } } }, "id": 2 }
-
-
接收响应: 服务器会返回 JSON-RPC 响应,其中 'result.data' 字段包含 Base64 编码的 PDF 文档内容,'result.contentType' 字段为 '"application/pdf"'。客户端需要解码 Base64 数据并将其处理为 PDF 文件。
注意事项
- 确保 MCP 客户端和服务器使用兼容的 MCP 协议版本。
- 'generatePDFFromHTML' 功能依赖 'puppeteer' 库,首次运行时可能需要下载 Chromium,请确保网络连接正常。
- 可以根据需要扩展 'PDFGeneratorServer' 类,注册更多工具函数,以提供更丰富的功能。
信息
分类
AI与计算