Emboss

io.github.edwinorange由 GitHub 账号 edwinorange 发布v1.9.0更新于 Oct 29, 2026

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

已验证Streamable HTTP可网页运行效率与工作流文件与存储商业与电商

概览

AI 生成的概览

Emboss 可把普通 PDF 变成可填写表单,用数据或文档自动填写、回读内容、编辑页面,并把结果传真出去。

可以做什么
  • 查找与管理表单:检索美国联邦空白表单库,列出、查看、由 PDF 创建可填写表单,以及删除表单
  • 填写表单:用 JSON 或键值答案填写,依据佐证文档填写,先生成带来源的答案提案再提交,并按表格每行批量填写
  • 读取与校验:读取已填 PDF 的字段值,检查必填项与选项是否合规,并建议 CSV 列与表单字段的对应关系
  • 编辑 PDF:合并、拼装、抽取、删除、重排和旋转页面,查看结构信息,以及扁平化锁定已填表单
  • 发送与追踪:把完成的 PDF 传真到美国、加拿大或墨西哥号码并查询投递状态,另可查看当月用量
适用场景
适合需要填写政府或商业 PDF 表单、从佐证材料中提取答案、按电子表格批量生成填写副本,或直接在助手内把完成的表单传真出去的场景。
运行要求
远程 Emboss 端点,无需本地安装包。需要 Emboss 账号并通过连接器或插件流程登录;传真还需账户已绑定支付方式。输入为公开 https 链接或 base64 上传。
安装前请注意
超出每月免费额度后为付费操作;传真按传输页数计费且需绑定支付方式。delete_form 会永久删除表单及其 PDF。你提供的文档和 PDF 会发送到 Emboss API,连接后助手可看到账户内所有表单。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Emboss,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.edwinorange%2Femboss/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "emboss": {
      "type": "http",
      "url": "https://api.getemboss.ai/mcp"
    }
  }
}

README

Emboss

Turn flat PDFs into fillable forms, fill them, and fax them, right from Claude.

What it does

Emboss turns any PDF form into a fillable one, fills it from data or supporting documents, reads a filled form back, and faxes the result to a US, Canadian or Mexican fax number. Everything runs through the Emboss API, so results depend on what you send it and how the source document is structured.

Install in Claude Code

/plugin marketplace add GetEmboss-ai/emboss-claude-plugin/plugin install emboss@getemboss

Then run /mcp and sign in to Emboss to connect your account.

Install in Claude.ai and Claude Desktop

Claude.ai and Claude Desktop connect to Emboss through the custom connector button rather than the plugin marketplace. See https://getemboss.ai/docs/claude for the setup steps. To give Claude the Emboss skill directly, download emboss-skill.zip and upload it as a skill.

Pricing

The first 5 form creations, 5 context fills, 5 standard fills, 5 checks, 5 read-backs and 5 packages each month are free; a job is free when it is 5 pages or fewer (a fill from documents counts the form and its documents together), and a longer job is charged without using a free one. See /pricing for full details.

Privacy

Only what you ask Claude to send to Emboss is sent. Once connected, Claude can see every form in your Emboss account and acts on them when you ask. See https://getemboss.ai/privacy for the full privacy policy.

Support

Questions or issues: [email protected]

Development

Run the repo checks with:

bash scripts/check.sh

来源:README.md,提交 484d1ae

工具

28

list_forms

List your forms

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

输入参数limitstatecursor

get_form

Get a form and its fields

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

输入参数form_id必填

find_form

Find a blank government form

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 rate-limit slots. Up to 20 matches come back at a time (limit sets up to 50); when next_cursor is set, pass it as cursor for the next ones. Pass a slug as create_form's library argument to start from that form. Free.

输入参数limitquery必填cursor

get_usage

Check free tier and usage

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

Create a fillable form from a PDF

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_default (default: the account's own setting). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数titledry_runlibrarypdf_urlretentionpdf_base64

delete_form

Delete a form

Permanently removes a form and its PDFs from the user's library. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数dry_runform_id必填

fill_form

Fill a form from values

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. To lock the filled PDF, call flatten_pdf with its artifact_id; fill_form itself never flattens. 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 (ephemeral or account_default) is accepted but changes nothing: the form keeps the setting it was created with. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数values必填dry_runflattenform_id必填retention

fill_form_from_context

Fill a form from documents or notes

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 and medium confidence) or strict (high only). Returns a job_id; poll get_job about every 20 seconds. Billed as one context fill; the first 5 each month are free. Optional retention: ephemeral or account_default (default: the account's own setting); it applies only when this call creates the form (pdf_url, pdf_base64 or library), since an existing form keeps the setting it was created with. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数policydry_runform_idlibrarypdf_urlretentionpdf_base64context_textcontext_urls

prepare_form

Prepare a form from documents

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 missing, then commit. policy is safe (write high and medium confidence) or strict (high only). Returns a job_id and a proposal_id; poll get_job about every 20 seconds. Billed as one context fill; the first 5 each month are free. Optional retention: ephemeral or account_default (default: the account's own setting); it applies only when this call creates the form (pdf_url, pdf_base64 or library), since an existing form keeps the setting it was created with. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数policydry_runform_idlibrarypdf_urlretentionpdf_base64context_textcontext_urls

get_job

Check a context fill job

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.

输入参数job_id必填

suggest_mapping

Map spreadsheet columns to form fields

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). Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数csv_urldry_runform_id必填csv_text

fill_batch

Fill the form once per spreadsheet row

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 as one fill. retention (ephemeral or account_default) is accepted but changes nothing: the form keeps the setting it was created with. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数csv_urldry_runform_id必填mappingcsv_textretention

get_batch

Check a batch fill

Progress of a fill_batch run with a download link per finished row (100 at a time; pass next_cursor as cursor for the next 100) and a zip link when done.

输入参数limitcursorbatch_id必填

commit_proposal

Commit a proposal and produce the PDF

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 optional note), and a policy (safe or strict) to override the proposal's own. Set package to true to also receive one submission package: the filled form, the attachments added to this proposal in the order the form asks for them, and the receipt embedded in the file; that is billed as one package. Returns a job_id; poll get_job about every 20 seconds for the download link, report, receipt and, when asked for, package_url. Free within the proposal's already-billed prepare, up to 10 commits per proposal. Checkboxes take yes or no; yes ticks that box. In a Yes/No pair, say yes to the box you want; two yeses in one pair are refused. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数policyvaluesconfirmdry_runpackageproposal_id必填

get_proposal

Read a proposal

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.

输入参数proposal_id必填

verify_form

Check a filled 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. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数dry_runform_id必填pdf_urlpdf_base64

read_form

Read a filled form back

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 verdict. Nothing is stored: read-back never keeps your file. Billed as one read; the first 5 each month are free. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数dry_runform_idpdf_urlpdf_base64

add_attachment

Attach a document to a proposal

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 satisfy it; uploading a second document for the same requirement replaces the first. Free: attachments are part of the already-billed prepare.

输入参数file_urlfile_base64proposal_id必填requirement

send_fax

Send a PDF by 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 of artifact ids (each with an optional pages range such as 1-3,7) faxed together as one packet. Returns a job id at once; poll get_fax for delivery. Billed per page at delivery; a failed fax is not charged. Needs a payment method on the account; get_usage reports fax_ready. Pass dry_run=true to rehearse this call without doing it: nothing is stored, charged or sent, and no AI is used. The answer says whether the real call would succeed or be refused, what it would cost, and what a rehearsal cannot check.

输入参数to必填job_iddry_runform_idpdf_urlsourcespdf_base64artifact_id

get_fax

Check a fax

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 fax carries failure_category, failure_reason, retryable, refund and a plain failure_message saying what happened.

输入参数job_id必填

compose_pdf

Compose a PDF from artifacts

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 and a download_url (a link that works for about an hour). Page selections: https://getemboss.ai/docs/artifacts.

输入参数sources必填

merge_pdf

Merge PDFs

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 and a download_url (a link that works for about an hour). For page selections use compose_pdf.

输入参数sources必填

extract_pages

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 and a download_url (a link that works for about an hour).

输入参数pages必填artifact_id必填

delete_pages

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 and a download_url (a link that works for about an hour).

输入参数pages必填artifact_id必填

reorder_pages

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 and a download_url (a link that works for about an hour).

输入参数order必填artifact_id必填

rotate_pages

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 and a download_url (a link that works for about an hour).

输入参数rotations必填artifact_id必填

inspect_pdf

Inspect a PDF

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.

输入参数artifact_id必填

flatten_pdf

Lock a filled form

Free. Lock a filled form: draw every field's value and every comment into the page so nothing can be edited. Lock artifact_id, usually the filled PDF from fill_form: every field's value, checkbox and comment becomes part of the page, no fields stay editable, links keep working, and the original stays as it is. Returns the new artifact_id, a download_url (a link that works for about an hour) and a report: fields_locked, annotations_locked, pages, and calculated_left_blank (the labels of boxes the form totals itself that were empty). A locked form can't be read back or checked, so run read_form or verify_form first. Refuses a digitally signed PDF (pdf_signed) and a dynamic XFA form (xfa_dynamic).

输入参数artifact_id必填

版本历史

8
  1. v1.9.0最新Oct 29, 2026
  2. v1.8.1Oct 19, 2026
  3. v1.8.0Oct 18, 2026
  4. v1.7.1Oct 17, 2026
  5. v1.7.0Oct 11, 2026
  6. v1.6.0Oct 9, 2026
  7. v1.5.1Sep 18, 2026
  8. v1.5.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分