Tool Reference

Complete API reference for all 59 VaultTools MCP tools: input schemas, output schemas, and examples.

Error Codes

CodeDescription
ACCESS_DENIED Path is outside the allowed directories.
FILE_NOT_FOUND The input file does not exist at the given path.
READ_ERROR The file could not be read (permissions, encoding).
WRITE_ERROR The output file could not be written (permissions, disk full).
INVALID_INPUT The file content is malformed or unsupported.
PROCESSING_ERROR The tool encountered an error during processing.
INVALID_PARAMS Required parameters are missing or have invalid values.
CONFIG_ERROR Server configuration is invalid (e.g., no output directory).

IMAGE

vaulttools_image_convert

Convert image format (PNG, JPEG, WebP, BMP, TIFF, AVIF). File bytes never enter AI context.

Input

output_format string

Output format: png, jpeg, webp, bmp, tiff, avif.

required
path string

Path to the input image file.

required
quality integernull

Quality 1-100 (default 85). Applies to JPEG, WebP, AVIF.

optional

Output

output_format string
output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/photo.png",
  "output_format": "jpeg"
}
{
  "output_path": "~/Documents/photo_converted.jpeg",
  "output_format": "jpeg",
  "output_size": "284.5 KB"
}

Realistic Example

{
  "path": "~/Documents/photo.png",
  "output_format": "webp",
  "quality": 80
}
{
  "output_path": "~/Documents/photo_converted.webp",
  "output_format": "webp",
  "output_size": "142.3 KB"
}

vaulttools_image_compress

Compress an image by re-encoding at a lower quality. Returns savings percentage.

Input

path string

Path to the input image file.

required
quality integernull

Quality 1-100 (default 75).

optional

Output

compressed_size string
compressed_size_bytes integer
original_size string
original_size_bytes integer
output_path string
savings_percent number

Minimal Example

{
  "path": "~/Documents/banner.jpg"
}
{
  "output_path": "~/Documents/banner_compressed.jpg",
  "original_size": "2.4 MB",
  "compressed_size": "680.1 KB",
  "savings_percent": 72.3
}

Realistic Example

{
  "path": "~/Documents/banner.jpg",
  "quality": 60
}
{
  "output_path": "~/Documents/banner_compressed.jpg",
  "original_size": "2.4 MB",
  "compressed_size": "412.8 KB",
  "savings_percent": 83.2
}

vaulttools_image_resize

Resize an image to target width/height. Maintains aspect ratio by default.

Input

height integer

Target height in pixels.

required
maintain_aspect booleannull

Whether to maintain aspect ratio (default true). When true, the image fits within width x height.

optional
path string

Path to the input image file.

required
quality integernull

Quality 1-100 (default 85).

optional
width integer

Target width in pixels.

required

Output

height integer
output_path string
output_size string
output_size_bytes integer
width integer

Minimal Example

{
  "path": "~/Documents/photo.jpg",
  "width": 800,
  "height": 600
}
{
  "output_path": "~/Documents/photo_resized.jpg",
  "output_size": "124.6 KB",
  "width": 800,
  "height": 600
}

Realistic Example

{
  "path": "~/Documents/photo.jpg",
  "width": 1200,
  "height": 630,
  "maintain_aspect": true,
  "quality": 90
}
{
  "output_path": "~/Documents/photo_resized.jpg",
  "output_size": "198.4 KB",
  "width": 1200,
  "height": 630
}

vaulttools_image_info

Get image metadata: format, dimensions, file size. No output file produced.

Input

path string

Path to the input image file.

required

Output

file_size string
file_size_bytes integer
format string
height integer
width integer

Minimal Example

{
  "path": "~/Documents/photo.jpg"
}
{
  "format": "jpeg",
  "width": 3024,
  "height": 4032,
  "file_size": "3.8 MB"
}

Realistic Example

{
  "path": "~/Documents/screenshot.png"
}
{
  "format": "png",
  "width": 2560,
  "height": 1440,
  "file_size": "1.2 MB"
}

vaulttools_image_exif_read

Read EXIF metadata from a JPEG or TIFF image. Returns tags and values.

Input

path string

Path to the input image file (JPEG or TIFF).

required

Output

exif_data any[]

Array of EXIF tag/value pairs.

field_count integer

Minimal Example

{
  "path": "~/Documents/photo.jpg"
}
{
  "exif_data": "[{\"tag\":\"Make\",\"value\":\"Apple\"},{\"tag\":\"Model\",\"value\":\"iPhone 15 Pro\"},{\"tag\":\"DateTime\",\"value\":\"2025:12:15 14:32:01\"}]",
  "field_count": 24
}

Realistic Example

{
  "path": "~/Documents/vacation/sunset.jpg"
}
{
  "exif_data": "[{\"tag\":\"Make\",\"value\":\"Canon\"},{\"tag\":\"Model\",\"value\":\"EOS R5\"},{\"tag\":\"ExposureTime\",\"value\":\"1/250\"},{\"tag\":\"FNumber\",\"value\":\"f/2.8\"},{\"tag\":\"ISOSpeedRatings\",\"value\":\"400\"},{\"tag\":\"GPSLatitude\",\"value\":\"48.8566\"}]",
  "field_count": 42
}

vaulttools_image_exif_strip

Strip all EXIF metadata from an image by re-encoding it.

Input

path string

Path to the input image file.

required
quality integernull

Re-encoding quality 1-100 (default 90).

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/photo.jpg"
}
{
  "output_path": "~/Documents/photo_no_exif.jpg",
  "output_size": "3.6 MB"
}

Realistic Example

{
  "path": "~/Documents/photo.jpg",
  "quality": 85
}
{
  "output_path": "~/Documents/photo_no_exif.jpg",
  "output_size": "2.1 MB"
}

vaulttools_image_favicon

Generate a complete favicon package (ICO + PNG sizes + webmanifest) as a ZIP file.

Input

background stringnull

Background color: "transparent" or "#RRGGBB" (default "transparent").

optional
fit_mode stringnull

Fit mode: "contain" or "cover" (default "contain").

optional
path string

Path to the input image file (ideally square, >= 512x512).

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/logo.png"
}
{
  "output_path": "~/Documents/logo_favicons.zip",
  "output_size": "48.2 KB"
}

Realistic Example

{
  "path": "~/Documents/logo.png",
  "fit_mode": "cover",
  "background": "#ffffff"
}
{
  "output_path": "~/Documents/logo_favicons.zip",
  "output_size": "52.7 KB"
}

vaulttools_image_mockup

Apply a device mockup frame (simple, browser, phone) around a screenshot image.

Input

background stringnull

Background color: "transparent" or "#RRGGBB" (default "#0F172A").

optional
corner_radius integernull

Corner radius in pixels.

optional
output_format stringnull

Output format: png, jpeg, webp, avif (default "png").

optional
path string

Path to the input image file (screenshot).

required
preset stringnull

Preset: "simple", "browser", or "phone" (default "simple").

optional
quality integernull

Quality 1-100 (default 90).

optional
shadow_blur numbernull

Shadow blur sigma.

optional
shadow_opacity numbernull

Shadow opacity 0.0-1.0.

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/screenshot.png"
}
{
  "output_path": "~/Documents/screenshot_mockup.png",
  "output_size": "892.4 KB"
}

Realistic Example

{
  "path": "~/Documents/screenshot.png",
  "preset": "browser",
  "background": "#1a1a2e",
  "corner_radius": 12,
  "shadow_blur": 20,
  "shadow_opacity": 0.5,
  "output_format": "png",
  "quality": 95
}
{
  "output_path": "~/Documents/screenshot_mockup.png",
  "output_size": "1.1 MB"
}

vaulttools_image_palette

Extract a color palette from an image. Returns hex codes, RGB values, and percentages.

Input

count integernull

Number of colors to extract (2-12, default 6).

optional
path string

Path to the input image file.

required

Output

color_count integer
palette any[]

Array of extracted palette colors with hex, RGB, and percentage.

Minimal Example

{
  "path": "~/Documents/photo.jpg"
}
{
  "palette": "[{\"hex\":\"#2c3e50\",\"rgb\":\"44,62,80\",\"percentage\":28.4},{\"hex\":\"#e74c3c\",\"rgb\":\"231,76,60\",\"percentage\":18.1},{\"hex\":\"#ecf0f1\",\"rgb\":\"236,240,241\",\"percentage\":15.6}]",
  "color_count": 6
}

Realistic Example

{
  "path": "~/Documents/brand-photo.jpg",
  "count": 4
}
{
  "palette": "[{\"hex\":\"#1a1a2e\",\"rgb\":\"26,26,46\",\"percentage\":35.2},{\"hex\":\"#16213e\",\"rgb\":\"22,33,62\",\"percentage\":24.8},{\"hex\":\"#0f3460\",\"rgb\":\"15,52,96\",\"percentage\":22.1},{\"hex\":\"#e94560\",\"rgb\":\"233,69,96\",\"percentage\":17.9}]",
  "color_count": 4
}

vaulttools_image_svg_to_png

Rasterize an SVG file to PNG at a specified size.

Input

background stringnull

Background: "transparent" or "#RRGGBB" (default "transparent").

optional
fit stringnull

Fit mode: "contain", "cover", or "stretch" (default "contain").

optional
height integernull

Output height in pixels (default: intrinsic SVG height).

optional
path string

Path to the input SVG file.

required
width integernull

Output width in pixels (default: intrinsic SVG width).

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/icon.svg"
}
{
  "output_path": "~/Documents/icon_rasterized.png",
  "output_size": "14.8 KB"
}

Realistic Example

{
  "path": "~/Documents/icon.svg",
  "width": 1024,
  "height": 1024,
  "fit": "contain",
  "background": "transparent"
}
{
  "output_path": "~/Documents/icon_rasterized.png",
  "output_size": "38.2 KB"
}

vaulttools_image_transform

Transform an image: crop, rotate (0/90/180/270), flip horizontal/vertical.

Input

crop

Crop rectangle: {x, y, width, height}. Applied before rotate/flip.

optional
flip_horizontal booleannull

Flip horizontally.

optional
flip_vertical booleannull

Flip vertically.

optional
output_format stringnull

Output format (default: same as input). One of: png, jpeg, webp, bmp, tiff, avif, keep.

optional
path string

Path to the input image file.

required
quality integernull

Quality 1-100 (default 85).

optional
rotate integernull

Rotation in degrees: 0, 90, 180, 270.

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/photo.jpg"
}
{
  "output_path": "~/Documents/photo_transformed.jpg",
  "output_size": "3.8 MB"
}

Realistic Example

{
  "path": "~/Documents/photo.jpg",
  "crop": {
    "x": 100,
    "y": 50,
    "width": 800,
    "height": 600
  },
  "rotate": 90,
  "flip_horizontal": false,
  "flip_vertical": false,
  "output_format": "png",
  "quality": 90
}
{
  "output_path": "~/Documents/photo_transformed.png",
  "output_size": "1.4 MB"
}

vaulttools_image_watermark

Add a text watermark to an image. Supports single position or tiled pattern.

Input

angle numbernull

Rotation angle in degrees (default 0, or -30 for tiled).

optional
color stringnull

Text color in #RRGGBB (default "#888888").

optional
font_size integernull

Font size in pixels (default 48).

optional
opacity numbernull

Opacity 0.0-1.0 (default 0.3).

optional
output_format stringnull

Output format (default: same as input).

optional
path string

Path to the input image file.

required
position stringnull

Position: "center", "top-left", "top-right", "bottom-left", "bottom-right", "tiled" (default "center").

optional
quality integernull

Quality 1-100 (default 90).

optional
text string

Watermark text.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/photo.jpg",
  "text": "DRAFT"
}
{
  "output_path": "~/Documents/photo_watermarked.jpg",
  "output_size": "3.9 MB"
}

Realistic Example

{
  "path": "~/Documents/photo.jpg",
  "text": "CONFIDENTIAL",
  "position": "tiled",
  "font_size": 36,
  "color": "#ff0000",
  "opacity": 0.15,
  "angle": -30,
  "output_format": "png",
  "quality": 90
}
{
  "output_path": "~/Documents/photo_watermarked.png",
  "output_size": "4.2 MB"
}

vaulttools_image_to_base64

Convert an image file to a base64 data URI string. Writes result to a .txt file.

Input

path string

Path to the input image file.

required

Output

data_uri_length integer
output_path string

Minimal Example

{
  "path": "~/Documents/icon.png"
}
{
  "output_path": "~/Documents/icon_base64.txt",
  "data_uri_length": 8432
}

Realistic Example

{
  "path": "~/Documents/avatar.jpg"
}
{
  "output_path": "~/Documents/avatar_base64.txt",
  "data_uri_length": 24680
}

vaulttools_image_from_base64

Convert a base64 data URI string back to an image file.

Input

data_uri string

Base64 data URI string (e.g. "data:image/png;base64,...").

required
output_filename string

Output file name (e.g. "restored.png"). Written to first allowed directory or output directory.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "data_uri": "data:image/png;base64,iVBORw0KGgo...",
  "output_filename": "restored.png"
}
{
  "output_path": "~/Documents/restored.png",
  "output_size": "6.2 KB"
}

Realistic Example

{
  "data_uri": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
  "output_filename": "decoded-photo.jpg"
}
{
  "output_path": "~/Documents/decoded-photo.jpg",
  "output_size": "18.4 KB"
}

PDF

vaulttools_pdf_merge

Merge multiple PDF files into one. File bytes never enter AI context.

Input

paths string[]

Paths to the PDF files to merge, in order.

required

Output

output_path string
output_size string
output_size_bytes integer
page_count integer

Minimal Example

{
  "paths": [
    "~/Documents/part1.pdf",
    "~/Documents/part2.pdf"
  ]
}
{
  "output_path": "~/Documents/part1_merged.pdf",
  "output_size": "2.8 MB",
  "page_count": 24
}

Realistic Example

{
  "paths": [
    "~/Documents/report/cover.pdf",
    "~/Documents/report/chapter1.pdf",
    "~/Documents/report/chapter2.pdf",
    "~/Documents/report/appendix.pdf"
  ]
}
{
  "output_path": "~/Documents/report/cover_merged.pdf",
  "output_size": "8.4 MB",
  "page_count": 67
}

vaulttools_pdf_split

Extract a page range from a PDF into a new file.

Input

end_page integer

Last page to extract (1-based, inclusive).

required
path string

Path to the input PDF file.

required
start_page integer

First page to extract (1-based).

required

Output

output_path string
output_size string
output_size_bytes integer
page_count integer

Minimal Example

{
  "path": "~/Documents/report.pdf",
  "start_page": 1,
  "end_page": 5
}
{
  "output_path": "~/Documents/report_p1-5.pdf",
  "output_size": "420.3 KB",
  "page_count": 5
}

Realistic Example

{
  "path": "~/Documents/manual.pdf",
  "start_page": 12,
  "end_page": 18
}
{
  "output_path": "~/Documents/manual_p12-18.pdf",
  "output_size": "1.1 MB",
  "page_count": 7
}

vaulttools_pdf_compress

Compress a PDF to reduce file size.

Input

max_dimension integernull

Max dimension for embedded images in pixels (default 2048).

optional
path string

Path to the input PDF file.

required
quality integernull

Image compression quality 1-95 (default 75).

optional
strip_metadata booleannull

Whether to strip document metadata (default false).

optional

Output

compressed_size string
compressed_size_bytes integer
original_size string
original_size_bytes integer
output_path string
savings_percent number

Minimal Example

{
  "path": "~/Documents/report.pdf"
}
{
  "output_path": "~/Documents/report_compressed.pdf",
  "original_size": "12.4 MB",
  "compressed_size": "4.2 MB",
  "savings_percent": 66.1
}

Realistic Example

{
  "path": "~/Documents/report.pdf",
  "quality": 60,
  "max_dimension": 1024,
  "strip_metadata": true
}
{
  "output_path": "~/Documents/report_compressed.pdf",
  "original_size": "12.4 MB",
  "compressed_size": "2.8 MB",
  "savings_percent": 77.4
}

vaulttools_pdf_page_count

Get the number of pages in a PDF. No output file produced.

Input

path string

Path to the input PDF file.

required

Output

file_size string
file_size_bytes integer
page_count integer

Minimal Example

{
  "path": "~/Documents/report.pdf"
}
{
  "page_count": 42,
  "file_size": "3.6 MB"
}

Realistic Example

{
  "path": "~/Documents/thesis.pdf"
}
{
  "page_count": 186,
  "file_size": "28.4 MB"
}

vaulttools_pdf_metadata_read

Read PDF metadata (title, author, subject, etc). No output file produced.

Input

path string

Path to the input PDF file.

required

Output

metadata string

JSON object with title, author, subject, keywords, creator, producer fields.

Minimal Example

{
  "path": "~/Documents/report.pdf"
}
{
  "metadata": "{\"title\":\"Annual Report 2025\",\"author\":\"Jane Smith\",\"subject\":\"\",\"keywords\":\"\",\"creator\":\"Microsoft Word\",\"producer\":\"macOS Quartz PDFContext\"}"
}

Realistic Example

{
  "path": "~/Documents/contract.pdf"
}
{
  "metadata": "{\"title\":\"Service Agreement\",\"author\":\"Legal Department\",\"subject\":\"Professional Services Contract\",\"keywords\":\"contract, services, agreement\",\"creator\":\"Adobe InDesign 2025\",\"producer\":\"Adobe PDF Library 17.0\"}"
}

vaulttools_pdf_metadata_write

Update PDF metadata fields (title, author, subject, keywords, creator).

Input

author stringnull

Document author. Omit to preserve current value. Empty string clears it.

optional
creator stringnull

Creator application name. Omit to preserve current value. Empty string clears it.

optional
keywords stringnull

Document keywords. Omit to preserve current value. Empty string clears it.

optional
path string

Path to the input PDF file.

required
subject stringnull

Document subject. Omit to preserve current value. Empty string clears it.

optional
title stringnull

Document title. Omit to preserve current value. Empty string clears it.

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/report.pdf",
  "title": "Q4 Report"
}
{
  "output_path": "~/Documents/report_metadata.pdf",
  "output_size": "3.6 MB"
}

Realistic Example

{
  "path": "~/Documents/report.pdf",
  "title": "Q4 Financial Report",
  "author": "Finance Team",
  "subject": "Quarterly Financial Summary",
  "keywords": "finance, quarterly, 2025",
  "creator": "VaultTools"
}
{
  "output_path": "~/Documents/report_metadata.pdf",
  "output_size": "3.7 MB"
}

vaulttools_pdf_rotate

Rotate PDF pages by specified degrees (90, 180, 270).

Input

path string

Path to the input PDF file.

required
rotations string

Rotation map as JSON object: {"1": 90, "3": 180}. Keys are 1-based page numbers, values are degrees (90, 180, 270).

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/scan.pdf",
  "rotations": "{\"1\": 90}"
}
{
  "output_path": "~/Documents/scan_rotated.pdf",
  "output_size": "1.8 MB"
}

Realistic Example

{
  "path": "~/Documents/scan.pdf",
  "rotations": "{\"1\": 90, \"3\": 180, \"5\": 270}"
}
{
  "output_path": "~/Documents/scan_rotated.pdf",
  "output_size": "1.8 MB"
}

vaulttools_pdf_reorder

Reorder PDF pages in a custom order.

Input

order string

Comma-separated 1-based page numbers defining the new order, e.g. "3,1,2".

required
path string

Path to the input PDF file.

required

Output

output_path string
output_size string
output_size_bytes integer
page_count integer

Minimal Example

{
  "path": "~/Documents/slides.pdf",
  "order": "3,1,2"
}
{
  "output_path": "~/Documents/slides_reordered.pdf",
  "output_size": "5.2 MB",
  "page_count": 3
}

Realistic Example

{
  "path": "~/Documents/presentation.pdf",
  "order": "1,3,5,7,2,4,6"
}
{
  "output_path": "~/Documents/presentation_reordered.pdf",
  "output_size": "8.1 MB",
  "page_count": 7
}

vaulttools_pdf_annotate

Add page numbers or watermark text to PDF pages.

Input

add_page_numbers booleannull

Add page numbers to each page.

optional
add_watermark booleannull

Add watermark text to each page.

optional
margin numbernull

Margin in points (default 22).

optional
page_number_font_size numbernull

Page number font size 6-48 (default 11).

optional
page_number_position stringnull

Page number position: "top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right" (default "bottom-center").

optional
page_number_prefix stringnull

Page number prefix string (default "").

optional
path string

Path to the input PDF file.

required
start_number integernull

Page number starting number (default 1).

optional
watermark_font_size numbernull

Watermark font size 10-160 (default 42).

optional
watermark_opacity numbernull

Watermark opacity 0.05-1.0 (default 0.18).

optional
watermark_text stringnull

Watermark text (default "CONFIDENTIAL").

optional

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/report.pdf",
  "add_page_numbers": true
}
{
  "output_path": "~/Documents/report_annotated.pdf",
  "output_size": "3.7 MB"
}

Realistic Example

{
  "path": "~/Documents/report.pdf",
  "add_page_numbers": true,
  "add_watermark": true,
  "watermark_text": "DRAFT",
  "watermark_opacity": 0.12,
  "watermark_font_size": 60,
  "start_number": 1,
  "page_number_prefix": "Page ",
  "page_number_font_size": 10,
  "page_number_position": "bottom-center",
  "margin": 30
}
{
  "output_path": "~/Documents/report_annotated.pdf",
  "output_size": "3.9 MB"
}

vaulttools_pdf_images_to_pdf

Combine multiple images into a single PDF document.

Input

page_size stringnull

Page size: "a4", "letter", or "fit" (default "a4").

optional
paths string[]

Paths to image files to combine into a PDF, in order.

required

Output

output_path string
output_size string
output_size_bytes integer
page_count integer

Minimal Example

{
  "paths": [
    "~/Documents/scan1.jpg",
    "~/Documents/scan2.jpg"
  ]
}
{
  "output_path": "~/Documents/scan1_combined.pdf",
  "output_size": "1.4 MB",
  "page_count": 2
}

Realistic Example

{
  "paths": [
    "~/Documents/receipts/receipt1.jpg",
    "~/Documents/receipts/receipt2.jpg",
    "~/Documents/receipts/receipt3.png"
  ],
  "page_size": "a4"
}
{
  "output_path": "~/Documents/receipts/receipt1_combined.pdf",
  "output_size": "2.8 MB",
  "page_count": 3
}

vaulttools_pdf_to_images

Extract embedded PDF page images as individual image files. Vector-only or text-only pages may not produce output.

Input

format stringnull

Output image format: "png", "jpeg", "webp" (default "png").

optional
max_dimension integernull

Max dimension for output images in pixels (default 2048).

optional
path string

Path to the input PDF file.

required
quality integernull

Image quality 1-100 (default 90). Applies to JPEG and WebP.

optional

Output

output_dir string
output_paths string[]
page_count integer

Minimal Example

{
  "path": "~/Documents/brochure.pdf"
}
{
  "output_dir": "~/Documents/brochure_pages",
  "output_paths": [
    "~/Documents/brochure_pages/page_0001.png",
    "~/Documents/brochure_pages/page_0002.png",
    "~/Documents/brochure_pages/page_0003.png",
    "~/Documents/brochure_pages/page_0004.png"
  ],
  "page_count": 4
}

Realistic Example

{
  "path": "~/Documents/presentation.pdf",
  "format": "jpeg",
  "quality": 85,
  "max_dimension": 1920
}
{
  "output_dir": "~/Documents/presentation_pages",
  "output_paths": [
    "~/Documents/presentation_pages/page_0001.jpeg",
    "~/Documents/presentation_pages/page_0002.jpeg",
    "~/Documents/presentation_pages/page_0003.jpeg"
  ],
  "page_count": 3
}

TEXT

vaulttools_text_json_format

Pretty-print a JSON file with configurable indentation.

Input

indent integernull

Indentation spaces (default 2).

optional
path string

Path to the input JSON file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/data.json"
}
{
  "output_path": "~/Documents/data_formatted.json",
  "output_size": "4.2 KB"
}

Realistic Example

{
  "path": "~/Documents/config.json",
  "indent": 4
}
{
  "output_path": "~/Documents/config_formatted.json",
  "output_size": "6.8 KB"
}

vaulttools_text_json_minify

Minify a JSON file by removing whitespace.

Input

path string

Path to the input JSON file.

required

Output

original_size string
original_size_bytes integer
output_path string
output_size string
output_size_bytes integer
savings_percent number

Minimal Example

{
  "path": "~/Documents/data.json"
}
{
  "output_path": "~/Documents/data_minified.json",
  "output_size": "2.1 KB",
  "original_size": "4.2 KB",
  "savings_percent": 50
}

Realistic Example

{
  "path": "~/Documents/api-response.json"
}
{
  "output_path": "~/Documents/api-response_minified.json",
  "output_size": "18.4 KB",
  "original_size": "32.6 KB",
  "savings_percent": 43.6
}

vaulttools_text_json_validate

Validate a JSON file. Returns validity status and error details. No output file.

Input

path string

Path to the input JSON file.

required

Output

details string

"valid" if the JSON is well-formed, otherwise an error description.

file_size string
file_size_bytes integer
valid boolean

Minimal Example

{
  "path": "~/Documents/data.json"
}
{
  "valid": true,
  "details": "valid",
  "file_size": "4.2 KB"
}

Realistic Example

{
  "path": "~/Documents/broken.json"
}
{
  "valid": false,
  "details": "expected value at line 12 column 5",
  "file_size": "1.8 KB"
}

vaulttools_text_base64_encode

Encode file contents to base64.

Input

path string

Path to the input file to encode.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/secret.txt"
}
{
  "output_path": "~/Documents/secret_base64.txt",
  "output_size": "1.4 KB"
}

Realistic Example

{
  "path": "~/Documents/credentials.txt"
}
{
  "output_path": "~/Documents/credentials_base64.txt",
  "output_size": "684 B"
}

vaulttools_text_base64_decode

Decode base64 content back to original text.

Input

path string

Path to the input file containing Base64-encoded text.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/encoded.txt"
}
{
  "output_path": "~/Documents/encoded_decoded.txt",
  "output_size": "1.0 KB"
}

Realistic Example

{
  "path": "~/Documents/payload_base64.txt"
}
{
  "output_path": "~/Documents/payload_base64_decoded.txt",
  "output_size": "512 B"
}

vaulttools_text_csv_to_json

Convert a CSV file to JSON format.

Input

has_headers booleannull

Whether the first row contains headers (default true).

optional
path string

Path to the input CSV file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/data.csv"
}
{
  "output_path": "~/Documents/data_converted.json",
  "output_size": "12.4 KB"
}

Realistic Example

{
  "path": "~/Documents/sales-report.csv",
  "has_headers": true
}
{
  "output_path": "~/Documents/sales-report_converted.json",
  "output_size": "48.2 KB"
}

vaulttools_text_json_to_csv

Convert a JSON array of objects to CSV format.

Input

path string

Path to the input JSON file (must contain an array of objects).

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/users.json"
}
{
  "output_path": "~/Documents/users_converted.csv",
  "output_size": "8.6 KB"
}

Realistic Example

{
  "path": "~/Documents/api-export.json"
}
{
  "output_path": "~/Documents/api-export_converted.csv",
  "output_size": "34.1 KB"
}

vaulttools_text_markdown_to_html

Render a Markdown file to HTML.

Input

path string

Path to the input Markdown file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/readme.md"
}
{
  "output_path": "~/Documents/readme_rendered.html",
  "output_size": "6.4 KB"
}

Realistic Example

{
  "path": "~/Documents/blog-post.md"
}
{
  "output_path": "~/Documents/blog-post_rendered.html",
  "output_size": "14.8 KB"
}

vaulttools_text_html_to_markdown

Convert an HTML file to Markdown.

Input

path string

Path to the input HTML file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/snippet.html"
}
{
  "output_path": "~/Documents/snippet_converted.md",
  "output_size": "1.2 KB"
}

Realistic Example

{
  "path": "~/Documents/article.html"
}
{
  "output_path": "~/Documents/article_converted.md",
  "output_size": "9.7 KB"
}

vaulttools_text_convert_format

Convert between YAML, JSON, and TOML formats.

Input

from_format string

Source format: "yaml", "json", or "toml".

required
path string

Path to the input file.

required
to_format string

Target format: "yaml", "json", or "toml".

required

Output

from_format string
output_path string
output_size string
output_size_bytes integer
to_format string

Minimal Example

{
  "path": "~/Documents/config.yaml",
  "from_format": "yaml",
  "to_format": "json"
}
{
  "output_path": "~/Documents/config_converted.json",
  "output_size": "2.4 KB",
  "from_format": "yaml",
  "to_format": "json"
}

Realistic Example

{
  "path": "~/Documents/settings.toml",
  "from_format": "toml",
  "to_format": "yaml"
}
{
  "output_path": "~/Documents/settings_converted.yaml",
  "output_size": "3.1 KB",
  "from_format": "toml",
  "to_format": "yaml"
}

vaulttools_text_xml_to_json

Convert an XML file to JSON format.

Input

path string

Path to the input XML file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/data.xml"
}
{
  "output_path": "~/Documents/data_converted.json",
  "output_size": "5.6 KB"
}

Realistic Example

{
  "path": "~/Documents/sitemap.xml"
}
{
  "output_path": "~/Documents/sitemap_converted.json",
  "output_size": "18.2 KB"
}

vaulttools_text_html_entity_encode

Encode a text or HTML file using HTML entities.

Input

path string

Path to the input text or HTML file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/email-template.html"
}
{
  "output_path": "~/Documents/email-template_encoded_entities.html",
  "output_size": "3.8 KB"
}

Realistic Example

{
  "path": "~/Documents/embed-snippet.txt"
}
{
  "output_path": "~/Documents/embed-snippet_encoded_entities.txt",
  "output_size": "812 B"
}

vaulttools_text_html_entity_decode

Decode HTML entities in a text or HTML file.

Input

path string

Path to the input text or HTML file containing HTML entities.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/snippet-encoded.html"
}
{
  "output_path": "~/Documents/snippet-encoded_decoded_entities.html",
  "output_size": "2.9 KB"
}

Realistic Example

{
  "path": "~/Documents/exported-markup.txt"
}
{
  "output_path": "~/Documents/exported-markup_decoded_entities.txt",
  "output_size": "1.4 KB"
}

vaulttools_text_diff

Compare two text files and produce a diff. Returns change statistics.

Input

modified_path string

Path to the modified text file.

required
original_path string

Path to the original text file.

required

Output

added_lines integer
changed_lines integer
identical boolean
output_path string
removed_lines integer

Minimal Example

{
  "original_path": "~/Documents/v1.txt",
  "modified_path": "~/Documents/v2.txt"
}
{
  "output_path": "~/Documents/v1_diff.json",
  "identical": false,
  "added_lines": 12,
  "removed_lines": 3,
  "changed_lines": 5
}

Realistic Example

{
  "original_path": "~/Documents/config-old.yaml",
  "modified_path": "~/Documents/config-new.yaml"
}
{
  "output_path": "~/Documents/config-old_diff.json",
  "identical": false,
  "added_lines": 8,
  "removed_lines": 2,
  "changed_lines": 14
}

vaulttools_text_regex_test

Test a regex pattern against file contents. Returns match count and writes detailed JSON results.

Input

flags stringnull

Regex flags: "g", "i", "m", "s", "u". Combine as needed, e.g. "gim".

optional
path string

Path to the input text file to test against.

required
pattern string

Regular expression pattern.

required

Output

match_count integer
output_path string

Minimal Example

{
  "path": "~/Documents/log.txt",
  "pattern": "ERROR"
}
{
  "output_path": "~/Documents/log_regex_results.json",
  "match_count": 7
}

Realistic Example

{
  "path": "~/Documents/access.log",
  "pattern": "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}",
  "flags": "g"
}
{
  "output_path": "~/Documents/access_regex_results.json",
  "match_count": 342
}

vaulttools_text_regex_replace

Apply a regex replacement to file contents and write the transformed text to disk.

Input

flags stringnull

Regex flags: "g", "i", "m", "s", "u". Combine as needed, e.g. "gim".

optional
path string

Path to the input text file to transform.

required
pattern string

Regular expression pattern.

required
replacement string

Replacement string, including backreferences such as $1.

required

Output

output_path string
output_size string
output_size_bytes integer
replacements integer

Minimal Example

{
  "path": "~/Documents/config.env",
  "pattern": "API_KEY=.*",
  "replacement": "API_KEY=REDACTED"
}
{
  "output_path": "~/Documents/config_replaced.env",
  "output_size": "168 B",
  "replacements": 1
}

Realistic Example

{
  "path": "~/Documents/report.md",
  "pattern": "\\b2025\\b",
  "replacement": "2026",
  "flags": "g"
}
{
  "output_path": "~/Documents/report_replaced.md",
  "output_size": "14.3 KB",
  "replacements": 27
}

vaulttools_text_word_count

Count words, characters, lines in a text file. No output file.

Input

path string

Path to the input text file.

required

Output

characters integer
characters_no_spaces integer
file_size string
file_size_bytes integer
lines integer
paragraphs integer
sentences integer
words integer

Minimal Example

{
  "path": "~/Documents/essay.txt"
}
{
  "characters": 14832,
  "characters_no_spaces": 12456,
  "words": 2481,
  "lines": 186,
  "paragraphs": 24,
  "sentences": 142,
  "file_size": "14.5 KB"
}

Realistic Example

{
  "path": "~/Documents/manuscript.md"
}
{
  "characters": 82416,
  "characters_no_spaces": 68204,
  "words": 13624,
  "lines": 1042,
  "paragraphs": 186,
  "sentences": 824,
  "file_size": "80.5 KB"
}

DEV

vaulttools_dev_hash

Compute hash (SHA1, SHA256, SHA512) of a file. No output file.

Input

algorithm string

Hash algorithm: sha1, sha256, sha512.

required
path string

Path to the file to hash.

required

Output

algorithm string
file_size string
file_size_bytes integer
hash string

Minimal Example

{
  "path": "~/Documents/file.bin",
  "algorithm": "sha256"
}
{
  "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "algorithm": "sha256",
  "file_size": "4.2 MB"
}

Realistic Example

{
  "path": "~/Documents/release.tar.gz",
  "algorithm": "sha512"
}
{
  "hash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
  "algorithm": "sha512",
  "file_size": "28.6 MB"
}

vaulttools_dev_color_convert

Convert colors between hex, RGB, and HSL formats. Inline, no file I/O.

Input

color string

Color value to convert (e.g. "#ff5733", "255,87,51", "11,80%,60%").

required
to_format string

Target format: hex, rgb, hsl.

required

Output

input string
result string
to_format string

Minimal Example

{
  "color": "#ff5733",
  "to_format": "rgb"
}
{
  "input": "#ff5733",
  "to_format": "rgb",
  "result": "255,87,51"
}

Realistic Example

{
  "color": "255,87,51",
  "to_format": "hsl"
}
{
  "input": "255,87,51",
  "to_format": "hsl",
  "result": "11,100%,60%"
}

vaulttools_dev_url_encode

URL-encode the contents of a text file. Supports full or component mode.

Input

mode stringnull

Encoding mode: full or component. Defaults to full.

optional
path string

Path to the input text file.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/query.txt",
  "mode": "full"
}
{
  "output_path": "~/Documents/query_encoded.txt",
  "output_size": "248 B"
}

Realistic Example

{
  "path": "~/Documents/api-params.txt",
  "mode": "component"
}
{
  "output_path": "~/Documents/api-params_encoded.txt",
  "output_size": "1.2 KB"
}

vaulttools_dev_url_decode

URL-decode the contents of a text file. Supports full or component mode.

Input

mode stringnull

Decoding mode: full or component. Defaults to full.

optional
path string

Path to the input text file with URL-encoded content.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/encoded-url.txt",
  "mode": "full"
}
{
  "output_path": "~/Documents/encoded-url_decoded.txt",
  "output_size": "186 B"
}

Realistic Example

{
  "path": "~/Documents/webhook-payload.txt",
  "mode": "component"
}
{
  "output_path": "~/Documents/webhook-payload_decoded.txt",
  "output_size": "824 B"
}

vaulttools_dev_qr_generate

Generate a QR code SVG file from text input.

Input

size integernull

QR code size in pixels (default 256).

optional
text string

Text or URL to encode into a QR code.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "text": "https://example.com"
}
{
  "output_path": "~/Documents/qrcode.svg",
  "output_size": "1.8 KB"
}

Realistic Example

{
  "text": "https://vault-tools.com/image-tools/compress",
  "size": 512
}
{
  "output_path": "~/Documents/qrcode.svg",
  "output_size": "2.4 KB"
}

vaulttools_dev_qr_read

Read and decode a QR code from an image file. No output file.

Input

path string

Path to an image file containing a QR code.

required

Output

codes any[]

Minimal Example

{
  "path": "~/Documents/qrcode.png"
}
{
  "codes": [
    {
      "text": "https://example.com"
    }
  ]
}

Realistic Example

{
  "path": "~/Documents/ticket-qr.jpg"
}
{
  "codes": [
    {
      "text": "EVT-2025-1234-ABCD-5678"
    }
  ]
}

vaulttools_dev_uuid

Generate UUIDs (v4) and write to a file.

Input

count integernull

Number of UUIDs to generate (default 1, max 1000).

optional

Output

count integer
output_path string

Minimal Example

{}
{
  "output_path": "~/Documents/uuids.txt",
  "count": 1
}

Realistic Example

{
  "count": 10
}
{
  "output_path": "~/Documents/uuids.txt",
  "count": 10
}

vaulttools_dev_jwt_decode

Decode a JWT token from a file. Writes decoded header and payload to output.

Input

path string

Path to a text file containing a JWT token.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/token.txt"
}
{
  "output_path": "~/Documents/token_decoded.json",
  "output_size": "482 B"
}

Realistic Example

{
  "path": "~/Documents/auth-token.txt"
}
{
  "output_path": "~/Documents/auth-token_decoded.json",
  "output_size": "1.2 KB"
}

vaulttools_dev_cron_parse

Parse a 5-field cron expression into a human-readable description. Inline, no file I/O.

Input

expression string

Cron expression with 5 fields: minute hour day-of-month month day-of-week.

required

Output

day_of_month string
day_of_week string
description string
expression string
hour string
minute string
month string

Minimal Example

{
  "expression": "*/15 * * * *"
}
{
  "expression": "*/15 * * * *",
  "description": "Every 15 minutes",
  "minute": "*/15",
  "hour": "*",
  "day_of_month": "*",
  "month": "*",
  "day_of_week": "*"
}

Realistic Example

{
  "expression": "0 9 * * 1"
}
{
  "expression": "0 9 * * 1",
  "description": "At minute 0, hour 9, on Monday",
  "minute": "0",
  "hour": "9",
  "day_of_month": "*",
  "month": "*",
  "day_of_week": "1"
}

vaulttools_dev_lorem_generate

Generate lorem ipsum placeholder text. Inline, no file I/O.

Input

count integernull

Number of items to generate. Defaults to 1. Maximum 100.

optional
mode stringnull

Output mode: paragraphs, sentences, or words. Defaults to paragraphs.

optional

Output

text string
word_count integer

Minimal Example

{
  "mode": "sentences",
  "count": 1
}
{
  "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
  "word_count": 8
}

Realistic Example

{
  "mode": "words",
  "count": 12
}
{
  "text": "Lorem lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod",
  "word_count": 12
}

vaulttools_dev_timestamp_to_human

Convert a Unix timestamp to a UTC date/time. Supports auto, seconds, or milliseconds input.

Input

timestamp number

Unix timestamp input.

required
unit stringnull

Input unit: auto, seconds, or milliseconds. Defaults to auto.

optional

Output

day integer
hour integer
human string
iso string
minute integer
month integer
second integer
unit string
year integer

Minimal Example

{
  "timestamp": 1708300800,
  "unit": "auto"
}
{
  "unit": "seconds",
  "year": 2024,
  "month": 2,
  "day": 19,
  "hour": 0,
  "minute": 0,
  "second": 0,
  "iso": "2024-02-19T00:00:00Z",
  "human": "Monday, February 19, 2024 00:00:00 UTC"
}

Realistic Example

{
  "timestamp": 1708300800000,
  "unit": "milliseconds"
}
{
  "unit": "milliseconds",
  "year": 2024,
  "month": 2,
  "day": 19,
  "hour": 0,
  "minute": 0,
  "second": 0,
  "iso": "2024-02-19T00:00:00Z",
  "human": "Monday, February 19, 2024 00:00:00 UTC"
}

vaulttools_dev_timestamp_to_unix

Convert a UTC date/time to a Unix timestamp in seconds or milliseconds.

Input

day integer

UTC day value.

required
hour integernull

UTC hour value. Defaults to 0.

optional
minute integernull

UTC minute value. Defaults to 0.

optional
month integer

UTC month value (1-12).

required
second integernull

UTC second value. Defaults to 0.

optional
unit stringnull

Output unit: seconds or milliseconds. Defaults to seconds.

optional
year integer

UTC year value.

required

Output

timestamp integer
unit string

Minimal Example

{
  "year": 2025,
  "month": 3,
  "day": 2
}
{
  "timestamp": 1740873600,
  "unit": "seconds"
}

Realistic Example

{
  "year": 2025,
  "month": 3,
  "day": 2,
  "hour": 0,
  "minute": 0,
  "second": 0,
  "unit": "milliseconds"
}
{
  "timestamp": 1740873600000,
  "unit": "milliseconds"
}

FILE

vaulttools_file_checksum

Compute MD5, SHA1, SHA256, SHA512 checksums of a file. No output file.

Input

path string

Path to the input file.

required

Output

file_size string
file_size_bytes integer
md5 string
sha1 string
sha256 string
sha512 string

Minimal Example

{
  "path": "~/Documents/installer.dmg"
}
{
  "file_size": "148.2 MB",
  "md5": "d41d8cd98f00b204e9800998ecf8427e",
  "sha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "sha512": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
}

Realistic Example

{
  "path": "~/Downloads/firmware-v2.3.bin"
}
{
  "file_size": "24.8 MB",
  "md5": "7b6b1625bf04531e8a3e8fd1e0e8e126",
  "sha1": "2ef7bde608ce5404e97d5f042f95f89f1c232871",
  "sha256": "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e",
  "sha512": "b7f783baed8297f0db917462184ff4f08e69c2d5e5f79a942600f9725f58ce1f29c18139bf80b06c0fff2bdd34738452ecf40c488c22a7e3d80cdf6f9c1c0d47"
}

vaulttools_file_zip_create

Create a ZIP archive from multiple files.

Input

paths string[]

Paths to the files to include in the ZIP archive.

required

Output

file_count integer
output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "paths": [
    "~/Documents/file1.txt",
    "~/Documents/file2.txt"
  ]
}
{
  "output_path": "~/Documents/file1_archive.zip",
  "output_size": "3.4 KB",
  "file_count": 2
}

Realistic Example

{
  "paths": [
    "~/Documents/project/index.html",
    "~/Documents/project/styles.css",
    "~/Documents/project/script.js",
    "~/Documents/project/logo.png"
  ]
}
{
  "output_path": "~/Documents/project/index_archive.zip",
  "output_size": "42.8 KB",
  "file_count": 4
}

vaulttools_file_zip_list

List entries in a ZIP archive. No output file.

Input

path string

Path to the ZIP archive.

required

Output

entries any[]

Array of ZIP entry metadata.

entry_count integer

Minimal Example

{
  "path": "~/Documents/archive.zip"
}
{
  "entries": "[{\"name\":\"readme.txt\",\"size\":1024,\"compressed_size\":512,\"index\":0},{\"name\":\"data.csv\",\"size\":8192,\"compressed_size\":2048,\"index\":1}]",
  "entry_count": 2
}

Realistic Example

{
  "path": "~/Documents/project-backup.zip"
}
{
  "entries": "[{\"name\":\"src/index.ts\",\"size\":4096,\"compressed_size\":1280,\"index\":0},{\"name\":\"src/utils.ts\",\"size\":2048,\"compressed_size\":768,\"index\":1},{\"name\":\"package.json\",\"size\":512,\"compressed_size\":256,\"index\":2},{\"name\":\"tsconfig.json\",\"size\":384,\"compressed_size\":192,\"index\":3}]",
  "entry_count": 4
}

vaulttools_file_zip_extract

Extract a single entry from a ZIP archive.

Input

entry_index integer

Zero-based index of the entry to extract (use zip_list to find indices).

required
path string

Path to the ZIP archive.

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/archive.zip",
  "entry_index": 0
}
{
  "output_path": "~/Documents/readme.txt",
  "output_size": "1.0 KB"
}

Realistic Example

{
  "path": "~/Documents/project-backup.zip",
  "entry_index": 2
}
{
  "output_path": "~/Documents/package.json",
  "output_size": "512 B"
}

vaulttools_file_tsv_csv

Convert between TSV and CSV formats.

Input

direction string

Conversion direction: "tsv_to_csv" or "csv_to_tsv".

required
path string

Path to the input file (TSV or CSV).

required

Output

output_path string
output_size string
output_size_bytes integer

Minimal Example

{
  "path": "~/Documents/data.tsv",
  "direction": "tsv_to_csv"
}
{
  "output_path": "~/Documents/data_converted.csv",
  "output_size": "14.2 KB"
}

Realistic Example

{
  "path": "~/Documents/export.csv",
  "direction": "csv_to_tsv"
}
{
  "output_path": "~/Documents/export_converted.tsv",
  "output_size": "16.8 KB"
}