# ThePDFMaker MCP

> ThePDFMaker connects your AI client to a document automation API. It handles the full lifecycle for professional documents—invoices, reports, certificates—by mapping structured JSON data into high-fidelity PDFs using templates from Google Docs or MS Word. You manage everything, including generating drafts, listing all custom templates, and tracking usage credits, right from your natural conversation.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** pdf-generation, html-to-pdf, document-automation, template-engine, reporting

## Description

Listen up. ThePDFMaker connects your AI client straight to an enterprise document automation API. You're handling the entire lifecycle of professional documents—think invoices, reports, or certificates—by mapping structured JSON data into high-fidelity PDFs using templates you pull from Google Docs or MS Word. You manage everything through simple conversation with your agent. 

To start generating files, you first need a template ID and the specific data payload. The **`generate_pdf`** tool takes that structured data and a chosen template to spit out a finished PDF file. If you're not sure which templates exist, run **`list_pdf_templates`**; this shows every custom design currently saved in your account. When you pick one of those templates, you gotta confirm the placeholders are right. You use the **`get_template_details`** tool to pull specific metadata about any template, letting you verify exactly which data fields it expects.

Need to clean house? You can run **`delete_pdf_template`** to permanently remove an old or unused design from the system's library. 

Tracking everything is crucial. After you kick off a document job using **`generate_pdf`**, you don't know when it'll be ready, so you call **`get_pdf_status`**. This tells you if the PDF job is running or finished and gives you that direct download link once it’s done. You can also check your account health by running **`get_api_status`** to make sure the server connection's active and working correctly. For money, always run **`get_credit_balance`** before a big batch—it shows your remaining API usage credits for document generation.

For accountability, you can check two other history logs. You use **`list_recent_pdfs`** to see a history of the last generated documents; this includes metadata like who the client was or what date it was made. And if you need general user data, running **`get_user_profile`** pulls your account details.

Setting up automation is where this thing shines. You can use **`list_webhooks`** to display all the automated triggers you've set up so far. If you want a document process to run automatically when some other system signals it, you call **`create_webhook`** to set up that new notification trigger for your workflow. To keep track of what assets you’re using—like logos or background images—run **`list_asset_files`** to see all the image or document files uploaded to the system.

It's also worth noting how much data is hanging around. You can use **`get_user_profile`** to retrieve general account information and user details for your connected profile, which helps keep everything organized when running reports.

## Tools

### create_webhook
Sets up a new automated notification trigger for your document workflows.

### delete_pdf_template
Permanently removes an existing template from the system.

### generate_pdf
Creates a finished PDF file by merging specific data into a selected template.

### get_credit_balance
Retrieves your current remaining API usage credits for document generation.

### get_pdf_status
Checks the status of a generated PDF job and retrieves its final download link.

### get_user_profile
Retrieves general account information and user details for the connected profile.

### get_api_status
Checks if the server connection is active and functioning correctly.

### get_template_details
Fetches specific metadata about any template to verify placeholder mapping.

### list_asset_files
Shows a list of all image or document files you have uploaded to the system.

### list_recent_pdfs
Shows a history of the last generated documents, including metadata like client name or date.

### list_pdf_templates
Lists every single PDF template currently saved and available for use in your account.

### list_webhooks
Displays all active webhooks you have set up for automated triggers.

## Prompt Examples

**Prompt:** 
```
List all my PDF templates in PDFMaker.
```

**Response:** 
```
I've retrieved your templates. You have 3 active designs including 'Invoice Template v2' and 'Monthly Report'. Which one would you like to use for generation?
```

**Prompt:** 
```
Generate a professional invoice PDF using my corporate template for client Meridian Corp.
```

**Response:** 
```
Invoice PDF generated successfully using template "Corporate Invoice v3". Client: Meridian Corp. Invoice #2025-0523. 3 line items totaling $8,750. Payment terms: NET15. The PDF includes your company logo, footer with bank details, and a QR code for direct payment. File size: 124 KB. Ready for download or email delivery.
```

**Prompt:** 
```
List all available PDF templates in my account and when they were last modified.
```

**Response:** 
```
You have 8 templates. "Corporate Invoice v3" was last modified on May 1st and is your most used template (234 generations). "Sales Quote" modified April 28th (89 uses). "NDA Template" updated April 15th (45 uses). "Certificate of Completion" from March 20th (67 uses). 4 additional templates available with combined 123 generations.
```

## Capabilities

### Generate PDFs from templates
The agent calls the `generate_pdf` tool, which takes structured data and a specified template ID to produce a finished PDF file.

### List all available templates
You use the `list_pdf_templates` tool to see every custom design you've uploaded into your account.

### Retrieve template metadata
The agent runs `get_template_details` to pull specific info about a template, confirming which data fields it expects.

### Check document status and links
Calling `get_pdf_status` gives you the direct download link and current state of a requested PDF job.

### Manage webhooks
The agent uses tools like `create_webhook` or `list_webhooks` to set up automated triggers for document workflows.

### Monitor account usage
You check the system health and remaining funds by calling `get_api_status` or `get_credit_balance`.

## Use Cases

### Onboarding a new client.
A Sales Ops Manager needs to create a proposal. Instead of pulling the template, filling out the data in Word, and saving it as PDF, they tell their agent: 'Generate a proposal for Client X using Template v4.' The agent uses `generate_pdf` with the correct client details, providing an instant, branded file ready for email.

### Processing end-of-month reports.
A Finance Analyst has 50 employee performance reviews to PDF. They use their agent to check `get_credit_balance` first. Then, they tell it: 'Batch generate all 50 using the Employee Report template.' The server runs the jobs and provides a consolidated status via `list_recent_pdfs`.

### Setting up automatic billing.
A Developer needs invoices to fire automatically when client records update. They use `create_webhook`, specifying that when a 'payment-due' event happens, it must trigger the document service. This ensures zero manual intervention for bill generation.

### Auditing template usage.
An Operations Manager needs to know which templates are falling out of use. They run `list_pdf_templates` and then check the details for each one using `get_template_details` to identify outdated placeholders that need cleaning up.

## Benefits

- Stop manually swapping files. The `generate_pdf` tool takes a template and your dynamic data—all in one go. You get the final PDF without ever touching an export menu or spreadsheet macro.
- Never guess what data a template needs again. Run `get_template_details` to pull up the exact metadata, confirming every required field before you try to generate anything with `generate_pdf`.
- Keep track of your entire operation in one chat thread. Use `list_recent_pdfs` to see who got paid last month or when a specific report was generated, eliminating dashboard hopping.
- Automate workflows that run 24/7. By managing triggers with `create_webhook` and monitoring them with `list_webhooks`, you set up background processes that don't require human intervention.
- Control your budget in real-time. The agent can check the remaining capacity using `get_credit_balance` before running a large batch job, so you never hit an unexpected rate limit.
- Manage everything from one spot. You can list all assets (`list_asset_files`) and templates (`list_pdf_templates`), keeping your entire document library visible without logging into the vendor portal.

## How It Works

The bottom line is: your AI acts as a dedicated document production manager, handling API calls so you don't have to switch between chat windows, data sources, and document processors.

1. First, subscribe to this server and input your PDFMaker API Key (Bearer Token).
2. Next, tell your AI client exactly what you need—for example: 'Generate an invoice for Acme Corp using the Corporate Invoice v3 template.'
3. The agent uses `generate_pdf`, sends the data payload and template ID to ThePDFMaker, and returns a document link or status via `get_pdf_status`.

## Frequently Asked Questions

**How do I start using the `generate_pdf` tool?**
You must first connect your API Key to the server. Then, tell your agent which template ID you want and provide the structured data payload for that PDF.

**What is the difference between `list_pdf_templates` and `get_template_details`?**
`list_pdf_templates` gives you a roster of all available designs in your account. You use `get_template_details` when you need deep metadata on one specific template, like checking which fields it expects.

**Can I automate my billing process with `create_webhook`?**
Yes. You can set up webhooks to trigger document generation automatically whenever another system reports a key event, removing manual intervention entirely.

**I need to see what PDFs have been generated recently; which tool do I use?**
Use `list_recent_pdfs`. This shows you a quick history of your document creations, helping you track specific reports or invoices without digging through old folders.

**What if my API credits run out? How does the server tell me?**
Run `get_credit_balance` to check your current remaining capacity. This tool lets you monitor usage and prevents unexpected job failures due to budget limits.

**When I run `get_template_details`, how do I find out what data placeholders a template accepts?**
The tool returns all available placeholders for that specific document. The response lists the required placeholder names and their expected JSON data types, letting you map your source data correctly before generating anything.

**If I suspect my API key is wrong or disconnected, how can `get_api_status` confirm my connection?**
You run `get_api_status`. It confirms that your client can reach the server endpoint. A successful response means your credentials and network path are working; if it fails, check your Bearer Token format.

**Before I generate a document using `generate_pdf`, how do I see what logos or images I've uploaded with `list_asset_files`?**
You use the `list_asset_files` tool. It provides a comprehensive inventory of every asset ID and file type you’ve uploaded to your account, ensuring you reference the correct files for your template data.

**Can my AI automatically find the details for a specific template by its ID?**
Yes! Use the `get_template` tool with the Template ID. Your agent will respond with complete metadata for the model, including all available placeholder fields in seconds.

**How do I find my PDFMaker API Key?**
Log in to your PDFMaker account, navigate to **Settings** > **API Key**, and you will find your unique secret token there.

**What document formats does PDFMaker support for templates?**
PDFMaker supports a variety of sources including native HTML templates, MS Word (.docx), and Google Docs, allowing you to choose the best editor for your needs.