Skip to main content
Glama

Server Details

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

Ownership verified
Status
Healthy
Uptime
63.7% over 42 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL
Repository
GetEmboss-ai/emboss-claude-plugin
GitHub Stars
0
Server Listing
Emboss

TDQS

A3.9/5.0

Scored across 27 tools

Disambiguation4/5

Most tools have clearly distinct purposes, especially across page manipulation, form library, and fax operations. However, the form-filling cluster (fill_form, fill_form_from_context, prepare_form, commit_proposal, add_attachment, get_proposal) requires careful stage awareness, and compose_pdf vs merge_pdf could be confused despite explicit notes.

Naming Consistency5/5

All tool names use consistent snake_case with a predictable verb_noun pattern, such as list_forms, create_form, delete_form, find_form, and verify_form. The longer names like fill_form_from_context are still readable and follow the same convention.

Tool Count3/5

At 27 tools, the server is heavy, but the breadth covers several distinct areas: PDF page operations, form creation and filling, proposal workflows, batch processing, fax, and usage. Many tools are free utility operations, yet the count is still large enough to feel borderline for the apparent scope.

Completeness4/5

Core form lifecycle and processing workflows are well covered: creation, reading, filling, verifying, batch filling, proposals, attachments, and PDF page manipulation. Minor gaps include no obvious update/rename form operation and no general text extraction tool, but agents can work around these.

Available Tools

27 tools
add_attachmentAttach a document to a proposalInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_urlNo
file_base64No
proposal_idYes
requirementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

commit_proposalCommit a proposal and produce the PDFInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
policyNo
valuesNo
confirmNo
packageNo
proposal_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

compose_pdfCompose a PDF from artifactsInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

create_formCreate a fillable form from a PDFInspect

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= 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
libraryNo
pdf_urlNo
retentionNo
pdf_base64No

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

delete_formDelete a form
DestructiveIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

delete_pagesDelete pagesInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesYes
artifact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

extract_pagesExtract pagesInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesYes
artifact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

fill_batchFill the form once per spreadsheet rowInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_urlNo
form_idYes
mappingNo
csv_textNo
retentionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

fill_formFill a form from valuesInspect

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 (ephemeral or account_default) is accepted but changes nothing: the form keeps the setting it was created with.

ParametersJSON Schema
NameRequiredDescriptionDefault
valuesYes
flattenNo
form_idYes
retentionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

fill_form_from_contextFill a form from documents or notesInspect

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= 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
policyNosafe
form_idNo
libraryNo
pdf_urlNo
retentionNo
pdf_base64No
context_textNo
context_urlsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

find_formFind a blank government form
Read-onlyIdempotent
Inspect

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. Pass a slug as create_form's library argument to start from that form. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_batchCheck a batch fill
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
batch_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_faxCheck a fax
Read-onlyIdempotent
Inspect

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 failed or expired fax carries failure_category, failure_reason, retryable and refund.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_formGet a form and its fields
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_jobCheck a context fill job
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_proposalRead a proposal
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposal_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_usageCheck free tier and usage
Read-onlyIdempotent
Inspect

This month's usage and how many free operations remain, plus the billing page link.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

inspect_pdfInspect a PDF
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
artifact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

list_formsList your forms
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
stateNoready
cursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

merge_pdfMerge PDFsInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

prepare_formPrepare a form from documentsInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
policyNosafe
form_idNo
libraryNo
pdf_urlNo
retentionNo
pdf_base64No
context_textNo
context_urlsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

read_formRead a filled form back
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idNo
pdf_urlNo
pdf_base64No

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

reorder_pagesReorder pagesInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderYes
artifact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

rotate_pagesRotate pagesInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
rotationsYes
artifact_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

send_faxSend a PDF by faxInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
job_idNo
form_idNo
pdf_urlNo
sourcesNo
pdf_base64No
artifact_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

suggest_mappingMap spreadsheet columns to form fields
Idempotent
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
csv_urlNo
form_idYes
csv_textNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

verify_formCheck a filled formInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_idYes
pdf_urlNo
pdf_base64No

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 27 tool updates
    • Changedadd_attachment1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "file_url": "https://example.com/docs/proof-of-insurance.pdf",
        +    "proposal_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        +    "requirement": "Proof of insurance"
        +  }
        +]
    • Changedcommit_proposal1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "confirm": [
        +      3
        +    ],
        +    "package": false,
        +    "proposal_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        +    "values": [
        +      {
        +        "field_id": 5,
        +        "value": "Grace Hopper"
        +      }
        +    ]
        +  }
        +]
    • Changedcompose_pdf1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "sources": [
        +      {
        +        "artifact_id": "22222222-3333-4444-5555-666666666666",
        +        "pages": "1-2"
        +      },
        +      {
        +        "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd"
        +      }
        +    ]
        +  }
        +]
    • Changedcreate_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "pdf_url": "https://example.com/forms/building-permit.pdf",
        +    "retention": "ephemeral"
        +  }
        +]
    • Changeddelete_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "form_id": "11111111-2222-3333-4444-555555555555"
        +  }
        +]
    • Changeddelete_pages1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
        +    "pages": "2"
        +  }
        +]
    • Changedextract_pages1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
        +    "pages": "1-3"
        +  }
        +]
    • Changedfill_batch1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\nAda Lovelace,ada@example.com\n",
        +    "form_id": "11111111-2222-3333-4444-555555555555",
        +    "mapping": {
        +      "Email": 2,
        +      "Full Name": 1
        +    }
        +  }
        +]
    • Changedfill_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "form_id": "11111111-2222-3333-4444-555555555555",
        +    "values": {
        +      "Email": "grace@example.com",
        +      "Full Name": "Grace Hopper"
        +    }
        +  }
        +]
    • Changedfill_form_from_context1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "context_text": "Grace Hopper, born 9 December 1906, 1 Navy Way, Arlington, VA 22202.",
        +    "form_id": "11111111-2222-3333-4444-555555555555",
        +    "policy": "safe"
        +  }
        +]
    • Changedfind_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "query": "IRS Form W-9 request for taxpayer identification number"
        +  }
        +]
    • Changedget_batch1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "batch_id": "44444444-5555-6666-7777-888888888888"
        +  }
        +]
    • Changedget_fax1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "job_id": "cccccccc-dddd-eeee-ffff-000000000000"
        +  }
        +]
    • Changedget_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "form_id": "11111111-2222-3333-4444-555555555555"
        +  }
        +]
    • Changedget_job1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "job_id": "77777777-8888-9999-aaaa-bbbbbbbbbbbb"
        +  }
        +]
    • Changedget_proposal1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "proposal_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
        +  }
        +]
    • Changedget_usage1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {}
        +]
    • Changedinspect_pdf1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd"
        +  }
        +]
    • Changedlist_forms1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 20,
        +    "state": "ready"
        +  }
        +]
    • Changedmerge_pdf1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "sources": [
        +      {
        +        "artifact_id": "22222222-3333-4444-5555-666666666666"
        +      },
        +      {
        +        "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd"
        +      }
        +    ]
        +  }
        +]
    • Changedprepare_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "context_text": "Hopper Analytical LLC, EIN 12-3456789, 1 Navy Way, Arlington, VA 22202.",
        +    "library": "irs-w-9",
        +    "policy": "safe"
        +  }
        +]
    • Changedread_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "form_id": "11111111-2222-3333-4444-555555555555",
        +    "pdf_url": "https://example.com/filled/building-permit.pdf"
        +  }
        +]
    • Changedreorder_pages1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
        +    "order": [
        +      2,
        +      1,
        +      3
        +    ]
        +  }
        +]
    • Changedrotate_pages1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "artifact_id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
        +    "rotations": [
        +      {
        +        "degrees": 90,
        +        "pages": "1"
        +      }
        +    ]
        +  }
        +]
    • Changedsend_fax1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "job_id": "77777777-8888-9999-aaaa-bbbbbbbbbbbb",
        +    "to": "+15025550123"
        +  }
        +]
    • Changedsuggest_mapping1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "csv_text": "Full Name,Email\nGrace Hopper,grace@example.com\n",
        +    "form_id": "11111111-2222-3333-4444-555555555555"
        +  }
        +]
    • Changedverify_form1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "form_id": "11111111-2222-3333-4444-555555555555",
        +    "pdf_url": "https://example.com/filled/building-permit.pdf"
        +  }
        +]
  2. 27 tool updates
    • First observedadd_attachment
    • First observedcommit_proposal
    • First observedcompose_pdf
    • First observedcreate_form
    • First observeddelete_form
    • First observeddelete_pages
    • First observedextract_pages
    • First observedfill_batch
    • First observedfill_form
    • First observedfill_form_from_context
    • First observedfind_form
    • First observedget_batch
    • First observedget_fax
    • First observedget_form
    • First observedget_job
    • First observedget_proposal
    • First observedget_usage
    • First observedinspect_pdf
    • First observedlist_forms
    • First observedmerge_pdf
    • First observedprepare_form
    • First observedread_form
    • First observedreorder_pages
    • First observedrotate_pages
    • First observedsend_fax
    • First observedsuggest_mapping
    • First observedverify_form

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables filling any PDF form, including scanned or AcroForm, through a browser-based drag-and-drop editor. Works entirely locally with no data leaving the machine.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    It enables AI agents and MCP clients to read, fill, create, export, and reconstruct fillable PDF forms, plus extract, search, and edit text and layout blocks, entirely against local files over stdio.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.