Emboss

io.github.edwinorange/emboss

Make any PDF form fillable, fill it from data or documents, read it back, and fax the result.

Yes, your AI can use this right now.Answered a live MCP handshake in 457 ms with no sign-in needed and exposes 27 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://api.getemboss.ai/mcp

27 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
list_formsread-only

Forms in the user's Emboss library. state: ready (default), processing, failed, or all. Paginate with cursor.

get_formread-only

Status of one form. When ready, returns every field (id, label, kind, options, required) and a download link for the fillable PDF.

find_formread-only

Find a blank government form in the Emboss library by name or number, ready to fill. Search the library of blank US federal forms by name, number or alias (w9, W-9, form w 9 and taxpayer identification all find the same form). Returns each match's slug, title, agency, revision and page count. Send the whole query once, and do not search as the user types: each search spends one of the account's ra

get_usageread-only

This month's usage and how many free operations remain, plus the billing page link. It also says whether a payment method is on file (payment_method_on_file) and whether the account can send a fax today (fax_ready). Faxes need a payment method: check fax_ready before send_fax.

create_form

Turn a flat or scanned PDF form into a fillable PDF with detected fields. Upload a PDF (pdf_url: public https link, or pdf_base64) and detect its fields. Returns when detection finishes (usually under two minutes). Give library=<slug> from find_form to start from a form Emboss already keeps. Billed as one form creation; the first 5 each month are free. Optional retention: ephemeral or account_defa

delete_formcan modify

Permanently removes a form and its PDFs from the user's library.

fill_form

Fill a PDF form from structured data such as JSON or key-value answers. Fill a ready form with values keyed by field id or field label. Checkboxes take yes or no; choice fields need one of their options. flatten is reserved and not available yet. Returns a download link plus any labels that did not match (ask the user about those). Billed as one fill; the first 5 each month are free. retention (ep

fill_form_from_context

Fill a PDF form using facts found in supporting documents. Emboss reads the answers out of context_text and/or context_urls (public https links to PDFs, Word, spreadsheets, images, or text) and fills the form. Give form_id for a form already in the library, or pdf_url/pdf_base64 for a new one. Give library=<slug> from find_form to start from a form Emboss already keeps. policy is safe (write high

prepare_form

Prepare a form from documents: a proposal of every answer with its source, what is missing, and where documents disagree, before writing, plus attachments for a package. Same inputs as fill_form_from_context (form_id for a form already in the library, or pdf_url/pdf_base64 for a new one, plus context_text and/or context_urls), but nothing is written into the PDF: read the proposal, answer what is

get_jobread-only

Status of a fill_form_from_context, prepare_form, or commit_proposal job. When ready, returns the download link, how many fields were filled, and for a commit, the result, receipt_url and, when one was asked for, package_url.

suggest_mapping

Propose which spreadsheet columns fill which PDF form fields. Given a CSV (csv_text or csv_url), proposes which column fills which field. Only the header row matters. Billed as one context fill (5 free each month).

fill_batch

Fill one copy of a PDF form for every row of a spreadsheet. Fill a form for every row of a CSV (csv_text or csv_url, up to 1000 rows). mapping is {column: field_id}; omit it to use the suggested mapping. If mapping is omitted, suggest_mapping runs first and is billed as one context fill. Batches up to 50 rows finish before this returns; larger ones keep running, poll get_batch. Each row is billed

get_batchread-only

Progress of a fill_batch run with a download link per finished row (first 100) and a zip link when done.

commit_proposal

Write or confirm the answers, render the form with text that fits, check it, and return the PDF with a report and a receipt, or one submission package. Give the proposal_id from prepare_form; confirm is a list of field ids whose proposed value is accepted as it is (the ids get_proposal lists under confirmations); plus any values the agent decided for fields still open (field_id, value, and an opti

get_proposalread-only

Prepare a form from documents: a proposal of every answer with its source, what is missing, and where documents disagree, before writing, plus attachments for a package. Read a proposal by its proposal_id: every field's state, its candidate values with evidence, and the questions still open. No charge to read it.

verify_form

Check a filled form: required fields, allowed options, consistent choices, text that fits, empty signature boxes; returns complete, review required or incomplete. Give a form_id and the filled PDF (pdf_url: public https link, or pdf_base64). Billed as one verify; the first 5 each month are free.

read_form

Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. Give the filled PDF (pdf_url: public https link, or pdf_base64) and, when you know it, form_id. Returns every form box in the file with its value and whether it is filled; when the form is recognised, each value also carries its label and whether it was required, plus a completeness ver

add_attachment

Prepare a form from documents: a proposal of every answer with its source, what is missing, and where documents disagree, before writing, plus attachments for a package. Attach one document (file_url: public https link, or file_base64) to a proposal from prepare_form. PDF, PNG and JPEG only, at most 20 per proposal. requirement: the name of an entry in the form's attachments_required list to satis

send_fax

Send a PDF to a fax number and track delivery, priced per transmitted page. Give a destination in E.164 form (for example +15025551212; US, Canadian and Mexican numbers only) and the PDF: an artifact_id from any earlier result, a job_id from fill_form_from_context or commit_proposal once get_job reports ready, a form_id for the fillable form, or one PDF by pdf_url or pdf_base64, or a sources list

get_faxread-only

Delivery status and receipt of a send_fax job. status is queued, working, delivered, failed or expired; keep checking about every 20 seconds until it is delivered, failed or expired. A busy, unanswered or dropped call is retried automatically up to three more times over about 17 minutes while the status stays working; attempts, max_attempts and next_attempt_at say where it is. A failed or expired

compose_pdf

Free. Build one PDF from pages of several artifacts, in the order and rotation you name. Build one PDF from several artifacts: sources is a list of {artifact_id, pages, rotate}; pages is a selection like 1-3,7 (omit for every page), rotate is 90, 180 or 270. Returns the new artifact_id. Page selections: https://getemboss.ai/docs/artifacts.

merge_pdf

Free. Join whole PDFs into one file in the order given. Join whole PDFs in order: sources is a list of {artifact_id}. Returns the new artifact_id. For page selections use compose_pdf.

extract_pages

Free. Keep only the pages you name from a PDF, in the order you name them. Keep only the pages named in pages (1-based, like 2,5-9, repeats and any order allowed) from artifact_id. Returns the new artifact_id.

delete_pages

Free. Remove the pages you name from a PDF and keep the rest in order. Remove the pages named in pages (1-based, like 1-2,17) from artifact_id; every other page stays in order. Returns the new artifact_id.

reorder_pages

Free. Put a PDF's pages in a new order you give, every page exactly once. Reorder artifact_id's pages: order lists every page number exactly once, in the new order. Returns the new artifact_id.

rotate_pages

Free. Rotate the pages you name by 90, 180 or 270 degrees. Rotate pages of artifact_id: rotations is a list of {pages, degrees} with degrees 90, 180 or 270, added clockwise to each page's current rotation. Returns the new artifact_id.

inspect_pdfread-only

Free. Report a PDF's structure: page count, page sizes and rotations, encryption, form fields, annotations. Structural facts about artifact_id: page count, page sizes and rotations, whether it is encrypted, has form fields, annotations, outlines, embedded files or JavaScript. No text, no field values.

Alternatives in Developer Tools

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”