mcp-server-pdfnoodle

mcp-server-pdfnoodle

Enables AI assistants to generate PDF documents from templates or raw HTML using natural language, with tools for template creation, PDF generation, and utility operations.

Category
访问服务器

README

mcp-server-pdfnoodle

An MCP server that enables AI assistants to generate PDF documents through pdf noodle - create PDFs from templates or raw HTML using natural language.

What is pdf noodle?

pdf noodle is a PDF generation API that lets you:

  • Create reusable PDF templates using AI
  • Generate PDFs by filling templates with data
  • Convert HTML directly to PDF

Installation

Claude Desktop

Add to your Claude Desktop configuration file:

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

Windows: %APPDATA%\Claude\claude_desktop_config.json

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

Cursor

Add to ~/.cursor/mcp.json:

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

Manual Execution

PDFNOODLE_API_KEY=your-key npx mcp-server-pdfnoodle

Remote Usage

This MCP server can also be used remotely via HTTP, making it compatible with ChatGPT and workflow automation tools like n8n.

Remote Server URL

The remote MCP server endpoint is:

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

Authentication: None (API key is passed via URL query parameter only, no authentication headers required)

Using with ChatGPT

To use this MCP server with ChatGPT, configure it as a custom GPT or via the MCP settings:

  1. Get your API key from pdf noodle
  2. Configure the MCP server with the remote URL:
    https://mcp.pdfnoodle.com/mcp?api_key=your-api-key
    
  3. ChatGPT will be able to use all available pdf noodle tools through the remote server

Note: Replace your-api-key with your actual pdf noodle API key in the URL.

Using with n8n

You can integrate pdf noodle MCP server into your n8n workflows using HTTP Request nodes:

  1. Create an HTTP Request node in your n8n workflow

  2. Configure the node:

    • Method: POST
    • URL: https://mcp.pdfnoodle.com/mcp?api_key=your-api-key
    • Authentication: None (API key is in the URL query parameter)
    • Headers:
      Content-Type: application/json
      
    • Body: JSON-RPC 2.0 format for MCP protocol calls
  3. Example request body for generating a PDF:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "generate_pdf",
        "arguments": {
          "templateId": "template-id",
          "data": "{\"field\": \"value\"}"
        }
      }
    }
    
  4. Example request body for converting HTML to PDF:

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

Security Note: Store your API key securely in n8n credentials or environment variables rather than hardcoding it in the URL.

Getting an API Key

  1. Go to pdf noodle
  2. Create an account or sign in
  3. Navigate to API settings to get your key

Available Tools

Template Operations

Tool Description
list_templates List all templates in your account
get_template Get details of a specific template
get_template_schema Get the variables required by a template
create_template_with_ai Create a new template using AI from a description

PDF Generation

Tool Description
generate_pdf Generate a PDF from a template with data
html_to_pdf Convert HTML content to PDF
check_pdf_status Check status of async PDF generation

PDF Utilities

Tool Description
merge_pdfs Merge multiple PDF documents into a single file
split_pdf Split a PDF into parts by ranges or intervals
compress_pdf Compress a PDF to reduce file size
update_pdf_metadata Update PDF metadata (title, author, subject, etc.)
convert_markdown_to_pdf Convert Markdown content to a PDF document
get_upload_url Generate a pre-signed URL for uploading a PDF
check_tool_status Check status of an async tool operation

PDF Best Practices

IMPORTANT: Before using the html_to_pdf tool, AI agents should follow the PDF Best Practices guidelines.

Install the skill:

npx skills add pdfnoodle/pdf-best-practices

Or via npm:

npm install pdf-best-practices

The skill covers:

  • Paper setup: A4 size, 40px margins
  • Page break control: Prevent content from breaking awkwardly
  • Content density: Avoid sparse pages
  • Tables: Proper formatting with thead/tbody
  • Images: Fixed dimensions, proper sizing
  • Colors: -webkit-print-color-adjust: exact
  • Document types: Invoice, report, certificate, letter templates

Usage Examples

Once configured, you can interact with pdf noodle using natural language:

Create a template:

"Create a professional invoice template with company logo, billing details, line items table, and payment terms"

Generate a PDF:

"Generate an invoice PDF using template abc123 with the following data: company name 'Acme Inc', invoice number 1001, items: Widget ($50), Service ($100)"

Convert HTML to PDF (recommended workflow):

"Convert this report to a well-formatted PDF"

The AI will automatically:

  1. Reference the PDF Best Practices guidelines
  2. Create properly structured HTML with page break controls, proper margins, and optimized layout
  3. Call html_to_pdf with the correct pdfParams for A4 paper and 40px margins

Quick HTML conversion:

"Convert this HTML to PDF: <h1>Hello World</h1><p>This is a test document</p>"

Tool Parameters

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"
}

Development

# 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

License

MIT - see LICENSE

Changelog

Version Date Changes
1.2.0 2026-02-19 Feature: Added async mode to all utility tools (async: true parameter) for large file processing without MCP client timeouts. Added check_tool_status tool to poll for async results.
1.1.0 2026-02-19 Feature: Added 6 new PDF utility tools — merge_pdfs, split_pdf, compress_pdf, update_pdf_metadata, convert_markdown_to_pdf, and get_upload_url for comprehensive PDF manipulation capabilities.
1.0.3 2026-02-18 Feature: Async mode for PDF generation — when async: true is set, tools call the /async endpoint and return a requestId immediately to avoid MCP client timeouts on large PDFs. When the sync endpoint returns 202, tools return the requestId for LLM polling. Updated check_pdf_status to instruct re-polling in 5–10 seconds.
1.0.2 2026-02-10 Bug Fix: Fixed get_template to correctly handle API response format and return all template fields (id, displayName, createdAt, updatedAt, type, style, html).
1.0.1 2026-02-10 Bug Fix: Fixed list_templates to handle wrapped API responses ({ templates: [...] } or { data: [...] }).
1.0.0 2026-02-10 Initial release with support for template operations and PDF generation.

Links

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选