PDF生成服务

PDFNoodle MCP Server是一个基于PDFNoodle API的模型上下文协议服务器,使AI助手能够生成PDF文件。

  • by brunoluigi
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 brunoluigi/pdfnoodle-mcp

使用说明

PDFNoodle MCP服务器

模型上下文协议(MCP)服务器,使AI助手能够使用 Pdfnoodle API

特性

  • 列表模板 –检索可用的PDF模板
  • 获取模板变量 –检查模板所需的变量
  • HTML转PDF –将原始HTML内容转换为PDF或PNG
  • 生成PDF –使用自动异步处理从模板创建PDF
  • 检查PDF状态 –监控长时间运行的PDF生成请求

快速开始

先决条件

  • Node.js 20+
  • PDFNoodle API密钥

安装并运行

npm install
npm run dev

服务器启动于 http://localhost:3000/mcp

为生产而建

npm run build
npm start

连接MCP客户端

克劳德桌面/光标

添加到MCP配置中:

{
  "mcpServers": {
    "pdfnoodle": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

远程服务器

{
  "mcpServers": {
    "pdfnoodle": {
      "url": "https://your-domain.com/mcp"
    }
  }
}

工具

list_templates

检索可用的PDF模板。

{ "apiKey": "your_pdfnoodle_api_key" }

get_template_variables

获取模板所需的变量。

{ "apiKey": "...", "templateId": "invoice-001" }

html_to_pdf

将HTML内容转换为PDF或PNG。自动处理长时间运行的渲染(>30s)。

{
  "apiKey": "...",
  "html": "<html><body><h1>Hello World</h1></body></html>",
  "pdfParams": "{\"format\": \"A4\"}",
  "convertToImage": false,
  "hasCover": false
}
参数 必填 说明
apiKey 是 您的PDFNoodle API密钥
html 是 要呈现的HTML内容
pdfParams 否 PDF参数的JSON字符串
convertToImage 否 如果为true,则返回PNG而不是PDF
metadata 否 PDF元数据的JSON字符串
hasCover 否 如果为true,则隐藏第一页的页眉/页脚
waitForCompletion 否 如果为false,则长时间渲染时立即返回requestId

generate_pdf

从模板生成PDF。自动处理长时间运行的渲染(>30s)。

{
  "apiKey": "...",
  "templateId": "invoice-001",
  "data": "{\"customer\": \"John Doe\", \"amount\": 100}"
}

check_pdf_status

检查异步PDF生成的状态。

{ "apiKey": "...", "requestId": "pdfnoodle_request_123" }

部署(卡迈勒)

kamal setup    # First time
kamal deploy   # Subsequent deploys

配置 config/deploy.yml 您的服务器详细信息。

环境变量

变量 默认值 描述
PORT 3000 服务器端口
PDFNOODLE_API_BASE https://api.pdfnoodle.com/v1/ API基本URL

许可证

麻省理工学院