Skip to main content
Glama

pdf_to_images

PDF to Images — Rasterize PDF pages to PNG / JPG / WEBP / TIFF (and AVIF, Starter+). Supports page ranges, quality/DPI controls, grayscale/mono color modes, transparent output, custom background color, max-dimension cap, area crop, text watermark, custom filename patterns, contact-sheet/filmstrip tile mode (Starter+), preset profiles (web/print/email/archive), and JSON / MinIO URL response modes. [category: pdf]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dpiNoOut-of-range values clamp silently to 30-600 — never an error. Non-numeric is ignored and stays 150.
cropNoArea crop in PDF points: 'x,y,w,h'
fileYesInput PDF
modeNosheet/filmstrip require Starter+pages
pagesNoPage range e.g. 1-3,5,7-9. Empty = all.
formatNoAliases jpeg/tif accepted; unknown values silently stay png. avif is Starter+ — Free tier gets a 402.png
presetNoOne-click preset bundle. Explicit fields override preset values.
maxWidthNoCap width (shrink-only, preserves aspect)
responseNourls mode requires Starter+ and authenticationzip
sheetGapNoPixel spacing between tiles in sheet/filmstrip modes. Out-of-range clamps silently to 0-200.
colorModeNomono+jpg has no 1-bit JPEG — it silently renders grayscale and sets X-Color-Mode-Adjusted. Unknown values fall back to rgb.rgb
maxHeightNoShrink-only height cap in pixels, aspect preserved. Omit for no cap — an explicit 0 clamps UP to 100 and shrinks every page.
avifQualityNoAVIF quality (Starter+)
jpegQualityNoConsulted only when format=jpg. Out-of-range clamps silently to 50-95 — this is not a 0-100 scale.
namePatternNoFilename template with {basename}/{page}/{page:03d}/{dpi}/{format}/{date} tokens
transparentNoPNG alpha channel when true
webpQualityNoConsulted only when format=webp. Out-of-range clamps silently to 50-95 — this is not a 0-100 scale.
sheetColumnsNomode=sheet only — filmstrip is always one row. Out-of-range clamps silently to 1-10.
watermarkFontNoOutside the enum it silently becomes Helvetica. Does nothing unless watermarkText is set.Helvetica
watermarkTextNoOptional text watermark stamped on each image
watermarkTileNoACCEPTED BUT UNUSED in this tool — no tiling on rasterized pages; the stamp renders once at watermarkPosition.
watermarkColorNoHex color, #rgb or #rrggbb.#808080
watermarkScaleNoACCEPTED BUT UNUSED in this tool — the raster stamp sizes by watermarkFontSize only; set that instead.
backgroundColorNoBackground for transparent PDFs rendered to non-alpha formats#FFFFFF
sheetBackgroundNoCanvas color behind tiles, sheet/filmstrip modes only. #rgb or #rrggbb; invalid hex silently keeps #FFFFFF.#FFFFFF
tiffCompressionNoTIFF compression (format=tiff only).lzw
watermarkOpacityNo0 invisible to 1 solid; out-of-range clamps. NOT a percent — 50 renders fully opaque. Needs watermarkText.
watermarkFontSizeNoPoints against the bitmap's 72dpi density — at dpi=300 text is ~4x smaller on the page than in a PDF. Needs watermarkText.
watermarkPositionNoUnknown codes silently become c (center). Does nothing unless watermarkText is set.c
watermarkRotationNoInteger degrees only — a decimal like '45.5' silently resets to 45. Needs watermarkText.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (non-read-only, non-destructive, open-world false), so the description carries most of the burden and delivers richly. It surfaces silent clamping behavior for several fields, tier-gated 402 behavior for AVIF/urls mode, accepted-but-unused watermark parameters, non-1-bit-JPEG fallback behavior, and special default interactions (e.g., dpi=150). This goes well beyond what annotations or schema types convey and materially prevents incorrect agent expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is effectively one long sentence with a very long serial list of features. It front-loads the core purpose well, but the tail becomes dense and list-like, making the description harder to parse quickly. Every clause carries information, yet the structure does little to group related concepts beyond the '[category: pdf]' tag. It is not bloated or redundant, but it is at the edge of what counts as concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 30-parameter tool with no output schema, the description covers the main capability areas, tier constraints, output formats, and response modes, and the schema covers every parameter with detailed behavioral notes. The description plus schema fully equips an agent to invoke this tool, including knowing which parameters are gated by tier. The only mild gap is the lack of a mention of the return format—whether the output is a download link, base64 payload, or something else—but the response-mode parameter (zip/json/urls) largely addresses that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful cross-parameter context not present in the schema: it tells the agent that preset profiles bundle multiple settings and that explicit fields override presets, and it highlights mode/sheet/filmstrip relationships. It also mentions response modes and filename patterns at a higher level, reinforcing usage intent. It does not restate every parameter, which is appropriate because the schema already documents them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair ('Rasterize PDF pages to PNG / JPG / WEBP / TIFF') and uses a title-like lead-in that names the tool's domain. It enumerates a large set of feature areas (page ranges, DPI, color modes, tile mode, presets, response modes), which makes the tool's exact scope clear and distinguishes it from nearby PDF-related siblings like pdf_thumbnails, pdf_extract_pages, or convert_* tools. The '[category: pdf]' tag reinforces grouping without substituting for meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the primary use case obvious (rasterize PDF pages into image formats) and includes enough feature detail to signal when it applies, but it does not explicitly say 'use X instead for Y' or state when not to use it. With roughly 130 siblings, the absence of named alternatives is a gap, but the detailed feature list still gives an agent solid contextual guidance. Tier-limited options (Starter+) are called out, which helps with routing when plan constraints matter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation2/5

Multiple tool pairs are near-identical: octopus_mkdir/octopus_make_folder and octopus_move/octopus_move_file are literal duplicates, analyze_hash/generate_hash both compute hashes, convert_word_to_pdf overlaps convert_document, and photo_compress/photo_compress_to_size plus pdf_thumbnails/pdf_to_images have fuzzy boundaries. The descriptions are detailed and cross-reference each other helpfully, but at 144 tools an agent will regularly misselect.

Naming Consistency3/5

The dominant {category}_{verb}_{object} snake_case pattern (pdf_*, photo_*, convert_*, analyze_*, media_*) is largely consistent and predictable. However, outliers like chatwithyourpdf and describe_image break the category-prefix convention, and the octopus namespace mixes bare verbs (read, write, mkdir) with verb_noun forms (make_folder, move_file, search_meta) inconsistently.

Tool Count2/5

144 tools is an extreme count for any MCP server. The broad scope (PDF, photo, video, audio, conversion, analysis, generation, file storage, web, e-sign) justifies some volume, but the count is inflated by batch and inspect variants (pdf_to_excel + batch + inspect), duplicate tools, and overlapping converters. An agent faces an overwhelming selection surface.

Completeness4/5

Per-domain coverage is remarkably deep: PDF spans merge/split/compress/protect/unlock/metadata/OCR/watermark and bidirectional conversion; photo covers editing, format conversion, face handling, OCR, and collage; file storage has full CRUD plus search. Minor gaps exist (no audio transcription, no video metadata editing, no deletion of PDF pages is actually covered via pdf_delete_pages) but the surface has no dead ends for its declared domains.

Resources