Api2Pdf MCP by usefulapi
Server Details
MCP server for Api2Pdf — generate PDFs & images from HTML, URLs or office files; merge, barcodes.
- Status
- Healthy
- Uptime
- 69.7% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 16 tools
Each tool targets a distinct operation: conversions, PDF manipulations, file deletion, and account/service info are clearly separated. Even the three HTML-to-PDF tools are distinguished by source type or rendering engine.
All tools follow a consistent api2pdf_ prefix with snake_case verb-based names such as add_password, merge_pdfs, and url_to_pdf. The pattern is predictable and makes it easy to infer what each tool does.
Sixteen tools is slightly above the typical 3-15 range, but the count is justified by the breadth of Api2Pdf's functionality spanning creation, manipulation, conversion, deletion, and account management.
The surface covers the full PDF lifecycle: generate from multiple sources, manipulate via merge/extract/compress/password, convert to markdown, delete files, plus billing and status checks. No obvious missing operations for the documented purpose.
Available Tools
16 toolsapi2pdf_add_passwordPassword-protect PDF (PDFSharp)DestructiveInspect
Encrypt an existing PDF (given as a URL) with a user password (required to open) and an optional owner password (controls permissions). Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /pdfsharp/password.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the PDF to protect. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| userpassword | Yes | Password required to OPEN the resulting PDF. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| ownerpassword | No | Optional owner password controlling permissions (printing, editing, etc.). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_compress_pdfCompress PDF (PDFSharp)DestructiveInspect
Compress an existing PDF (given as a URL) to reduce its file size. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /pdfsharp/compress.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the PDF to compress. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_convert_to_markdownConvert document to Markdown (MarkItDown)DestructiveInspect
Convert a document or file (given as a URL — PDF, Office docs, and more) to Markdown text via MarkItDown. Great for feeding a document's contents back to an agent. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /markitdown.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the document/file to convert to Markdown. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_delete_fileDelete a generated fileDestructiveInspect
Delete a previously generated file by its ResponseId (the ResponseId returned in a generation response). Api2Pdf API: DELETE /file/{ResponseId}.
| Name | Required | Description | Default |
|---|---|---|---|
| responseId | Yes | The ResponseId of the generated file to delete (from a prior generation response). |
api2pdf_extract_pagesExtract PDF pages (PDFSharp)DestructiveInspect
Extract a range of pages from an existing PDF (given as a URL) into a new PDF. start/end are 0-based page indices; omit end to extract a single page. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /pdfsharp/extract-pages.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | 0-based index of the last page to extract. Omit for a single page (just `start`). | |
| url | Yes | URL of the source PDF. | |
| start | No | 0-based index of the first page to extract. Default 0. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_generate_barcodeGenerate barcode / QR code (Zebra)DestructiveInspect
Generate a barcode or QR code image. format is the symbology (e.g. 'QRCode', 'Code128', 'PDF417', 'DataMatrix') and value is the string to encode. Returns a { FileUrl } (valid ~24h) by default, or base64 with output_binary:true. BILLED. Api2Pdf API: GET /zebra.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | The string to encode in the barcode/QR code. | |
| width | No | Image width in pixels. | |
| format | Yes | Barcode/QR symbology, e.g. 'QRCode', 'Code128', 'PDF417', 'DataMatrix'. | |
| height | No | Image height in pixels. | |
| showlabel | No | If true, render the encoded value as a human-readable label under the barcode. | |
| output_binary | No | If true, return the raw image bytes as base64 instead of a FileUrl. Default false. |
api2pdf_get_balanceGet account balanceRead-onlyInspect
Return the remaining balance / usage for the configured Api2Pdf account. Api2Pdf API: GET /balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
api2pdf_get_statusGet service statusRead-onlyInspect
Return the current Api2Pdf service / health status. Api2Pdf API: GET /status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
api2pdf_html_to_imageHTML to image (Chrome)DestructiveInspect
Render an HTML string to an image using headless Chrome. Returns a { FileUrl } (valid ~24h) by default, or base64 bytes with output_binary:true. BILLED. Api2Pdf API: POST /chrome/image/html.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The HTML source to render into an image. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_html_to_pdfHTML to PDF (Chrome)DestructiveInspect
Render an HTML string to a PDF using the headless-Chrome engine. Returns a { FileUrl } link (valid ~24h) by default. Great for invoices, reports, and letters produced as HTML. BILLED per document. Api2Pdf API: POST /chrome/pdf/html.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The HTML source to render into a PDF. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_markdown_to_pdfMarkdown to PDF (Chrome)DestructiveInspect
Render a Markdown string to a PDF using headless Chrome. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /chrome/pdf/markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| markdown | Yes | The Markdown source to render into a PDF. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_merge_pdfsMerge PDFs (PDFSharp)DestructiveInspect
Merge several existing PDFs (given as URLs, in order) into a single PDF. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /pdfsharp/merge.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | URLs of the PDFs to merge, in the order they should appear (at least two). | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_office_to_pdfOffice document to PDF (LibreOffice)DestructiveInspect
Convert an office document (Word, Excel, PowerPoint, ODT, and many more) at a URL to a PDF using LibreOffice. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /libreoffice/any-to-pdf.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the source document to convert to PDF. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_url_to_imageURL to image / screenshot (Chrome)DestructiveInspect
Take a screenshot of a live web page by URL using headless Chrome. Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /chrome/image/url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the web page to screenshot. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_url_to_pdfURL to PDF (Chrome)DestructiveInspect
Fetch a web page by URL and render it to a PDF using headless Chrome. Returns a { FileUrl } (valid ~24h). Use extraHTTPHeaders to pass auth for a protected page. BILLED. Api2Pdf API: POST /chrome/pdf/url.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL of the web page Api2Pdf will fetch and render to PDF. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
api2pdf_wkhtml_to_pdfHTML to PDF (wkhtmltopdf)DestructiveInspect
Render an HTML string to a PDF using the wkhtmltopdf engine — an alternate to Chrome that supports a table of contents (pass enableToc / tocOptions inside options). Returns a { FileUrl } (valid ~24h). BILLED. Api2Pdf API: POST /wkhtml/pdf/html.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The HTML source to render into a PDF. | |
| inline | No | If true (Api2Pdf default), the generated file is served inline; if false, as an attachment. | |
| options | No | Engine-specific render options (page size, margins, orientation, headers/footers, etc.). Passed through verbatim to Api2Pdf. | |
| storage | No | Custom storage target, used when useCustomStorage is true. | |
| fileName | No | A name for the generated file, e.g. 'invoice.pdf'. | |
| output_binary | No | If true, return the raw file bytes as base64 instead of a FileUrl. Default false (recommended for agents — returns a short-lived link). | |
| extraHTTPHeaders | No | Extra HTTP headers Api2Pdf forwards when it fetches a source URL (e.g. auth for a protected page/file). | |
| useCustomStorage | No | If true, Api2Pdf uploads the result to your own storage (see `storage`) instead of hosting it. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
- Changed
api2pdf_add_password1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_compress_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_convert_to_markdown1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_delete_file1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_extract_pages1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_generate_barcode1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_get_balance1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_get_status1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_html_to_image1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_html_to_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_markdown_to_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_merge_pdfs1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_office_to_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_url_to_image1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_url_to_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
api2pdf_wkhtml_to_pdf1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
16 tool updates
- First observed
api2pdf_add_password - First observed
api2pdf_compress_pdf - First observed
api2pdf_convert_to_markdown - First observed
api2pdf_delete_file - First observed
api2pdf_extract_pages - First observed
api2pdf_generate_barcode - First observed
api2pdf_get_balance - First observed
api2pdf_get_status - First observed
api2pdf_html_to_image - First observed
api2pdf_html_to_pdf - First observed
api2pdf_markdown_to_pdf - First observed
api2pdf_merge_pdfs - First observed
api2pdf_office_to_pdf - First observed
api2pdf_url_to_image - First observed
api2pdf_url_to_pdf - First observed
api2pdf_wkhtml_to_pdf
Related MCP Connectors
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
HTML and CSS to PDF MCP server with page headers, footers and page numbers. No headless browser.
Cloud PDF generation from HTML, CSS and XSL-FO, with PDF/A and PDF/UA support.
Document conversion MCP server: PDF to Markdown, image OCR, spreadsheet parsing.
Related MCP Servers
- AlicenseBqualityDmaintenanceA universal MCP server for document processing, conversion, and automation. Handle PDF, DOCX, HTML, Markdown, and more through a unified API and toolset.1320 npm140MIT

polydoc-mcpofficial
AlicenseNot gradedqualityCmaintenanceMCP server that converts HTML or URLs to PDF, captures screenshots, and generates EU-compliant e-invoices (Factur-X/ZUGFeRD).116 npmMIT- FlicenseNot gradedqualityDmaintenanceThis MCP server enables interactions with the PDF Generator API for creating, converting, and managing PDF documents using natural language commands.-
- MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.