{"ok":true,"site":{"host":"webconverter.app","url":"https://webconverter.app/webmcp.html","type":"live","desc":"WebConverter is a complete WebMCP server: AI agents can convert images, build and merge PDFs, OCR scans, extract PDF text, convert documents with Pandoc, transcribe audio with Whisper, remove image…","tools":[{"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.","title":"Convert an image file","annotations":{"readOnlyHint":true},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Combine images into a PDF","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"imagesBase64":{"type":"array","items":{"type":"string"}},"fileName":{"type":"string"}},"required":["imagesBase64"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Images → searchable PDF (OCR)","annotations":{"readOnlyHint":true},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Merge several PDFs into one","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"pdfsBase64":{"type":"array","items":{"type":"string"}},"fileName":{"type":"string"}},"required":["pdfsBase64"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Reorder pages of a PDF","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"pdfBase64":{"type":"string"},"pageOrder":{"type":"array","items":{"type":"integer","minimum":0}},"fileName":{"type":"string"}},"required":["pdfBase64","pageOrder"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Delete pages from a PDF","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"pdfBase64":{"type":"string"},"pagesToDelete":{"type":"array","items":{"type":"integer","minimum":0}},"fileName":{"type":"string"}},"required":["pdfBase64","pagesToDelete"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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`.","title":"Extract text from a PDF","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"pdfBase64":{"type":"string"},"asMarkdown":{"type":"boolean"},"fileName":{"type":"string"}},"required":["pdfBase64"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Convert a document with Pandoc","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"fileBase64":{"type":"string"},"fileName":{"type":"string"},"fromFormat":{"type":"string"},"toFormat":{"type":"string"}},"required":["fileBase64","fromFormat","toFormat"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Convert or extract audio","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"fileBase64":{"type":"string"},"fileName":{"type":"string"},"targetFormat":{"type":"string","enum":["mp3","ogg","wav","flac"]}},"required":["fileBase64","targetFormat"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Convert a video file","annotations":{"readOnlyHint":true},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Trim a clip out of a video","annotations":{"readOnlyHint":true},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Remove an image's background","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"fileBase64":{"type":"string"},"fileName":{"type":"string"},"outputFormat":{"type":"string","enum":["png","webp"]}},"required":["fileBase64"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Transcribe audio with Whisper","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"fileBase64":{"type":"string"},"fileName":{"type":"string"}},"required":["fileBase64"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"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.","title":"Convert a 3D model to glTF or GLB","annotations":{"readOnlyHint":true},"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"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]},{"name":"list_supported_formats","kind":"answer","impl":"imperative","description":"Enumerate every format and tool WebConverter exposes via WebMCP.","title":"List supported file-conversion formats","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp.html","pages":["/webmcp.html","/index.html","/de.html","/nl.html","/fr.html","/de/licenses.html"]}],"favicon":"/favicons/webconverter.app.png","apiSurface":"spec","category":"Productivity & Business","toolCount":15}}