br0ski777 avatar

PDF Generator API

br0ski777/pdf-generator-x402

Converts HTML or Markdown into PDFs through a remote API at pdf-generator.api.klymax402.com, with support for custom page sizes, margins, and layout options. The server uses x402 USDC micropayments, meaning each PDF generation costs a small amount of cryptocurrency. It's built as an MCP server that connects over server-sent events (SSE), designed for AI agents that need to produce formatted documents programmatically. Reach for this when you're building workflows that generate reports, invoices, or documentation from structured content and you want to handle the PDF rendering remotely rather than spinning up your own conversion pipeline.

tools
49
transport
SSE
last updated
May 16, 2026

Tools

49 tools

Public tool metadata for what this MCP can expose to an agent.

get_statusReturns service status / health

Returns service status / health

No parameter schema in public metadata yet.

add_watermarkAdds a text or an image watermark to PDF document from base64 string or a remote URL.1 params

Adds a text or an image watermark to PDF document from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
encrypt_documentEncrypts a PDF document from base64 string or a remote URL.1 params

Encrypts a PDF document from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
decrypt_documentDecrypts an encrypted PDF document from base64 string or a remote URL.1 params

Decrypts an encrypted PDF document from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
optimize_documentOptimizes the size of a PDF document from base64 string or a remote URL.1 params

Optimizes the size of a PDF document from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
make_accessibleAdds accessibility tags to a PDF document from base64 string or a remote URL.1 params

Adds accessibility tags to a PDF document from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
extract_form_fieldsExtracts form fields and their metadata from a PDF document using base64 string or a remote URL.1 params

Extracts form fields and their metadata from a PDF document using base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
fill_form_fieldsFills form fields in a PDF document with provided data from base64 string or a remote URL.1 params

Fills form fields in a PDF document with provided data from base64 string or a remote URL.

Parameters* required
requestBodyobject
The JSON request body. (Multiple input formats supported)
get_templatesReturns a list of templates available for the authenticated workspace5 params

Returns a list of templates available for the authenticated workspace

Parameters* required
accessstring
Filter template by access type. No values returns all templates. private - returns only private templates, organization - returns only organization templates.one of private · organization · default:
namestring
Filter template by name
pagenumber
Pagination: page to returndefault: 1
per_pagenumber
Pagination: How many records to return per pagedefault: 15
tagsstring
Filter template by tags
create_templateCreates a new template. If template configuration is not specified in the request body then an empty template is created. Template is placed to the workspace specified in authentication params. Template configuration must be sent in the request body.1 params

Creates a new template. If template configuration is not specified in the request body then an empty template is created. Template is placed to the workspace specified in authentication params. Template configuration must be sent in the request body.

Parameters* required
requestBodyobject
Template configuration
get_template_schemaReturns Template JSON Schema which defines the structure of the Template Definition.

Returns Template JSON Schema which defines the structure of the Template Definition.

No parameter schema in public metadata yet.

import_templateCreates a template from existing PDF1 params

Creates a template from existing PDF

Parameters* required
requestBodyobject
Import a PDF via URL or base64 string as template (Multiple input formats supported)
validate_templateValidates if the provided template configuration matches the template JSON schema.1 params

Validates if the provided template configuration matches the template JSON schema.

Parameters* required
requestBodyobject
Template configuration
get_templateReturns template configuration1 params

Returns template configuration

Parameters* required
templateIdnumber
Template unique identifier
update_templateUpdates template configuration. The template configuration for pages and layout must be complete as the entire configuration is replaced and not merged.2 params

Updates template configuration. The template configuration for pages and layout must be complete as the entire configuration is replaced and not merged.

Parameters* required
requestBodyobject
Template configuration
templateIdnumber
Template unique identifier
delete_templateDeletes the template from workspace1 params

Deletes the template from workspace

Parameters* required
templateIdnumber
Template unique identifier
get_template_dataReturns all data fields used in the template. Returns structured JSON data that can be used to check which data fields are used in template or autogenerate sample data.1 params

Returns all data fields used in the template. Returns structured JSON data that can be used to check which data fields are used in template or autogenerate sample data.

Parameters* required
templateIdnumber
Template unique identifier
copy_templateCreates a copy of a template to the workspace specified in authentication parameters.2 params

Creates a copy of a template to the workspace specified in authentication parameters.

Parameters* required
requestBodyobject
The JSON request body.
templateIdnumber
Template unique identifier
open_editorReturns an unique URL which you can use to redirect your user to the editor from your application or use the generated URL as iframe source to show the editor within your application. When using iframe, make sure that your browser allows third-party cookies.2 params

Returns an unique URL which you can use to redirect your user to the editor from your application or use the generated URL as iframe source to show the editor within your application. When using iframe, make sure that your browser allows third-party cookies.

Parameters* required
requestBodyobject
The JSON request body.
templateIdnumber
Template unique identifier
list_template_versionsReturns a paginated list of template versions for the specified template.3 params

Returns a paginated list of template versions for the specified template.

Parameters* required
pagenumber
Page number to return.
per_pagenumber
Number of items per page.
templateIdnumber
Template unique identifier
get_template_versionReturns the template definition of the specified version.2 params

Returns the template definition of the specified version.

Parameters* required
templateIdnumber
Template unique identifier
templateVersionnumber
Unique ID of the template version.
delete_template_versionDeletes the specified template version. Production versions cannot be deleted.2 params

Deletes the specified template version. Production versions cannot be deleted.

Parameters* required
templateIdnumber
Template unique identifier
templateVersionnumber
Unique ID of the template version.
promote_template_versionPromotes the specified template version to production. Only one version can be production at a time.2 params

Promotes the specified template version to production. Only one version can be production at a time.

Parameters* required
templateIdnumber
Template unique identifier
templateVersionnumber
Unique ID of the template version.
get_documentsReturns a list of generated documents created by authorized workspace and stored in PDF Generator API. If master user is specified as workspace in JWT then all documents created in the organization are returned. NB! This endpoint returns only documents generated using the outp...5 params

Returns a list of generated documents created by authorized workspace and stored in PDF Generator API. If master user is specified as workspace in JWT then all documents created in the organization are returned. NB! This endpoint returns only documents generated using the outp...

Parameters* required
end_datestring
End date. Format: Y-m-d H:i:s. Defaults to current timestamp
pagenumber
Pagination: page to returndefault: 1
per_pagenumber
Pagination: How many records to return per pagedefault: 15
start_datestring
Start date. Format: Y-m-d H:i:s
template_idnumber
Template unique identifier
get_documentReturns document stored in the Document Storage1 params

Returns document stored in the Document Storage

Parameters* required
publicIdstring
Resource public id
delete_documentDelete document from the Document Storage1 params

Delete document from the Document Storage

Parameters* required
publicIdstring
Resource public id
generate_documentMerges template with data and returns base64 encoded document or a public URL to a document. NB! When the public URL option is used, the document is stored for 30 days and automatically deleted.1 params

Merges template with data and returns base64 encoded document or a public URL to a document. NB! When the public URL option is used, the document is stored for 30 days and automatically deleted.

Parameters* required
requestBodyobject
Request parameters, including template id, data and formats.
generate_document_asyncMerges template with data as asynchronous job and makes POST request to callback URL defined in the request. Request uses the same format as response of synchronous generation endpoint. The job id is also added to the callback request as header PDF-API-Job-Id *Example response...1 params

Merges template with data as asynchronous job and makes POST request to callback URL defined in the request. Request uses the same format as response of synchronous generation endpoint. The job id is also added to the callback request as header PDF-API-Job-Id *Example response...

Parameters* required
requestBodyobject
Request parameters, including template id, data and formats.
generate_document_batchAllows to merge multiple templates with data and returns base64 encoded document or public URL to a document. NB! When the public URL option is used, the document is stored for 30 days and automatically deleted.1 params

Allows to merge multiple templates with data and returns base64 encoded document or public URL to a document. NB! When the public URL option is used, the document is stored for 30 days and automatically deleted.

Parameters* required
requestBodyobject
Request parameters, including template id, data and formats.
generate_document_batch_asyncMerges template with data as asynchronous job and makes POST request to callback URL defined in the request. Request uses the same format as response of synchronous generation endpoint. The job id is also added to the callback request as header PDF-API-Job-Id *Example response...1 params

Merges template with data as asynchronous job and makes POST request to callback URL defined in the request. Request uses the same format as response of synchronous generation endpoint. The job id is also added to the callback request as header PDF-API-Job-Id *Example response...

Parameters* required
requestBodyobject
Request parameters, including template id, data and formats.
get_async_job_statusReturns status of an async job1 params

Returns status of an async job

Parameters* required
jobIdstring
Job id
get_workspacesReturns all workspaces in the organization2 params

Returns all workspaces in the organization

Parameters* required
pagenumber
Pagination: page to returndefault: 1
per_pagenumber
Pagination: How many records to return per pagedefault: 15
create_workspaceCreates a regular workspace with identifier specified in the request.1 params

Creates a regular workspace with identifier specified in the request.

Parameters* required
requestBodyobject
The JSON request body.
get_workspaceReturns workspace information for the workspace identifier specified in the request.1 params

Returns workspace information for the workspace identifier specified in the request.

Parameters* required
workspaceIdentifierstring
Workspace identifier
delete_workspaceDelete workspace. Only regular workspaces can be deleted.1 params

Delete workspace. Only regular workspaces can be deleted.

Parameters* required
workspaceIdentifierstring
Workspace identifier
convert_html_to_pdfConverts HTML content to PDF1 params

Converts HTML content to PDF

Parameters* required
requestBodyobject
The JSON request body.
convert_url_to_pdfConverts public URL to PDF1 params

Converts public URL to PDF

Parameters* required
requestBodyobject
The JSON request body.
get_formsReturns a list of forms available for the organization2 params

Returns a list of forms available for the organization

Parameters* required
pagenumber
Pagination: page to returndefault: 1
per_pagenumber
Pagination: How many records to return per pagedefault: 15
create_formCreates a new form based on the configuration sent in the request body.1 params

Creates a new form based on the configuration sent in the request body.

Parameters* required
requestBodyobject
Form configuration
import_formCreates a new form based on editable PDF1 params

Creates a new form based on editable PDF

Parameters* required
requestBodyobject
Import editable PDF via URL or base64 string as form (Multiple input formats supported)
get_formReturns form configuration1 params

Returns form configuration

Parameters* required
formIdnumber
Form unique identifier
update_formUpdates the form configuration. The form configuration must be complete as the entire configuration is replaced and not merged.2 params

Updates the form configuration. The form configuration must be complete as the entire configuration is replaced and not merged.

Parameters* required
formIdnumber
Form unique identifier
requestBodyobject
Form configuration
delete_formDeletes the form with specified id1 params

Deletes the form with specified id

Parameters* required
formIdnumber
Form unique identifier
share_formCreates an unique sharing URL to collect form data1 params

Creates an unique sharing URL to collect form data

Parameters* required
formIdnumber
Form unique identifier
generate_qr_codeCreates a QR code based on the configuration1 params

Creates a QR code based on the configuration

Parameters* required
requestBodyobject
QR Code configuration
create_einvoiceThis endpoint transforms a JSON payload into an XML-based e-invoice that is fully compliant with the European EN 16931 standard. The generated output can be formatted in either UBL (Universal Business Language) or CII (Cross-Industry Invoice) syntax, ensuring interoperability...1 params

This endpoint transforms a JSON payload into an XML-based e-invoice that is fully compliant with the European EN 16931 standard. The generated output can be formatted in either UBL (Universal Business Language) or CII (Cross-Industry Invoice) syntax, ensuring interoperability...

Parameters* required
requestBodyobject
eInvoice conversion
create_xrechnung_einvoiceThis endpoint transforms a JSON payload into an XML-based XRechnung e-invoice that is fully compliant with the European EN 16931 standard. The generated output follows the XRechnung format and can be formatted in either UBL (Universal Business Language) or CII (Cross-Industry...1 params

This endpoint transforms a JSON payload into an XML-based XRechnung e-invoice that is fully compliant with the European EN 16931 standard. The generated output follows the XRechnung format and can be formatted in either UBL (Universal Business Language) or CII (Cross-Industry...

Parameters* required
requestBodyobject
eInvoice conversion
create_facturx_einvoiceThis endpoint transforms a JSON payload a Factur-X e-invoice that is fully compliant with the European EN 16931 standard. The generated output is always a PDF document, embedding a structured CII (Cross-Industry Invoice) XML according to the Factur-X format into a human-readab...1 params

This endpoint transforms a JSON payload a Factur-X e-invoice that is fully compliant with the European EN 16931 standard. The generated output is always a PDF document, embedding a structured CII (Cross-Industry Invoice) XML according to the Factur-X format into a human-readab...

Parameters* required
requestBodyobject
eInvoice conversion
get_einvoice_schemaReturns e-invoice JSON schema which defines the structure of the e-invoice.

Returns e-invoice JSON schema which defines the structure of the e-invoice.

No parameter schema in public metadata yet.

Sponsors

Readme

PDF Generator API

MCP Server x402 License: MIT

Generate PDF documents from HTML or Markdown. Custom page size, margins, headers. Ideal for reports and invoices. Pay-per-call via x402 (USDC on Base L2) -- no API key, no signup, no rate-limit wall.

Part of the klymax402 marketplace -- 100 x402 micropayment APIs for AI agents, one wallet, USDC on Base.

Quickstart -- MCP

Add to your MCP client config (Claude Desktop, Cursor, ElizaOS, etc.):

{
  "mcpServers": {
    "pdf-generator": {
      "url": "https://pdf-generator.api.klymax402.com/mcp"
    }
  }
}

Quickstart -- HTTP (x402)

curl -X POST "https://pdf-generator.api.klymax402.com/api/generate" \
  -H "Content-Type: application/json" \
  -d '{"content":"..."}'
# -> 402 Payment Required, with an x402 payment challenge in the response body

View the full README on GitHub

Details

Repository
github.com/br0ski777/pdf-generator-x402
Website
github.com/Br0ski777/pdf-generator-x402
Category
Documents & Knowledge
Transport
SSE
Registry
MCP registry, active

More from br0ski777

Related Documents & Knowledge MCP servers

View all
1cyanheads avatarObsidian Mcp Servercyanheads/obsidian-mcp-serverRead, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.705stars
2diaaaj avatarA Mem Mcpdiaaaj/a-mem-mcpSelf-evolving memory system for AI agents34stars
3es617 avatarObsidian Sync Mcpes617/obsidian-sync-mcpGive AI agents access to your Obsidian vault via local files or Self-hosted LiveSync.21stars
4jubakitiashvili avatarContext Memjubakitiashvili/context-memPersistent memory for AI agents — 98%+ retrieval recall, 99% token savings, 44 tools13stars
5domdomegg avatarGoogle Drivedomdomegg/google-drive-mcpAllow AI systems to list, search, upload, download, and manage files and folders in Google Drive.7stars
6ravikant1918 avatarSharePoint MCP Serverravikant1918/sharepoint-mcpMCP server for Microsoft SharePoint — manage folders, documents, and metadata.7stars