PDF生成服务

一个通过AI助手生成PDF文档的服务,支持从模板或原始HTML创建PDF。

  • by pdfnoodle
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 pdfnoodle/mcp-server-pdfnoodle

使用说明

mcp服务器pdfnoodle

MCP服务器,使AI助手能够通过以下方式生成PDF文档 pdf面条 -使用自然语言从模板或原始HTML创建PDF。

什么是pdf面条?

pdf面条是一个pdf生成的API,可以让你:

  • 使用AI创建可重复使用的PDF模板
  • 通过用数据填充模板生成PDF
  • 将HTML直接转换为PDF

安装

克劳德桌面

添加到您的Claude Desktop配置文件中:

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

视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pdfnoodle": {
      "command": "npx",
      "args": ["-y", "mcp-server-pdfnoodle"],
      "env": {
        "PDFNOODLE_API_KEY": "your-api-key"
      }
    }
  }
}

光标

增添 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "pdfnoodle": {
      "command": "npx",
      "args": ["-y", "mcp-server-pdfnoodle"],
      "env": {
        "PDFNOODLE_API_KEY": "your-api-key"
      }
    }
  }
}

手动执行

PDFNOODLE_API_KEY=your-key npx mcp-server-pdfnoodle

远程使用

此MCP服务器也可以通过HTTP远程使用,使其与ChatGPT和n8n等工作流自动化工具兼容。

远程服务器URL

远程MCP服务器端点为:

https://mcp.pdfnoodle.com/mcp?api_key={your-api-key}

认证:无(API密钥仅通过URL查询参数传递,不需要身份验证头)

与ChatGPT一起使用

要将此MCP服务器与ChatGPT一起使用,请将其配置为自定义GPT或通过MCP设置:

  1. 获取API密钥 从 pdf面条
  2. 配置MCP服务器 使用远程URL:
    https://mcp.pdfnoodle.com/mcp?api_key=your-api-key
    
  3. ChatGPT将能够通过远程服务器使用所有可用的pdf面条工具

备注:替换 your-api-key 在URL中使用您的实际pdf面条API键。

与n8n一起使用

您可以使用HTTP请求节点将pdf面条MCP服务器集成到n8n工作流中:

  1. 创建HTTP请求节点 在n8n工作流中

  2. 配置节点:

    • 方法: POST
    • 统一资源定位符: https://mcp.pdfnoodle.com/mcp?api_key=your-api-key
    • 认证:无(API键在URL查询参数中)
    • 标头:
      Content-Type: application/json
      
    • 身体:用于MCP协议调用的JSON-RPC 2.0格式
  3. 请求正文示例 用于生成PDF:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "generate_pdf",
        "arguments": {
          "templateId": "template-id",
          "data": "{\"field\": \"value\"}"
        }
      }
    }
    
  4. 请求正文示例 用于将HTML转换为PDF:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "html_to_pdf",
        "arguments": {
          "html": "<h1>Hello World</h1>",
          "pdfParams": "{\"format\": \"A4\"}"
        }
      }
    }
    

安全说明:将API密钥安全地存储在n8n凭据或环境变量中,而不是将其硬编码在URL中。

获取API密钥

  1. 首选 pdf面条
  2. 创建帐户或登录
  3. 导航到API设置以获取密钥

可用工具

模板操作

工具 说明
list_templates 列出您帐户中的所有模板
get_template 获取特定模板的详细信息
get_template_schema 获取模板所需的变量
create_template_with_ai 使用AI根据描述创建新模板

PDF生成

工具 说明
generate_pdf 从包含数据的模板生成PDF
html_to_pdf 将HTML内容转换为PDF
check_pdf_status 检查异步PDF生成的状态

PDF实用程序

工具 说明
merge_pdfs 将多个PDF文档合并到一个文件中
split_pdf 按范围或间隔将PDF拆分为多个部分
compress_pdf 压缩PDF以减小文件大小
update_pdf_metadata 更新PDF元数据(标题、作者、主题等)
convert_markdown_to_pdf 将Markdown内容转换为PDF文档
get_upload_url 生成用于上传PDF的预签名URL
check_tool_status 检查异步工具操作的状态

PDF最佳实践

重要: 使用前 html_to_pdf 工具,AI代理应该遵循 PDF最佳实践 指导方针。

安装技能:

npx skills add pdfnoodle/pdf-best-practices

或者通过npm:

npm install pdf-best-practices

该技能包括:

  • 纸张设置:A4尺寸,40px边距
  • 分页符控制:防止内容笨拙地中断
  • 内容物密度:避免页面稀疏
  • 表格:使用d/tbody进行正确格式化
  • 图像:固定尺寸,尺寸合适
  • 颜色: -webkit-print-color-adjust: exact
  • 文档类型:发票、报告、证书、信函模板

使用示例

配置后,您可以使用自然语言与pdf面条进行交互:

创建模板:

使用公司徽标、账单详细信息、行项目表和付款条件创建专业发票模板

生成PDF:

使用模板abc123生成包含以下数据的发票PDF:公司名称“Acme Inc”,发票编号1001,项目:小工具(50美元),服务(100美元)

将HTML转换为PDF(推荐工作流程):

“将此报告转换为格式良好的PDF”

AI将自动:

  1. 参考 PDF最佳实践 指南
  2. 使用分页符控件、适当的边距和优化的布局创建结构正确的HTML
  3. 呼叫 html_to_pdf A4纸和40px边距的正确pdfParams

快速HTML转换:

“将此HTML转换为PDF: <h1>Hello World</h1><p>This is a test document</p>"

工具参数

generate.pdf

{
  "templateId": "template-id",
  "data": "{\"field\": \"value\"}",
  "convertToImage": false,
  "hasCover": false
}

html_to_pdf

{
  "html": "<html>...</html>",
  "pdfParams": "{\"format\": \"A4\", \"margin\": {\"top\": \"1cm\"}}",
  "convertToImage": false
}

create_template_with_ai

{
  "displayName": "My Template",
  "prompt": "A detailed description of the template design...",
  "fileUrl": "https://example.com/reference.pdf"
}

发展

# Clone the repository
git clone https://github.com/pdfnoodle/mcp-server-pdfnoodle.git
cd mcp-server-pdfnoodle

# Install dependencies
npm install

# Build
npm run build

# Run in development mode
PDFNOODLE_API_KEY=your-key npm run dev

许可证

麻省理工学院-见 许可证

更新日志

版本 日期 更改
1.2.0 2026-02-19 特性:为所有实用工具添加了异步模式(async: true 参数)用于无MCP客户端超时的大文件处理。添加 check_tool_status 用于轮询异步结果的工具。
1.1.0 2026-02-19 特性:添加了6个新的PDF实用工具-- merge_pdfs, split_pdf, compress_pdf, update_pdf_metadata, convert_markdown_to_pdf,以及 get_upload_url 全面的PDF操作功能。
1.0.3 2026-02-18 特性:PDF生成异步模式——当 async: true 已设置,工具调用 /async endpoint并返回a requestId 立即避免大型PDF上的MCP客户端超时。当同步端点返回202时,工具返回LLM轮询的requestId。更新 check_pdf_status 指示在5-10秒内重新轮询。
1.0.2 2026-02-10 Bug修复:已修复 get_template 正确处理API响应格式并返回所有模板字段(id,displayName,createdAt,updatedAt,type,style,html)。
1.0.1 2026-02-10 Bug修复:已修复 list_templates 处理包装的API响应({ templates: [...] } 或 { data: [...] }).
1.0.0 2026-02-10 支持模板操作和PDF生成的初始版本。

链接