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": "
Hello World
",
"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 |
许可证
麻省理工学院
