Tool tree
gradeNot graded
page: Every page
convert_imageAction
Convert an image to another format entirely in the browser — no upload. WASM importers accept BMP, DDS, GIF, HDR, ICO, JPEG, KTX, PGM, PIC, PNG, PPM, PSD, TGA, WebP; a browser-decode fallback adds HEIC (Safari/iOS), AVIF, GIF and more. Outputs PNG, JPEG, BMP, TGA, HDR, EXR, KTX2 or WebP.
View tool JSON
{
"name": "convert_image",
"kind": "act",
"impl": "imperative",
"description": "Convert an image to another format entirely in the browser — no upload. WASM importers accept BMP, DDS, GIF, HDR, ICO, JPEG, KTX, PGM, PIC, PNG, PPM, PSD, TGA, WebP; a browser-decode fallback adds HEIC (Safari/iOS), AVIF, GIF and more. Outputs PNG, JPEG, BMP, TGA, HDR, EXR, KTX2 or WebP.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"targetFormat": {
"type": "string",
"enum": [
"png",
"jpeg",
"bmp",
"tga",
"hdr",
"exr",
"ktx2",
"webp"
]
}
},
"required": [
"fileBase64",
"targetFormat"
]
},
"page": "/webmcp.html"
}images_to_pdfAction
Combine one or more images into a single PDF, one image per page, in order, in the browser.
View tool JSON
{
"name": "images_to_pdf",
"kind": "act",
"impl": "imperative",
"description": "Combine one or more images into a single PDF, one image per page, in order, in the browser.",
"inputSchema": {
"type": "object",
"properties": {
"imagesBase64": {
"type": "array",
"items": {
"type": "string"
}
},
"fileName": {
"type": "string"
}
},
"required": [
"imagesBase64"
]
},
"page": "/webmcp.html"
}images_to_searchable_pdfAction
Combine images into a PDF *and* run OCR (Tesseract.js, lazy-loaded) so the resulting PDF has selectable, searchable text on top of the original pixels. Useful for scans and screenshots.
View tool JSON
{
"name": "images_to_searchable_pdf",
"kind": "act",
"impl": "imperative",
"description": "Combine images into a PDF *and* run OCR (Tesseract.js, lazy-loaded) so the resulting PDF has selectable, searchable text on top of the original pixels. Useful for scans and screenshots.",
"inputSchema": {
"type": "object",
"properties": {
"imagesBase64": {
"type": "array",
"items": {
"type": "string"
}
},
"fileName": {
"type": "string"
},
"ocrLanguage": {
"type": "string",
"description": "Tesseract language code, e.g. 'eng', 'deu'."
}
},
"required": [
"imagesBase64"
]
},
"page": "/webmcp.html"
}merge_pdfsAction
Merge multiple PDF files into a single PDF (all pages, in order) — in the browser, no upload.
View tool JSON
{
"name": "merge_pdfs",
"kind": "act",
"impl": "imperative",
"description": "Merge multiple PDF files into a single PDF (all pages, in order) — in the browser, no upload.",
"inputSchema": {
"type": "object",
"properties": {
"pdfsBase64": {
"type": "array",
"items": {
"type": "string"
}
},
"fileName": {
"type": "string"
}
},
"required": [
"pdfsBase64"
]
},
"page": "/webmcp.html"
}reorder_pdf_pagesAction
Reorder the pages of a single PDF and write a new PDF with the given order. pageOrder is an array of zero-based source-page indices, in the desired order.
View tool JSON
{
"name": "reorder_pdf_pages",
"kind": "act",
"impl": "imperative",
"description": "Reorder the pages of a single PDF and write a new PDF with the given order. pageOrder is an array of zero-based source-page indices, in the desired order.",
"inputSchema": {
"type": "object",
"properties": {
"pdfBase64": {
"type": "string"
},
"pageOrder": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
},
"fileName": {
"type": "string"
}
},
"required": [
"pdfBase64",
"pageOrder"
]
},
"page": "/webmcp.html"
}delete_pdf_pagesSensitive Action
Drop the listed zero-based page indices from a PDF, writing a new PDF of the remaining pages, in their original order.
View tool JSON
{
"name": "delete_pdf_pages",
"kind": "transact",
"impl": "imperative",
"description": "Drop the listed zero-based page indices from a PDF, writing a new PDF of the remaining pages, in their original order.",
"inputSchema": {
"type": "object",
"properties": {
"pdfBase64": {
"type": "string"
},
"pagesToDelete": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
},
"fileName": {
"type": "string"
}
},
"required": [
"pdfBase64",
"pagesToDelete"
]
},
"page": "/webmcp.html"
}extract_pdf_textAnswer
Pull text out of a PDF (pdf.js) — plain text by default, or simple Markdown with one `## Page N` heading per page when `asMarkdown: true`.
View tool JSON
{
"name": "extract_pdf_text",
"kind": "answer",
"impl": "imperative",
"description": "Pull text out of a PDF (pdf.js) — plain text by default, or simple Markdown with one `## Page N` heading per page when `asMarkdown: true`.",
"inputSchema": {
"type": "object",
"properties": {
"pdfBase64": {
"type": "string"
},
"asMarkdown": {
"type": "boolean"
},
"fileName": {
"type": "string"
}
},
"required": [
"pdfBase64"
]
},
"page": "/webmcp.html"
}convert_documentAction
Convert a document between formats with Pandoc (WebAssembly). Common inputs: docx, odt, rtf, html, markdown, latex, rst, mediawiki, epub. Common outputs: markdown, html, plain, latex, rst, asciidoc, docx, odt. The first call lazily downloads Pandoc WASM (~56 MB); it is cached afterwards.
View tool JSON
{
"name": "convert_document",
"kind": "act",
"impl": "imperative",
"description": "Convert a document between formats with Pandoc (WebAssembly). Common inputs: docx, odt, rtf, html, markdown, latex, rst, mediawiki, epub. Common outputs: markdown, html, plain, latex, rst, asciidoc, docx, odt. The first call lazily downloads Pandoc WASM (~56 MB); it is cached afterwards.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"fromFormat": {
"type": "string"
},
"toFormat": {
"type": "string"
}
},
"required": [
"fileBase64",
"fromFormat",
"toFormat"
]
},
"page": "/webmcp.html"
}convert_audioAction
Convert an audio file — or extract the audio track from a video — to MP3, OGG, WAV or FLAC. Decoding uses the browser's codecs, so anything the browser can play is accepted.
View tool JSON
{
"name": "convert_audio",
"kind": "act",
"impl": "imperative",
"description": "Convert an audio file — or extract the audio track from a video — to MP3, OGG, WAV or FLAC. Decoding uses the browser's codecs, so anything the browser can play is accepted.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"targetFormat": {
"type": "string",
"enum": [
"mp3",
"ogg",
"wav",
"flac"
]
}
},
"required": [
"fileBase64",
"targetFormat"
]
},
"page": "/webmcp.html"
}convert_videoAction
Transcode a video to MP4 (H.264 + AAC), WebM (VP9 + Opus) or animated GIF using ffmpeg-wasm in the browser. The first call lazily downloads the ffmpeg core for the chosen output (~30 MB per variant); cached afterwards.
View tool JSON
{
"name": "convert_video",
"kind": "act",
"impl": "imperative",
"description": "Transcode a video to MP4 (H.264 + AAC), WebM (VP9 + Opus) or animated GIF using ffmpeg-wasm in the browser. The first call lazily downloads the ffmpeg core for the chosen output (~30 MB per variant); cached afterwards.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"targetFormat": {
"type": "string",
"enum": [
"mp4",
"webm",
"gif"
]
},
"config": {
"type": "object",
"description": "Optional: resolution ('WxH'|'original'), fps, videoBitrate, audioBitrate, muteAudio."
}
},
"required": [
"fileBase64",
"targetFormat"
]
},
"page": "/webmcp.html"
}trim_videoAction
Cut a clip from startTime → endTime (seconds) out of a video using ffmpeg-wasm, without re-uploading anything. Output is MP4 by default.
View tool JSON
{
"name": "trim_video",
"kind": "act",
"impl": "imperative",
"description": "Cut a clip from startTime → endTime (seconds) out of a video using ffmpeg-wasm, without re-uploading anything. Output is MP4 by default.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"startTime": {
"type": "number",
"minimum": 0
},
"endTime": {
"type": "number",
"minimum": 0
},
"outputExt": {
"type": "string",
"enum": [
"mp4",
"webm"
]
}
},
"required": [
"fileBase64",
"startTime",
"endTime"
]
},
"page": "/webmcp.html"
}remove_image_backgroundAction
Produce a version of the image with the background made transparent (or a chosen colour). Uses a tiny U²-Net-P ONNX model (≈4 MB) for the initial mask, then a deterministic WASM matting pass to clean the edges. Output is PNG (default) or WebP — both preserve transparency.
View tool JSON
{
"name": "remove_image_background",
"kind": "act",
"impl": "imperative",
"description": "Produce a version of the image with the background made transparent (or a chosen colour). Uses a tiny U²-Net-P ONNX model (≈4 MB) for the initial mask, then a deterministic WASM matting pass to clean the edges. Output is PNG (default) or WebP — both preserve transparency.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
},
"outputFormat": {
"type": "string",
"enum": [
"png",
"webp"
]
}
},
"required": [
"fileBase64"
]
},
"page": "/webmcp.html"
}transcribe_audioAction
Transcribe an audio file — or the audio track of a video — to text with timestamps using a quantised Whisper model (whisper.cpp compiled to WASM). Runs entirely in the browser. The first call downloads the model (~40 MB) once, then caches it. English by default; the bundled model is English-only.
View tool JSON
{
"name": "transcribe_audio",
"kind": "act",
"impl": "imperative",
"description": "Transcribe an audio file — or the audio track of a video — to text with timestamps using a quantised Whisper model (whisper.cpp compiled to WASM). Runs entirely in the browser. The first call downloads the model (~40 MB) once, then caches it. English by default; the bundled model is English-only.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string"
},
"fileName": {
"type": "string"
}
},
"required": [
"fileBase64"
]
},
"page": "/webmcp.html"
}convert_3d_to_gltfAction
Convert a 3D scene (FBX, OBJ, DAE, PLY, STL, GLTF, GLB, 3DS, LWO, BLEND, X, MS3D, ASE) to glTF 2.0 or binary GLB, entirely in the browser. Native magnum-plugins importers handle the mainstream formats (ufbx for FBX/OBJ, GltfImporter for glTF/GLB, StanfordImporter for PLY, StlImporter for STL, OpenGexImporter for OGEX); Assimp is the fallback for the long tail (DAE, 3DS, LWO, BLEND, X, …). Output is written by Magnum's GltfSceneConverter. Optional MeshOptimizer pass re-encodes meshes for the GPU vertex cache and can simplify them by a target ratio. Lazy-loads the matching WASM module per family.
View tool JSON
{
"name": "convert_3d_to_gltf",
"kind": "act",
"impl": "imperative",
"description": "Convert a 3D scene (FBX, OBJ, DAE, PLY, STL, GLTF, GLB, 3DS, LWO, BLEND, X, MS3D, ASE) to glTF 2.0 or binary GLB, entirely in the browser. Native magnum-plugins importers handle the mainstream formats (ufbx for FBX/OBJ, GltfImporter for glTF/GLB, StanfordImporter for PLY, StlImporter for STL, OpenGexImporter for OGEX); Assimp is the fallback for the long tail (DAE, 3DS, LWO, BLEND, X, …). Output is written by Magnum's GltfSceneConverter. Optional MeshOptimizer pass re-encodes meshes for the GPU vertex cache and can simplify them by a target ratio. Lazy-loads the matching WASM module per family.",
"inputSchema": {
"type": "object",
"properties": {
"fileBase64": {
"type": "string",
"description": "Base64-encoded input file bytes."
},
"fileName": {
"type": "string",
"description": "Original filename; the extension is used to pick the importer."
},
"outputFormat": {
"type": "string",
"enum": [
"gltf",
"glb"
],
"description": "glTF (JSON + embedded buffers) or GLB (single compact binary). Defaults to gltf."
},
"optimize": {
"type": "boolean",
"description": "Run MeshOptimizer vertex-cache / overdraw / vertex-fetch passes on every mesh."
},
"simplifyRatio": {
"type": "number",
"description": "Fraction of triangles to KEEP, 0..1. 0 or 1 disables simplification."
}
},
"required": [
"fileBase64"
]
},
"page": "/webmcp.html"
}list_supported_formatsAnswer
Enumerate every format and tool WebConverter exposes via WebMCP.
View tool JSON
{
"name": "list_supported_formats",
"kind": "answer",
"impl": "imperative",
"description": "Enumerate every format and tool WebConverter exposes via WebMCP.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/webmcp.html"
}