The tools
Each tool's command is its address on the site, its SDK function is family.name(), and its MCP tool has the same name as the command. The options are the flags (--target) and the SDK's option names (target). Preset pages from the site work as commands too.
| Command | SDK | Options |
|---|---|---|
merge-pdf | pdf.merge() | bookmarks keep-info title password |
split-pdf | pdf.split() | ranges every max-size password |
compress-pdf+8 presets | pdf.compress() | level target dpi quality grayscale strip-metadata password |
protect-pdf | pdf.protect() | password owner-password print copy edit comment forms |
unlock-pdf | pdf.unlock() | password |
organize-pdf | pdf.organize() | order rotate rotate-pages remove password |
add-page-numbers-to-pdf | pdf.addPageNumbers() | format position start pages skip-first size margin color font bold password |
watermark-pdf | pdf.watermark() | text opacity angle position size color font bold margin under pages password |
jpg-to-pdf+1 presets | pdf.fromImages() | page-size orientation margin placement |
pdf-to-text | pdf.toText() | format markers join pages password |
pdf-to-jpgneeds @napi-rs/canvas+1 presets | pdf.toImages() | format dpi quality pages password |
extract-images-from-pdf | pdf.extractImages() | min-size password |
Images
| Command | SDK | Options |
|---|---|---|
image-converter+14 presets | image.convert() | to quality lossless background |
image-compressor | image.compress() | quality target format max-side never-bigger |
image-resizer+9 presets | image.resize() | width height mode percent enlarge target format quality |
crop-image | image.crop() | aspect x y width height format quality |
rotate-image | image.rotate() | by flip format quality |
exif-remover | image.stripMetadata() | keep-orientation keep-color-profile |
Files
| Command | SDK | Options |
|---|---|---|
zip-files | files.zip() | level name |
unzip-files | files.unzip() | max-total max-entries |
checksum-calculator | files.checksum() | algorithms expected |
file-info | files.info() | password |
Video and audio
| Command | SDK | Options |
|---|---|---|
video-compressorneeds ffmpeg+4 presets | media.compress() | target quality resolution fps remove-audio |
video-converterneeds ffmpeg+5 presets | media.convert() | to quality |
trim-videoneeds ffmpeg | media.trim() | start end copy |
mute-videoneeds ffmpeg | media.mute() | |
video-to-gifneeds ffmpeg | media.toGif() | start end width fps loop |
video-to-mp3needs ffmpeg | media.toAudio() | format bitrate |
audio-converterneeds ffmpeg+5 presets | media.convertAudio() | to bitrate |
npx roundertools help <command> explains every option, with its default. The MCP server'sdescribe-tool returns the same as JSON Schema.