convert_to_pdfa
Convert any PDF to PDF/A archival format for long-term preservation, ensuring compliance with ISO standards.
Instructions
Convert a PDF to PDF/A archival format.
Args: pdf_base64: Base64-encoded PDF file.
Returns: Base64-encoded PDF/A file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pdf_base64 | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- mcp/src/docgen_mcp/server.py:319-331 (handler)MCP tool handler that accepts a base64-encoded PDF, decodes it, calls the DocGen PdfToolsClient.to_pdfa() method, and returns the base64-encoded PDF/A result.
@mcp.tool() def convert_to_pdfa(pdf_base64: str) -> str: """Convert a PDF to PDF/A archival format. Args: pdf_base64: Base64-encoded PDF file. Returns: Base64-encoded PDF/A file. """ dg = _get_client() result = dg.pdf_tools.to_pdfa(base64.b64decode(pdf_base64)) return base64.b64encode(result).decode() - mcp/src/docgen_mcp/server.py:319-319 (registration)The @mcp.tool() decorator registers convert_to_pdfa as an MCP tool on the FastMCP server instance.
@mcp.tool() - PdfToolsClient.to_pdfa() sends a POST /api/pdf-tools/pdfa/base64 request with the base64-encoded PDF and returns the PDF/A bytes.
def to_pdfa(self, pdf: FileInput) -> bytes: """Convert a PDF to PDF/A format for archival. Args: pdf: PDF to convert. Returns: PDF/A bytes. """ return self._transport.request_bytes( "POST", "/api/pdf-tools/pdfa/base64", json={"pdfBase64": to_base64(pdf)}, ) - mcp/src/docgen_mcp/server.py:320-320 (schema)Schema/type definition: the tool accepts a single string parameter 'pdf_base64' and returns a string (both base64-encoded). Defined inline via Python type hints.
def convert_to_pdfa(pdf_base64: str) -> str: