Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

AlloFlow Document Remediation

MCPB · ALLOFLOW-REMEDIATION.MCPB · SCANNED AUG 22

Local-first document accessibility remediation using the canonical AlloFlow app pipeline.

46 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security23
  • Malware scan not yet available for this package.Unverified
  • Known CVEs were checked across the 3 of 3 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • 1 of 3 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (AGPL-3.0-or-later).Pass
  • Actively maintained (last published 4 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6521 tokens (~203/item across 32 items; 31 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

mcpb · alloflow-remediation.mcpb

Download bundle
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Aug 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 22 Aug 2026 · Analysed mcpb/https://github.com/Apomera/AlloFlow/releases/download/mcpb-v0.3.5/alloflow-remediation.mcpb

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Dependencies 3 packages
Packages resolved 3
Stale 1
Tree resolution Complete
MCP tools · 31 exposed · ~6,307 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
apply_form_fields ~137

Convert the blanks you accepted from detect_form_fields into real, labelled form inputs in the HTML. Deterministic, no API key. Pass the production pipeline's native object map keyed by candidate id, for example `{ "f0": { "label": "Student name" } }`; anything omitted is left as-is.

NameTypeReqDescription
acceptedobjectyesObject map keyed by ids from detect_form_fields; each value may override the label
file_pathstringyesAbsolute path to a local .html file
output_pathstringWhere to write the result (default: <name>-fillable.html beside the input)
NameTypeReqDescription
appliednumber
bytesnumber
inputstringyes
outputstringyes

No examples provided.

audit_html ~142

Run the same two-engine accessibility audit the remediation pipeline uses, on a local .html file: the AI content rubric (score, per-issue WCAG mapping) plus the axe-core automated engine. Title II is web-first — use this to evidence-check web page exports, LMS content, or any saved HTML without remediating it. Local FILE input only; this tool never fetches URLs, so nothing leaves the machine except the audited HTML going to the Gemini API under your key. Writes no files. Typically 1-2 minutes.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html or .htm file (max 5MB)
NameTypeReqDescription
axeScorenumber|null
axeViolationsnumber|null
fileNamestring
issueCountnumber
issuesarray
passCountnumber|null
scorenumber|null
sectionsAuditednumber|null
sectionsRequestednumber|null

No examples provided.

audit_two_engines ~130

Audit an accessible HTML file with axe-core AND IBM Equal Access, then report where they DISAGREE. Both run locally in the browser with no model and no API key. This matters because a single engine is a single opinion: on this project axe reported 100/0 on a document veraPDF then failed, and reported no contrast findings on text at roughly 1.6:1. Two engines that disagree give a short, concrete list a human can check. Use it before telling anyone a document is clean.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html file
NameTypeReqDescription
axeyes
disagreementsnumber
equalAccess
equalAccessErrorstring
inputstringyes
notestring
onlyAxearray
onlyEqualAccessarray

No examples provided.

check_document_structure ~134

Report the heading hierarchy of an accessible HTML document (counts per level and any SKIPPED levels, e.g. h2 followed by h4, which is a WCAG 1.3.1 failure) and produce a plain-text rendering. Deterministic, no API key. Plain text is itself a legitimate accessible format for readers who want no markup at all, and the heading check is the cheapest way to catch a structural mistake before tagging a PDF.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html file
output_pathstringOptional path to write the plain-text rendering
NameTypeReqDescription
charactersnumberyes
headingCounts
headingIssue
headingSkipsnumberSkipped levels (h2 -> h4) are a WCAG 1.3.1 failure
inputstringyes
notestring
outputstring

No examples provided.

describe_images ~165

Run AlloFlow's vision pass over the data-URI images embedded in an accessible HTML file: describes each one, classifies equations and charts, marks recurring chrome (logos, letterheads) decorative, and groups near-identical images so a repeated logo costs one vision call rather than one per page. Writes alt text into the HTML. REQUIRES a Gemini key and sends image content to the API — this is the one HTML operation here that genuinely needs a model.

NameTypeReqDescription
capnumberMaximum image groups to describe (default 10)
file_pathstringyesAbsolute path to a local .html file containing data-URI images
output_pathstringWhere to write the annotated HTML (default: <name>-alt.html beside the input)
NameTypeReqDescription
chartsnumber
classifiednumber
dedupedCopiesnumber
equationsnumber
inputstringyes
notestring
outputstringyes
visionCallsnumber

No examples provided.

detect_form_fields ~124

Scan an accessible HTML document for places that should become fillable form fields (blank lines, underscored runs, answer boxes) and report each with its label, kind, width and surrounding context, flagging any that have no label. Deterministic, no API key. Pair with apply_form_fields to turn the accepted ones into real labelled inputs. Unlabelled fields are a WCAG 4.1.2 failure, so `labelMissing` is the field to act on.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html file
NameTypeReqDescription
blanksarray
countnumberyes
inputstringyes
notestring
unlabellednumber

No examples provided.

export_accessible_office ~183

Convert an accessible HTML file (the -accessible.html a remediation produced) into an accessible Word (.docx) or OpenDocument (.odt) file, preserving heading structure, lists, and tables. Deterministic packaging: needs NO Gemini key and spends no quota, though it does fetch React and JSZip from public CDNs. Use when someone needs the remediated document in an editable Office format rather than a PDF. For ePub 3, DAISY 3 or Braille, use export_alt_format instead.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local accessible .html file
formatstringyesOutput format
output_dirstringDirectory for the output file (default: alongside the input)
titlestringDocument title embedded in the export (default: the input file name)
NameTypeReqDescription
bytesnumber
counts
formatstringyes
inputstringyes
notestring
outputstringyes

No examples provided.

export_alt_format ~323

Convert an accessible HTML file into an ePub 3 ebook, a DAISY 3 full-text talking-book package, or an uncontracted (Grade 1) Braille BRF file for embossers and refreshable displays. Deterministic restructuring: needs NO Gemini key, spends no quota, and packages entirely offline (unlike export_accessible_office it does not need JSZip from a CDN, though React is still fetched). Use when a student needs an ebook, a DAISY reader, or hard-copy braille rather than a PDF. ePub output is checked by a built-in structural self-check whose findings are returned as `structuralErrors` — that is NOT epubcheck, so a book reported valid here can still be worth running through epubcheck. Braille is Grade 1 only (contracted UEB needs the liblouis plugin, which is in the app, not here) and reports how many characters had no braille equivalent and were dropped.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local accessible .html file
formatstringyes'epub' = ePub 3 ebook; 'daisy' = DAISY 3 talking-book zip (text only, the reader supplies speech/braille/large print); 'brf' = ASCII Braille ready to emboss
output_dirstringDirectory for the output file (default: alongside the input)
titlestringDocument title embedded in the package metadata (default: the input file name)
NameTypeReqDescription
bytesnumber
codestring
droppedCharactersnumber
entriesarray
formatstringyes
gradenumber
identifierstring
inputstringyes
languagestring
modelFreeboolean
navEntriesnumber
notestring
outputstringyes
selfCheckedboolean
sourceCharactersnumber
structuralErrorsarray
validboolean
warningsarray

No examples provided.

extract_document_text ~161

Pull the text out of a .docx, .pptx, .xlsx or .pdf deterministically — mammoth for Word (preserving heading styles and list structure as markdown), the spreadsheet converter producing markdown tables, pdf.js for PDF text layers. Needs NO Gemini key and sends nothing anywhere. Reports the extraction `method` and any `error`, so an empty result is distinguishable from a failed one. Use to inspect a document before deciding how to remediate it, or to check whether a PDF has a usable text layer at all.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .docx, .pptx, .xlsx or .pdf file
output_pathstringOptional path to write the extracted text
NameTypeReqDescription
charactersnumberyes
errorstring
inputstringyes
kindstringyes
mediaImagesnumber
methodstring|null'failed' means extraction failed, not that the document was empty
notestring
outputstring
textstring

No examples provided.

fix_contrast ~172

Apply AlloFlow's deterministic contrast repair to an accessible HTML file: darkens or lightens foreground colours that fail WCAG AA against their detected background, then sanitises remaining style for WCAG. Pure colour math — needs NO Gemini key and spends no quota. IMPORTANT: the returned axe numbers do NOT verify contrast. axe-core does not reliably detect contrast in this harness (measured: zero findings on text at ~1.6:1), so `styleFixes` (the count of corrections actually applied) is the evidence, and a human or a contrast checker should confirm.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html file
output_pathstringWhere to write the corrected HTML (default: <name>-contrast.html beside the input, never overwriting)
NameTypeReqDescription
axeAfter
axeBefore
changedboolean
contrastFindings
evidencestringStates plainly that axe does not verify contrast in this harness
inputstringyes
outputstringyes
styleFixesnumber|nullDeterministic count of colour corrections applied — this is the evidence, not the axe numbers

No examples provided.

generate_conformance_report ~199

Produce AlloFlow's own Accessibility Conformance Report as HTML, the same report the app generates, from artifacts you already have: an axe audit and (optionally) a veraPDF verdict. Deterministic templating — needs NO Gemini key. Use this instead of hand-writing a report, so what an agent hands a user matches what the application produces and cannot drift from it.

NameTypeReqDescription
accessible_htmlstringOptional path to the remediated HTML, so the report can reference the content it describes
audit_jsonstringyesPath to a JSON file holding an axe audit (as pdf_audit or the agent harness emits)
document_namestringDocument name shown in the report heading
output_pathstringyesWhere to write the report HTML
verapdf_jsonstringOptional path to a JSON file holding a pdf_validate_ua result; its failed rules are folded in
NameTypeReqDescription
bytesnumber
generatorstring
notestring
outputstringyes
pdfUaIncludedboolean

No examples provided.

generate_resource_pack ~153

Generate the same student/teacher resource-pack HTML as the normal AlloFlow app by calling its existing generateFullPackHTML pipeline export unchanged. The input JSON uses the app's native resource shape, so this is a thin adapter rather than a second renderer. Deterministic: needs NO Gemini key, account, or Worker. The JSON must contain `items` and may include `topic`, `isWorksheet`, `responses`, and `config`.

NameTypeReqDescription
output_pathstringyesWhere to write the generated .html file (collision-safe; existing files are not overwritten)
resource_pack_jsonstringyesAbsolute path to a local .json file containing {items, topic?, isWorksheet?, responses?, config?}
NameTypeReqDescription
bytesnumber
generatorstring
inputstringyes
modelFreeboolean
notestring
outputstringyes
resourcesRequestednumberyes
worksheetboolean

No examples provided.

pdf_audit ~227

Run the AlloFlow accessibility audit on a local PDF, DOCX, PPTX, PNG/JPEG/WebP image, markdown/text/CSV file, or spreadsheet: overall score, per-severity issue list, scanned/searchable detection, page count, detected language. Sends document content to the Gemini API; core browser libraries are bundled locally. Writes no files. Office files are audited deterministically from extracted text (no Vision pass). Typically 1-3 minutes.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .pdf, .docx, .pptx, image (.png/.jpg/.webp), text (.md/.txt/.csv/.tsv), or spreadsheet (.xlsx/.xls/.xlsb/.ods) file (max 200MB)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
NameTypeReqDescription
documentLanguagestring|null
hasSearchableTextboolean
isScannedboolean
issueCountsobject
issuesarray
pageCountnumber|null
scorenumberDeduction-grounded accessibility score, 0-100. -1 means the audit produced no usable evidence.
summarystring

No examples provided.

pdf_batch_audit_start ~352

Start a BACKGROUND JOB that AUDITS every .pdf/.docx/.pptx in a folder (non-recursive, up to 200 files) and writes one triage scoreboard. This is the cheap first pass before remediation: an audit is 1-3 minutes and writes no document files, where a remediation is 5-30 minutes and spends far more quota, so run this to find out WHICH files are worth remediating instead of remediating a folder blind. Each document is sorted into a band that names the next action: scanned (image-only, needs OCR first), needs-work (<70), review (70-89), likely-ok (90+). Writes accessibility-audit-scoreboard.json and .csv (collision-safe, never overwrites); the CSV opens in Excel. Sends document content to the Gemini API. Poll remediation_job_status for per-file progress; remediation_job_result returns the scoreboard.

NameTypeReqDescription
dir_pathstringyesFolder containing .pdf/.docx/.pptx files (searched non-recursively)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
output_dirstringWhere to write the scoreboard (default: the audited folder)
skip_existingbooleanSkip files already recorded as audited in a scoreboard in the output folder — makes an interrupted triage resumable without re-spending quota. Their prior rows are carried into the new scoreboard so…
NameTypeReqDescription
filesnumber
jobIdstringyesPass to remediation_job_status / _result / _cancel
notestring
statusstringyes

No examples provided.

pdf_batch_remediate_start ~480

Start a BACKGROUND JOB that remediates every .pdf/.docx/.pptx in a folder (non-recursive, up to 60 files), one at a time, continuing past per-file failures. Returns a job_id immediately; poll remediation_job_status for per-file progress and fetch remediation_job_result for the per-file summaries. Same outputs and options as pdf_remediate, applied to each file.

NameTypeReqDescription
auto_continuebooleanRun the app's auto-continue improvement loop after the primary pass: extra fix rounds merged through the same canonical reducer the app uses, until the target score + complete verification or the rou…
auto_continue_roundsnumberMax auto-continue rounds (default 3)
dir_pathstringyesFolder containing .pdf/.docx/.pptx files (searched non-recursively)
fix_passesnumberMax auto-fix passes (default 2)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
output_dirstringDirectory for output files (default: alongside the input)
page_rangestringRemediate only these 1-indexed pages of a PDF, e.g. "12-18" or "5". Big quota/time saver on long documents; the pipeline treats a full-document range as no range. PDF inputs only.
polish_passesnumberExtra polish passes (default 0)
skip_existingbooleanSkip only files with a digest-bound completion manifest whose input, options, engine, and artifact hashes all verify (default true)
tagged_pdfbooleanAlso build the tagged PDF export (default true)
target_scorenumberStop-improving target (default 95)
validate_uabooleanAlso run the independent keyless PDF/UA-1 (ISO 14289-1) veraPDF check on the tagged output and include its verdict in the report (default false; ~1 min extra)
NameTypeReqDescription
filesnumber
jobIdstringyesPass to remediation_job_status / _result / _cancel
notestring
statusstringyes

No examples provided.

pdf_remediate ~569

Run the full AlloFlow remediation pipeline on a local PDF: audit, rebuild as accessible HTML, iterative AI fix passes to the target score, honesty-checked verification, and a tagged PDF export. Accepts .pdf, .docx, or .pptx. Writes <name>-accessible.html, <name>-tagged.pdf, and <name>-remediation-report.json next to the input (or to output_dir), never overwriting existing files (Office inputs skip the tagged-PDF export — the accessible HTML is the deliverable). Returns the distribution verdict, before/after scores, and every fidelity/honesty disclosure. Sends document content to the Gemini API. SYNCHRONOUS: blocks 5-30 minutes — if your client enforces a tool timeout, use pdf_remediate_start + remediation_job_status instead.

NameTypeReqDescription
auto_continuebooleanRun the app's auto-continue improvement loop after the primary pass: extra fix rounds merged through the same canonical reducer the app uses, until the target score + complete verification or the rou…
auto_continue_roundsnumberMax auto-continue rounds (default 3)
file_pathstringyesAbsolute path to a local .pdf, .docx, .pptx, image (.png/.jpg/.webp), text (.md/.txt/.csv/.tsv), or spreadsheet (.xlsx/.xls/.xlsb/.ods) file (max 200MB)
fix_passesnumberMax auto-fix passes (default 2)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
output_dirstringDirectory for output files (default: alongside the input)
page_rangestringRemediate only these 1-indexed pages of a PDF, e.g. "12-18" or "5". Big quota/time saver on long documents; the pipeline treats a full-document range as no range. PDF inputs only.
polish_passesnumberExtra polish passes (default 0)
tagged_pdfbooleanAlso build the tagged PDF export (default true)
target_scorenumberStop-improving target (default 95)
validate_uabooleanAlso run the independent keyless PDF/UA-1 (ISO 14289-1) veraPDF check on the tagged output and include its verdict in the report (default false; ~1 min extra)
NameTypeReqDescription
activeContentDetectedboolean|null
activeContentScanVerifiedboolean|null
afterScorenumber|null
aiVerificationIncompleteboolean|nullTrue when the AI semantic audit degraded — the headline is then the deterministic score
auditCoverageobject|null
autoContinue
beforeScorenumber|null
estimatedMinimumScorenumber|null
fidelityNotes
filesobjectyes
inputstringyes
integrityCoverage
integrityWarning
notestring
pdfUaobject
remainingAxeViolationsnumber|null
remainingEqualAccessFailuresnumber|null
runId
scoreSourcestring|null
stats
taggedPdfDeliveryobject|null
taggedPdfError
taggedPdfExportModestring|null
verdictobject|null
verificationHtmlBoundboolean|null
verificationStatestring|null

No examples provided.

pdf_remediate_from_scoreboard_start ~592

Start a BACKGROUND JOB that remediates only the documents a triage scoreboard put in the bands you name (default: needs-work). This closes the triage loop: pdf_batch_audit_start finds which documents need work, this fixes exactly those, so a folder that would be an overnight serial run becomes the handful that earned it. Point it at a scoreboard with scoreboard_path, or at a folder with dir_path to use that folder's newest scoreboard. Files listed in the scoreboard but no longer on disk are reported, not silently dropped. Same outputs, options, and resumability as pdf_batch_remediate_start.

NameTypeReqDescription
auto_continuebooleanRun the app's auto-continue improvement loop after the primary pass: extra fix rounds merged through the same canonical reducer the app uses, until the target score + complete verification or the rou…
auto_continue_roundsnumberMax auto-continue rounds (default 3)
bandsarrayWhich triage bands to remediate (default ['needs-work']). 'scanned' documents are remediable but slower — they take the full OCR path.
dir_pathstringFolder whose NEWEST audit scoreboard should be used (pass this OR scoreboard_path)
fix_passesnumberMax auto-fix passes (default 2)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
output_dirstringDirectory for output files (default: alongside the input)
page_rangestringRemediate only these 1-indexed pages of a PDF, e.g. "12-18" or "5". Big quota/time saver on long documents; the pipeline treats a full-document range as no range. PDF inputs only.
polish_passesnumberExtra polish passes (default 0)
scoreboard_pathstringPath to an accessibility-audit-scoreboard*.json written by pdf_batch_audit_start (pass this OR dir_path)
skip_existingbooleanSkip only documents with a digest-bound completion manifest whose input, options, engine, and artifact hashes all verify (default true)
tagged_pdfbooleanAlso build the tagged PDF export (default true)
target_scorenumberStop-improving target (default 95)
validate_uabooleanAlso run the independent keyless PDF/UA-1 (ISO 14289-1) veraPDF check on the tagged output and include its verdict in the report (default false; ~1 min extra)
NameTypeReqDescription
bandsarray
filesnumber
jobIdstringyes
missingFromDisknumber
notestring
scoreboardstring
selectedFromnumberHow many documents the scoreboard scored, of which `files` were selected
statusstringyes

No examples provided.

pdf_remediate_start ~556

Start the same remediation as pdf_remediate as a BACKGROUND JOB and return a job_id immediately. Jobs run one at a time in start order. Poll remediation_job_status (every 30-60s is plenty; runs take 5-30 minutes), then fetch remediation_job_result. Accepts .pdf, .docx, or .pptx. Writes <name>-accessible.html, <name>-tagged.pdf, and <name>-remediation-report.json next to the input (or to output_dir), never overwriting existing files (Office inputs skip the tagged-PDF export — the accessible HTML is the deliverable). Returns the distribution verdict, before/after scores, and every fidelity/honesty disclosure. Sends document content to the Gemini API.

NameTypeReqDescription
auto_continuebooleanRun the app's auto-continue improvement loop after the primary pass: extra fix rounds merged through the same canonical reducer the app uses, until the target score + complete verification or the rou…
auto_continue_roundsnumberMax auto-continue rounds (default 3)
file_pathstringyesAbsolute path to a local .pdf, .docx, .pptx, image (.png/.jpg/.webp), text (.md/.txt/.csv/.tsv), or spreadsheet (.xlsx/.xls/.xlsb/.ods) file (max 200MB)
fix_passesnumberMax auto-fix passes (default 2)
ocr_languagestringSupported lower-case ISO/BCP 47 OCR language tag (for example 'es', 'fr', or 'zh-hant'); omit or pass '' for auto-detect. Legacy Tesseract codes such as 'spa' and 'fra' are not accepted.
output_dirstringDirectory for output files (default: alongside the input)
page_rangestringRemediate only these 1-indexed pages of a PDF, e.g. "12-18" or "5". Big quota/time saver on long documents; the pipeline treats a full-document range as no range. PDF inputs only.
polish_passesnumberExtra polish passes (default 0)
tagged_pdfbooleanAlso build the tagged PDF export (default true)
target_scorenumberStop-improving target (default 95)
validate_uabooleanAlso run the independent keyless PDF/UA-1 (ISO 14289-1) veraPDF check on the tagged output and include its verdict in the report (default false; ~1 min extra)
NameTypeReqDescription
filesnumber
jobIdstringyesPass to remediation_job_status / _result / _cancel
notestring
statusstringyes

No examples provided.

pdf_validate_ua ~156

Independent ISO 14289-1 (PDF/UA-1) validation of a local PDF using the packaged veraPDF CLI and local Java. It fails closed if that offline validator is unavailable; it never silently uses the CDN-backed browser validator. Run it on a -tagged.pdf produced by remediation or on any PDF. Needs NO Gemini key, paid Worker, institution account, AlloFlow service, or document upload; writes nothing. Typically 30-120s including JVM startup. This is a DIFFERENT artifact from the remediation score: the score judges the accessible-HTML content; this judges the exported PDF bytes.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .pdf file (max 200MB)
NameTypeReqDescription
compliantbooleanyes
failedChecksnumber
failedRuleCountnumber
failedRulesarray
inputstring
inputBytesnumberyes
inputSha256stringyes
notestring
passedChecksnumber
passedRuleCountnumber
profilestring
standardstring
transportstring
validatedAtstringyes
validationDurationMsnumber
validatorstring
validatorVersionstring

No examples provided.

redact_document ~176

Remove named strings (student names, emails, phone numbers, IDs) from an accessible HTML document, then VERIFY the removal: the pipeline re-scans its own output and reports `clean` plus any `leaks` that survived. Deterministic — needs NO Gemini key and nothing leaves the machine. Use before sharing a document that contains student data. A redaction that silently missed something is worse than none, which is why the verification pass is part of the result rather than an optional extra.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local .html file
output_pathstringWhere to write the redacted HTML (default: <name>-redacted.html beside the input)
targetsarrayyesExact strings to remove, e.g. ["Shawn Carter", "shawn@example.org"]
NameTypeReqDescription
cleanbooleanyesThe pipeline re-scanned its own output; false means targets survived
inputstringyes
leaksarray
notestring
outputstringyes
redacted
redactionCountnumber

No examples provided.

remediation_capabilities ~57

Report both operating modes: the tools available without a Gemini key/account/Worker and whether the optional full AI pipeline has its key, Playwright/Chromium, and modules. Call this first. Read-only; launches nothing, spends nothing.

Input schema present but exposes no named parameters.

NameTypeReqDescription
alloflowAccountRequiredboolean
allowedRootsarray|nullnull means unrestricted
busy
chromiumInstalledboolean
dataHandlingobject
fallbackModelstring
fullAiPipelineReadyboolean
geminiKeyPresentboolean
geminiKeySourcestring
geminiRequiredToolNamesarray
institutionAccountRequiredboolean
jobsobject
keyVerificationCheckedAtstring|null
keyVerificationStatestring
keyVerifiedboolean
keylessModeAvailableboolean
keylessModeMeansstring
keylessToolNamesarray
maxPdfMBnumber
maxRunMinutesnumber
modelstring
networkEgressarray
onboardingobject
paidWorkerRequiredboolean
pipelineModulesPresentobject
playwrightAvailableboolean
readybooleanyesCurrent build/components are intact and this process verified the configured key.
readyMeansstring
runtimeBuildobject
setupHintstring
singleFlightboolean
vendorAssetsobject

No examples provided.

remediation_job_cancel ~52

Cancel a queued job (it never starts) or the running one (its browser context closes and in-flight AI calls die within seconds). Output files already written stay on disk.

NameTypeReqDescription
job_idstringyes
NameTypeReqDescription
durabilityWarningstring
errorstring
jobIdstring
killedRunboolean
okboolean
statusstring
wasRunningboolean

No examples provided.

remediation_job_diagnostics ~106

The diagnostic snapshot for a run: the per-call ledger (outcomes, timings, byte counts, retries, models), throttle events, and the constants in force. Counts, timings, and enums only — never prompts, responses, or document text. Pass job_id for a background job; omit it for the most recent run in this server session. Use this to debug a slow, failing, or rate-limited run. Read-only.

NameTypeReqDescription
job_idstring
NameTypeReqDescription
capturedAtstring
diagnostics
errorstring
fileNamestring
jobIdstring
okbooleanyes
sourcestring

No examples provided.

remediation_job_result ~55

The completed job's full summary (verdict, scores, honesty disclosures, output file paths; per-file summaries for batch jobs). Available only once remediation_job_status reports completed. Read-only.

NameTypeReqDescription
job_idstringyes
NameTypeReqDescription
createdAtstring
durabilityWarningstring
errorstring
finishedAtstring|null
fromPreviousServerRunboolean
input
interruptedNotestring
jobIdstring
kindstring
okboolean
partialboolean
progressobject
recentLogarray
restoredboolean
result
resultAvailableboolean
startedAtstring|null
statusstring

No examples provided.

remediation_job_status ~63

Status of a remediation job (queued/running/completed/failed/cancelled) plus the most recent pipeline telemetry lines — throttle waits show up here, so a slow job is distinguishable from a stuck one. Read-only.

NameTypeReqDescription
job_idstringyes
NameTypeReqDescription
createdAtstring
durabilityWarningstring
errorstring
finishedAtstring|null
fromPreviousServerRunboolean
input
interruptedNotestring
jobIdstring
kindstring
okboolean
partialboolean
progressobject
recentLogarray
restoredboolean
result
resultAvailableboolean
startedAtstring|null
statusstring

No examples provided.

remediation_selftest ~140

Run the REAL remediation pipeline end-to-end in headless Chromium against a scripted local model and a generated one-page PDF, then report which stage worked. Needs NO Gemini key and spends NO quota (nothing leaves the machine; the scripted model is a loopback server), writes no files you keep. Takes roughly 20-60s. Use this when remediation_capabilities says ready but real runs fail, after installing or updating the connector, or to tell a broken install apart from an API-key/quota problem: a failure here names the stage (assets / browser / module-boot / ownership-gate / audit-contract) and is never about your key.

Input schema present but exposes no named parameters.

NameTypeReqDescription
afterScore
beforeScore
checksobject
durationMsnumber
errorstring
hintstring
modelCallsnumber
notestring
okbooleanyes
stagestringyes'complete' on success; otherwise the stage that broke: assets | browser | module-boot | ownership-gate | audit-contract | run | output

No examples provided.

remediation_setup ~81

Download the Chromium browser binary the pipeline runs in (a one-time ~200MB download via Playwright, 1-5 minutes). Call this when remediation_capabilities reports chromiumInstalled: false — typically right after installing the packaged connector. Idempotent: returns immediately if Chromium is already installed. Writes only to the Playwright browser cache; needs no Gemini key.

Input schema present but exposes no named parameters.

NameTypeReqDescription
alreadyInstalledboolean
errorstring
installedboolean
notestring
okbooleanyes

No examples provided.

remediation_verify_key ~132

Prove the configured Gemini key WORKS rather than merely existing, by listing models — the cheapest authenticated call. Sends NO document content and spends no generation quota. Call this whenever remediation_capabilities reports a key but Gemini-powered tools fail, and after setting up a key for the first time. Distinguishes: no key configured, valid, valid-but-quota-exhausted, invalid (revoked/mistyped/wrong API), and unreachable (offline — key untested, not proven bad). When no key or an invalid key is found it returns exact setup instructions. Never returns or logs the key value.

Input schema present but exposes no named parameters.

NameTypeReqDescription
checkedbooleanyes
checkedAtstring
detailstring
documentContentSentbooleanyes
geminiKeySourcestring
keyWorksboolean|nullyestrue/false when tested; null when no key or the API was unreachable
setupstring
statestringyes

No examples provided.

simplify_accessible_html ~132

Produce a plain-language version of an accessible HTML document, preserving its structure and reading order. This is the UDL move that most changes who can use a document: an accessible PDF that is written at a graduate reading level is still inaccessible to many readers. REQUIRES a Gemini key. The simplified text is model-generated and should be reviewed by someone who knows the subject before it replaces the original.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local accessible .html file
output_pathstringWhere to write the simplified HTML (default: <name>-plain.html beside the input)
NameTypeReqDescription
bytesnumber
inputstringyes
notestring
outputstringyes

No examples provided.

transcribe_media ~201

Transcribe a local audio or video file into an accessible transcript payload. Modes: 'speech' (spoken words), 'visual' (what is shown on screen), 'dual' (both, separately), 'synthesis' (a combined narrative). Long recordings are segmented automatically by the pipeline's large-file machinery. Supports .mp3 .m4a .wav .aac .ogg .flac .mp4 .mov .webm .mpeg. REQUIRES a Gemini key and sends the media to the API. This is how a recorded lesson becomes a document the rest of these tools can make accessible.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local audio or video file
modestringDefault 'speech'. Use 'dual' or 'synthesis' for video where on-screen content matters.
output_pathstringWhere to write the transcript (default: <name>-transcript.txt beside the input)
NameTypeReqDescription
inputstringyes
modestring
notestring
outputstringyes
wordsnumber

No examples provided.

translate_accessible_html ~157

Translate an accessible HTML document into a target language while preserving its structure: headings, lists, tables, and reading order survive, and embedded data-URI images are swapped for placeholders during translation so they are never sent to the model and come back intact. Long documents are chunked on tag boundaries. REQUIRES a Gemini key. Use to produce the same accessible document for multilingual families or students.

NameTypeReqDescription
file_pathstringyesAbsolute path to a local accessible .html file
output_pathstringWhere to write the translated HTML (default: <name>-<lang>.html beside the input)
target_languagestringyesTarget language, e.g. "Spanish", "Vietnamese", "Somali"
NameTypeReqDescription
bytesnumber
inputstringyes
notestring
outputstringyes
targetLanguagestring

No examples provided.