← WebMCP Directory

Tool tree

webconverter.app

Productivity & BusinessTools verified
Website
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…
Explore capabilities

    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"
    }