# PDF.co — MCP server on mcp.ai > Connect your PDF.co account and use 35 tools for documents straight from your AI agent. Connect with your own API key. PDF.co is a REST API platform for PDF automation including PDF extraction, generation, editing, splitting, merging, form filling, barcode processing, OCR, document parsing, file conversion (PDF to Excel/CSV/JSON/XML/HTML/Image and vice versa), and AI-powered invoice parsing. By: mcp.ai · official Page: https://mcp.ai/pdf_co ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_pdf_co?ms=1787293560000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/pdf_co/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/pdf_co/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/pdf_co/skill.md Postman collection (v2.1): https://mcp.ai/pdf_co/postman.json ## Tools - pdf_co_account_balance_info() — Tool to get account balance info. Use after authenticating to check remaining credits. - pdf_co_barcode_generate(name?: string, type: string, value: string, async_?: boolean, margin?: integer, addText?: boolean, fontName?: string, fontSize?: integer, backColor?: string, foreColor?: string, resolution?: integer, aspectRatio?: number, pdfPassword?: string, barcodeWidth?: integer, outputFormat?: string, barcodeHeight?: integer, caseSensitive?: boolean) — DEPRECATED: Use PDFCOPostBarcodeGenerate instead. Tool to generate barcode images (QR, Code128, Code39, PDF417, etc.). Use when you need to encode data into barcodes on the fly. - pdf_co_convert_excel_to_csv(url: string, name?: string, pages?: string, inline?: boolean, password?: string, profiles?: string) — Tool to convert an Excel file (XLS/XLSX) to CSV. Use when you have a public Excel file URL and need CSV output. Inline option returns data inline; otherwise provides download URL. - pdf_co_convert_excel_to_html(url: string, name?: string, async?: boolean, profiles?: string) — Tool to convert an Excel file to HTML. Use when you have an Excel URL and need HTML output. - pdf_co_convert_excel_to_json(url: string, name?: string, pages?: string, password?: string, profiles?: string) — Tool to convert an online Excel or CSV file to JSON format. Use when you have a public file URL and need structured data extraction. - pdf_co_convert_excel_to_text(url: string, name?: string, pages?: string, inline?: boolean, encrypt?: boolean, password?: string, profiles?: string) — Tool to convert Excel files to plain text. Use after providing an Excel file URL to extract spreadsheet content. - pdf_co_convert_excel_to_xml(url: string, name?: string, async?: boolean, inline?: boolean, callback?: string, profiles?: object, expiration?: integer, httppassword?: string, httpusername?: string, worksheetIndex?: string, DataDecryptionIV?: string, DataEncryptionIV?: string, DataDecryptionKey?: string, DataEncryptionKey?: string, DataDecryptionAlgorithm?: string, DataEncryptionAlgorithm?: string) — Tool to convert an Excel file to XML. Use when needing XML output from xls/xlsx/csv synchronously or asynchronously. - pdf_co_document_parser(url?: string, file?: string, name?: string, pages?: string, inline?: boolean, password?: string, template: string, async_req?: boolean, outputFormat?: string) — Tool to parse documents based on predefined templates to extract structured data. Use when you need to extract structured fields from a PDF by supplying a custom template. - pdf_co_file_upload(url?: string, file?: object, name?: string, run_async?: boolean) — Tool to upload a local file or remote URL to PDF.co, returning a hosted URL for downstream processing. Use when a PDF.co tool (e.g., PDF_CO_PDF_FROM_HTML) requires a remote URL but you have a local fi - pdf_co_job_check(force?: boolean, job_id: string) — Tool to check status and result of an asynchronous job. Use after submitting a job to poll for completion. - pdf_co_pdf_add(url: string, name?: string, pages?: string, objects: object[], password?: string, run_async?: boolean) — Tool to add content to an existing PDF. Use when you need to overlay text, images, barcodes, or links before distributing the file. - pdf_co_pdf_change_text_searchable(url: string, rect?: string, pages?: string, inline?: boolean, language?: string, password?: string, profiles?: string) — Tool to make PDF text searchable using OCR. Use when you need to add a searchable text layer to scanned or image-only PDF documents. - pdf_co_pdf_delete_pages(url: string, name?: string, pages: string, password?: string, profiles?: string, async_job?: boolean) — Tool to delete specific pages from a PDF file. Use when you need to remove unwanted pages before further processing. - pdf_co_pdf_extract_attachments(url: string, inline?: boolean, callback?: string, password?: string, async_job?: boolean, expiration?: integer, httppassword?: string, httpusername?: string) — Tool to extract embedded attachments from a PDF. Use when you need to retrieve embedded files from a PDF after uploading. - pdf_co_pdf_find(url: string, pages?: string, password?: string, profiles?: string, regexSearch?: boolean, searchString: string, caseSensitive?: boolean) — Tool to find text in a PDF document. Use when you need to locate keywords or regex patterns and get their page positions. - pdf_co_pdf_forms_info_reader(url: string, async?: boolean, password?: string) — Tool to extract form field information from a PDF. Use when you need to retrieve names, types, and values of form fields. Returns field names, types (CheckBox, EditBox, RadioButton, ComboBox), values, - pdf_co_pdf_from_document_txt(url: string, name: string, profiles?: string, async_job?: boolean) — Tool to convert a plain text (.txt) file to PDF. Use when you have a public URL to a text file; raw inline text is not accepted by the endpoint. - pdf_co_pdf_from_email(url: string, name?: string, profiles?: string, async_job?: boolean) — Tool to convert email files (.eml/.msg) to PDF. Use when you need to transform standalone email messages into PDF documents. - pdf_co_pdf_from_html(url: string, name?: string, async?: boolean, footer?: string, header?: string, margins?: string, callback?: string, profiles?: string, mediaType?: string, paperSize?: string, expiration?: integer, orientation?: string, printBackground?: boolean, DoNotWaitFullLoad?: boolean) — Tool to convert HTML code or webpage URL into a PDF document. Use when you need to capture a webpage or HTML snippet as a PDF file. - pdf_co_pdf_info_reader(url: string) — Tool to retrieve detailed information and metadata of a PDF. Use when you need page count, author, encryption details, and other document properties. - pdf_co_pdf_merge(name?: string, urls: string|string[], profiles?: string, run_async?: boolean) — Tool to merge multiple PDF files into one document. Use when you need to combine several PDF URLs into a single PDF file. - pdf_co_pdf_rotate(url: string, name?: string, angle: integer, pages: string, password?: string, run_async?: boolean) — Tool to rotate selected pages in a PDF. Use when you need to adjust the orientation of specific pages in an online PDF file before further processing. - pdf_co_pdf_search_and_delete_text(url: string, name?: string, async?: boolean, pages?: string, regex?: boolean, password?: string, searchString: string, caseSensitive?: boolean) — Tool to search for and delete text in a PDF by keyword or regex. Use when you need to remove sensitive or unwanted text from a PDF document. - pdf_co_pdf_search_and_replace_text(url: string, name?: string, async?: boolean, password?: string, regexSearch?: boolean, searchString: string, replaceString: string) — Tool to search for and replace text in a PDF document. Use when you need to update specific text instances within an existing PDF file (e.g., changing invoice numbers). - pdf_co_pdf_split(url?: string, file?: object, name?: string, pages?: string, inline?: boolean, callback?: string, password?: string, profiles?: object, run_async?: boolean, expiration?: integer, httppassword?: string, httpusername?: string, DataEncryptionIV?: string, outputDataFormat?: string, DataEncryptionKey?: string, DataEncryptionAlgorithm?: string) — Tool to split a PDF into multiple files by page ranges. Use when you need to extract specific pages or page ranges from a PDF. - pdf_co_pdf_to_csv(url: string, lang?: string, name?: string, pages?: string, inline?: boolean, encrypt?: boolean, password?: string, profiles?: string, run_async?: boolean) — Tool to convert PDF or scanned images to CSV format. Use when you need to extract tabular data from a PDF into CSV format. - pdf_co_pdf_to_html(url?: string, file?: string, name?: string, pages?: string, inline?: boolean, encrypt?: boolean, password?: string, profiles?: string, run_async?: boolean) — Tool to convert PDF documents to HTML. Use when you need an HTML rendition of a PDF or scanned image. - pdf_co_pdf_to_image(dpi?: integer, url: string, async?: boolean, pages?: string, password?: string, profiles?: string, imageFormat?: string) — Tool to convert PDF pages to images (PNG, JPG, TIFF). Use when you need image previews of PDF content. - pdf_co_pdf_to_json(url?: string, file?: string, name?: string, async?: boolean, pages?: string, inline?: boolean, password?: string, profiles?: string, searchString?: string) — Tool to convert PDF or scanned images to JSON format. Use when you need a structured JSON representation of PDF content. - pdf_co_pdf_to_text(url: string, lang?: string, name?: string, rect?: string, pages?: string, inline?: boolean, unwrap?: boolean, callback?: string, password?: string, run_async?: boolean, expiration?: integer, httppassword?: string, httpusername?: string, lineGrouping?: string) — Tool to convert PDF or scanned images to plain text. Use when you need raw text output preserving layout. - pdf_co_pdf_to_xls(url: string, name?: string, pages?: string, password?: string, profiles?: string, run_async?: boolean) — Tool to convert PDF or scanned images to XLS format. Use when you need to extract tabular data into an Excel spreadsheet. - pdf_co_pdf_to_xlsx(url: string, name?: string, async?: boolean, pages?: string, inline?: boolean, encrypt?: boolean, password?: string, profiles?: string, expiration?: integer, optimization?: string, columns0Based?: boolean) — Tool to convert PDF or scanned images to XLSX (Excel) format. Use when you need structured spreadsheet output from a PDF. - pdf_co_pdf_to_xml(url: string, pages?: string, password?: string, profiles?: string, run_async?: boolean) — Tool to convert PDF or scanned images to XML format. Use when you need to extract structured data from PDF into XML. - pdf_co_pdfco_post_barcode_generate(name?: string, type?: string, async?: boolean, value: string, inline?: boolean, encrypt?: boolean, callback?: string, expiration?: integer, profiles.Angle?: integer, decorationImage?: string, outputDataFormat?: string, profiles.CaptionFont?: string, profiles.NarrowBarWidth?: integer) — Tool to generate high quality barcode images in 45+ formats including QR Code, Code 128, Code 39, and more. Use when you need to create barcodes with customization options like rotation, decoration im - pdf_co_pdfco_post_file_upload_base64(file: string, name?: string, expiration?: integer) — Tool to create a temporary file using base64-encoded source data. Use when you need to upload file content as base64 to PDF.co for downstream processing. Temporary files are automatically deleted afte ## Example prompts - "What can I do in PDF.co?" - "Show me a summary of my PDF.co account" ## Links Docs: https://mcp.ai/docs/mcps/pdf_co Website: https://mcp.ai/mcps/pdf_co