The value is coverage: nearly every crossing between PDF, spreadsheet, image, web page and email has a tool, so a chain like scan to OCR to CSV never leaves the conversation. Two habits matter when driving it — long conversions return a job rather than a result, so pair them with wait_job_completion, and find_text returns coordinates rather than text, which is what makes annotation and form placement possible.
A client for the PDF.co document API, covering conversion in both directions, OCR, form handling, search by coordinate and file assembly. Long operations run as background jobs you poll or wait on.
- A PDF read out in whatever shape the next step needs: JSON with fonts, images, vectors and formatting preserved, CSV with columns and rows, plain text with layout, XLS or XLSX, XML, HTML, or page images as JPG, PNG, WebP or TIFF (pdf_to_json, pdf_to_csv, pdf_to_text, pdf_to_xls, pdf_to_xlsx, pdf_to_xml, pdf_to_html, pdf_to_image).
- A PDF built from almost anything: DOC, DOCX, RTF, TXT, XLS, XLSX, CSV, HTML and images, plus a live webpage URL, an HTML string with header and footer markup, or an email (document_to_pdf, csv_to_pdf, image_to_pdf, webpage_to_pdf, html_to_pdf, email_to_pdf).
- Excel converted straight out to CSV, JSON, HTML, TXT, XML or PDF without going through a PDF first (excel_to_csv, excel_to_json, excel_to_html, excel_to_txt, excel_to_xml, excel_to_pdf).
- Form work end to end: read the fillable field names out of a document, fill them by name, or add new form elements at chosen coordinates (read_pdf_forms_info, fill_forms, create_fillable_forms).
- Text and table locations returned as coordinates, with regular expressions supported on the text search — the input for annotating or redacting a specific spot (find_text, find_table).
- OCR that adds an invisible text layer to a scan, and the reverse for stripping one out (pdf_make_searchable, pdf_make_unsearchable).
- Assembly and access control: merge PDFs, DOCs, XLS files, images or a ZIP of them into one document, split by page index or range, add or remove a password (pdf_merge, pdf_split, pdf_add_password, pdf_remove_password).
- Document inspection and extraction: page count, metadata, security state and form fields, attachments pulled out of a PDF, and an AI parser that reads invoice data (pdf_info_reader, extract_attachments, ai_invoice_parser).
- Job control for the asynchronous side: upload a local file to the API, check whether a job is working, success, failed, aborted or unknown, or block until it finishes (upload_file, get_job_check, wait_job_completion).
A PDF.co account and its API key, passed as X_API_KEY. UV supplies the runtime — install it, then launch with `uvx pdfco-mcp` over stdio.
One command plus a key — uvx pdfco-mcp, then supply credentials
