Integration

RelayPDF integration

Generate PDFs from HTML, web pages, Markdown or stored Handlebars templates, take screenshots, convert Office, image and email files, and edit PDFs: merge, split, rotate, stamp, protect, fill forms, OCR, PDF/A, redact, compress, read text, info and AI-extracted data. File tools return a public download link valid 24 hours (anyone holding it can open the file), which other tools accept as input and download_file saves as a file; jobs are billed per success from a prepaid wallet. Templates, account, billing limits and the webhook endpoints made in the RelayPDF dashboard (list, delete, delivery history and replay) are also covered. Left out: the hosted MCP endpoint, the health check, per-job callback URLs, the asynchronous response mode and creating webhook endpoints (RelayPDF shows the signing secret only once, so create them in the dashboard). Authentication is an API key (pdf_live_...) from Dashboard, API keys, sent as a Bearer token. Write calls are limited to 5 per 10 seconds and 20 per minute on a trial (60 when funded) per key.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in RelayPDF.Built from the 60 RelayPDF tools below, on the connection you add once.

What you can do with RelayPDF

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Template, 5 operations

  • create_templateCreate templatePOSTAgents: ask firstCreates a Handlebars template draft (optionally from a stock layout with galleryId). Publish it with publish_template before create_pdf can render it.
  • delete_templateDelete templateDELETEAgents: ask firstDeletes a template of this account (a soft delete on RelayPDF's side); create_pdf can no longer render it.
  • get_templateGet templateGETAgents: ask firstReturns one template: its draft when one exists, else the published version (html, sampleData, options, version numbers).
  • list_templatesList templatesGETAgents: ask firstLists the account's Handlebars templates (drafts and published) under templates, each with its id, slug, name, html, sample data, options and version numbers.
  • update_templateUpdate templatePATCHAgents: ask firstUpdates the active draft of a template; send only the fields to change (leave a field out to keep it). The published version is unchanged until publish_template.

File, 3 operations

  • delete_fileDelete fileDELETEAgents: ask firstPermanently deletes a private upload (upload_file) or a newer output of this account before it expires. Answers 404 for a missing file or one owned by another account.
  • download_fileDownload fileGETAgents: ask firstDownloads a RelayPDF output (the id at the end of a tool's url, such as pdf_...) as a stored file you can attach or save. Output links expire 24 hours after creation.
  • upload_fileUpload filePOSTAgents: ask firstUploads a stored file (up to 100 MiB) privately and returns its id for the fileId input of the document tools (ocr_pdf, redact_pdf, convert_image...). Uploads expire after 24 hours.

Convert, 2 operations

  • convert_documentConvert documentPOSTAgents: ask firstConverts Word, Excel, PowerPoint and other Office files (or HTML, a URL) with LibreOffice or wkhtmltopdf to pdf, docx, xlsx, html or png; pass html, url or file. Returns url, a public download link valid 24 hours.
  • convert_imageConvert imagePOSTAgents: ask firstConverts an image file to PNG, JPEG, WebP, TIFF or PDF, optionally fitting it in a bounding box. It does not render HTML (use create_screenshot). Returns url, a public download link valid 24 hours.

Limit, 2 operations

  • get_billing_limitsGet billing limitsGETAgents: ask firstReturns the account's per-job spending cap (maxJobMicrodollars), billing mode and available credit (availableMicrodollars, excluding active reservations).
  • update_billing_limitsUpdate billing limitsPATCHAgents: ask firstSets the account's per-job spending cap: no single job may cost more than maxJobMicrodollars. This is a per-job limit, not a monthly budget. Removing the cap is not offered here.

Webhook, 2 operations

  • delete_webhookDelete webhookDELETEAgents: ask firstDeletes (unsubscribes) a webhook endpoint of this account; RelayPDF stops sending it events. Answers 404 when the id is unknown or another account's.
  • list_webhooksList webhooksGETAgents: ask firstLists the account's signed webhook endpoints (id, url, events, enabled, creation time) under endpoints. Signing secrets are never listed.

Account, 1 operation

  • get_accountGet accountGETAgents: ask firstReturns the account's plan, rate tier (free or paid) and wallet balance in millicents (1 millicent = 0.001 USD; the 5 USD trial is 5000), plus whether auto-reload is on. Not billed.

Attachment, 1 operation

  • extract_pdf_attachmentsExtract pdf attachmentsPOSTAgents: ask firstExtracts the files embedded in a PDF (up to 100) into a ZIP with a manifest.json of names and sizes. Returns url, a public download link valid 24 hours.

Barcode, 1 operation

  • create_barcodeCreate barcodePOSTAgents: ask firstGenerates a QR code or barcode image (PNG or SVG) from text. It does not place it on a PDF (use stamp_pdf or your HTML). Returns url, a public download link valid 24 hours.

Bookmark, 1 operation

  • add_pdf_bookmarksAdd pdf bookmarksPOSTAgents: ask firstAdds a clickable outline (bookmarks, a table of contents) to a PDF, for example after merge_pdfs or convert_document. Returns url, a public download link valid 24 hours.

Compress, 1 operation

  • compress_pdfCompress pdfPOSTAgents: ask firstLosslessly optimizes a PDF (the original compress behavior). For lossy size presets use compress_pdf_advanced. Returns url, a public download link valid 24 hours.

Compress advanced, 1 operation

  • compress_pdf_advancedCompress pdf advancedPOSTAgents: ask firstCompresses a PDF with a preset: lossless (default) or a lossy preset (screen, ebook, printer) that can change images, forms and tags. Returns url, a public download link valid 24 hours.

Crop, 1 operation

  • crop_pdf_pagesCrop pdf pagesPOSTAgents: ask firstSets the visible crop rectangle (x, y, width, height in PDF points) on pages of a PDF. Cropping hides content, it does not remove it. Returns url, a public download link valid 24 hours.

Data, 1 operation

  • extract_pdf_dataExtract pdf dataPOSTAgents: ask firstExtracts fields matching a JSON Schema from a PDF, with page citations, or Markdown per page when no schema is given. Uses AI and is billed at the AI rate.

Delete page, 1 operation

  • remove_pdf_pagesRemove pdf pagesPOSTAgents: ask firstReturns a new PDF without the given pages; the input file is not changed. Returns url, a public download link valid 24 hours.

Delivery, 1 operation

  • list_webhook_deliveriesList webhook deliveriesGETAgents: ask firstLists the 100 most recent webhook deliveries of the account with their status, attempts, HTTP status and next retry time; the answer is under deliveries.

Discard, 1 operation

  • discard_template_draftDiscard template draftPOSTAgents: ask firstDiscards the template's unpublished draft changes; the published version stays as it is.

Duplicate, 1 operation

  • duplicate_templateDuplicate templatePOSTAgents: ask firstCreates a separate copy of a template and returns the new template.

Email, 1 operation

  • convert_emailConvert emailPOSTAgents: ask firstConverts an EML or MSG email file into a readable PDF, or with attachments=true returns its attachments in a ZIP. Returns url, a public download link valid 24 hours.

Estimate, 1 operation

  • get_billing_estimateGet billing estimateGETAgents: ask firstReturns an indicative quote (current rate snapshot and maximum reservation) for one kind of job, such as source=html or source=convert. Not a guarantee of the final charge.

Extract, 1 operation

  • extract_pdf_pagesExtract pdf pagesPOSTAgents: ask firstKeeps the given pages of a PDF, in a new PDF (split or excerpt); duplicate pages collapse and at least one page must remain. Returns url, a public download link valid 24 hours.

Extract image, 1 operation

  • extract_pdf_imagesExtract pdf imagesPOSTAgents: ask firstExports the images embedded in pages of a PDF (up to 500) as PNG files in a ZIP. It does not render whole pages (use rasterize_pdf_pages). Returns url, a public download link valid 24 hours.

Field, 1 operation

  • list_pdf_form_fieldsList pdf form fieldsPOSTAgents: ask firstLists the AcroForm fields of a PDF (their names and properties) so fill_pdf_form can write them; the answer is under result.

Fill, 1 operation

  • fill_pdf_formFill pdf formPOSTAgents: ask firstFills the AcroForm fields of a PDF (names from list_pdf_form_fields) and flattens them by default into a static PDF. Returns url, a public download link valid 24 hours.

From image, 1 operation

  • create_pdf_from_imagesCreate pdf from imagesPOSTAgents: ask firstAssembles 1 to 20 PNG or JPEG images into a PDF, one image per page, in the order given. Returns url, a public download link valid 24 hours.

Gallery, 1 operation

  • list_gallery_templatesList gallery templatesGETAgents: ask firstLists RelayPDF's stock Handlebars layouts (invoices, receipts, certificates, reports...) that can be cloned into a template with create_template (galleryId).

Generate, 1 operation

  • generate_templateGenerate templatePOSTAgents: ask firstWrites (or edits, when html is given) a Handlebars template from a plain-language prompt with AI and returns its html, sampleData and options; nothing is saved. Billed at the AI rate on success.

Image, 1 operation

  • create_screenshotCreate screenshotPOSTAgents: ask firstTakes a PNG, JPEG or WebP screenshot of HTML or a public web page URL with Chromium; pass html or url. Returns url, a public download link valid 24 hours.

Info, 1 operation

  • get_pdf_infoGet pdf infoPOSTAgents: ask firstReads a PDF's page count, encryption flag, metadata and per-page size and rotation; the answer is under info.

Job, 1 operation

  • get_jobGet jobGETAgents: ask firstReads an asynchronous job's status: processing, completed (with url, a 24-hour public download link) or failed (with error.code and error.message). Each call reads it fresh.

Merge, 1 operation

  • merge_pdfsMerge pdfsPOSTAgents: ask firstMerges 2 to 20 PDFs, in the order given, into one PDF. Convert Office files with convert_document first. Returns url, a public download link valid 24 hours.

Ocr, 1 operation

  • ocr_pdfOcr pdfPOSTAgents: ask firstAdds a searchable text layer to the scanned pages of a PDF (pages that already have text are kept as they are). Returns url, a public download link valid 24 hours.

Optimize, 1 operation

  • optimize_pdfOptimize pdfPOSTAgents: ask firstApplies lossless stream and object optimization to a PDF; a smaller file is not guaranteed and images are not downsampled. Returns url, a public download link valid 24 hours.

Pdf, 1 operation

  • create_pdfCreate pdfPOSTAgents: ask firstRenders HTML, a public web page URL, Markdown or a published template (templateId + templateData) to a PDF with Chromium; pass exactly one source. Returns url, a public download link valid 24 hours.

Pdfa, 1 operation

  • convert_pdf_to_pdfaConvert pdf to pdfaPOSTAgents: ask firstConverts a PDF to PDF/A-2 archival output, running OCR on scanned pages. Returns url, a public download link valid 24 hours.

Preview, 1 operation

  • preview_templatePreview templatePOSTAgents: ask firstRenders unsaved Handlebars HTML with sample data to a PDF, to check a layout before saving it; billed at the browser rate. Returns url, a public download link valid 24 hours.

Protect, 1 operation

  • protect_pdfProtect pdfPOSTAgents: ask firstPassword-protects a PDF with AES-256: the new copy asks for userPassword to open. Returns url, a public download link valid 24 hours.

Publish, 1 operation

  • publish_templatePublish templatePOSTAgents: ask firstPublishes the template's active draft as a new version, which create_pdf then renders by default. Live documents change from the next render.

Raster, 1 operation

  • rasterize_pdf_pagesRasterize pdf pagesPOSTAgents: ask firstRenders pages of a PDF to PNG or JPEG images; one page gives an image, several pages give a ZIP (at most 50 pages). Returns url, a public download link valid 24 hours.

Redact, 1 operation

  • redact_pdfRedact pdfPOSTAgents: ask firstBlacks out literal text matches and/or page areas, then rebuilds every page as an image-only PDF (no text layer, metadata or attachments). Every text must match or the job fails. Returns url, a public download link valid 24 hours.

Repair, 1 operation

  • repair_pdfRepair pdfPOSTAgents: ask firstParses a damaged but recoverable PDF and saves it again as a normalized file. Missing content cannot be rebuilt. Returns url, a public download link valid 24 hours.

Replay, 1 operation

  • replay_webhook_deliveryReplay webhook deliveryPOSTAgents: ask firstSends a webhook delivery that failed for good to its endpoint again, with its original event identity. It does not rerun the document job.

Resize, 1 operation

  • resize_pdf_pagesResize pdf pagesPOSTAgents: ask firstFits pages of a PDF into a new page size (width and height in PDF points), keeping the content's aspect ratio and centering it. Returns url, a public download link valid 24 hours.

Restore, 1 operation

  • restore_template_versionRestore template versionPOSTAgents: ask firstRestores a saved version of a template as its draft; publish it with publish_template when ready.

Rotate, 1 operation

  • rotate_pdf_pagesRotate pdf pagesPOSTAgents: ask firstRotates pages of a PDF by a multiple of 90 degrees and returns the new PDF. Returns url, a public download link valid 24 hours.

Stamp, 1 operation

  • stamp_pdfStamp pdfPOSTAgents: ask firstStamps a text watermark (draft, confidential) or an image (a logo) onto pages of a PDF; give text or image, not both. Returns url, a public download link valid 24 hours.

Text, 1 operation

  • extract_pdf_textExtract pdf textPOSTAgents: ask firstReturns the existing text layer of a PDF (no OCR: a scan gives no text; use ocr_pdf or extract_pdf_data); the answer is under result.

Unlock, 1 operation

  • unlock_pdfUnlock pdfPOSTAgents: ask firstRemoves the password from a PDF when you know it, returning an unencrypted copy. A wrong password is refused (400) and not billed. Returns url, a public download link valid 24 hours.

Usage, 1 operation

  • list_billing_usageList billing usageGETAgents: ask firstLists the account's 100 most recent jobs with their quote, receipt, reserved and charged amounts (microdollars) and creation time; the answer is under usage. A null charged amount is not a completed charge.

Validate, 1 operation

  • validate_templateValidate templatePOSTAgents: ask firstChecks unsaved Handlebars HTML against sample data without rendering it; answers ok true when valid, else an error naming the problem. Not billed.

Version, 1 operation

  • list_template_versionsList template versionsGETAgents: ask firstLists a template's saved versions (number, draft or published, comment, creation time) under versions.

Zip, 1 operation

  • create_zip_archiveCreate zip archivePOSTAgents: ask firstBundles 1 to 30 named files (PDFs, images, anything) into one ZIP archive. Returns url, a public download link valid 24 hours.

Use RelayPDF from Claude Code, Cursor or Codex

Connect RelayPDF in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its RelayPDF operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect RelayPDF

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect RelayPDF once

    Add your RelayPDF connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

RelayPDF integration FAQ

What can you do with the RelayPDF integration?

LiveContext exposes 60 operations on RelayPDF, covering template, file, convert and limit.

Popular integrations

Browse the whole catalog