Skip to main content
Glama
formatika-app

Formatika MCP

Official

pdf_compress

Reduce PDF size by re-encoding embedded images. If the compressed file isn't smaller, the original is returned unchanged.

Instructions

Compress PDF. Make a PDF lighter by re-encoding the images inside it. If the result is not meaningfully smaller, you get the original back — untouched. Accepts application/pdf, .pdf; up to 100 MB per file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathsYesPaths to the files to process, absolute or relative to the working directory.
presetNoHow hard to squeeze. «For screen» is the lightest, «for print» keeps the most detailebook
grayscaleNoConvert to greyscale. Helps a lot with scans and hurts nothing if there was no colour
outputDirNoWhere to put the results. Defaults to the folder each source file came from. Existing files are never overwritten.
Behavior4/5

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

With no annotations, the description carries the disclosure burden and does well: it reveals the compression method (re-encoding images), the fallback behavior ('If the result is not meaningfully smaller, you get the original back — untouched'), and a hard input limit ('up to 100 MB per file'). It does not mention output naming or permissions, but the added behavioral detail is substantial beyond a simple 'compress' statement.

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

Conciseness5/5

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

Only two sentences, front-loaded with the action. Each clause adds useful information (method, fallback, input constraints) without redundancy or fluff. Excellent conciseness.

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

Completeness4/5

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

For a 4-parameter tool with full schema coverage and no output schema, the description covers the core purpose, processing approach, fallback output, and size limits. The schema already details preset, grayscale, and outputDir. Minor gaps like explicit output file naming do not significantly detract from completeness.

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 coverage is 100%, so baseline is 3. The description adds valuable constraints for the paths parameter by stating accepted MIME/extension (application/pdf, .pdf) and maximum file size (100 MB), which are not present in the schema. This extra clarification justifies a higher score.

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 'Compress PDF', a specific verb+resource pair, and explains the mechanism ('re-encoding the images inside it'). This clearly distinguishes it from sibling PDF tools like pdf_merge and pdf_split, as well as image_compress/video_compress which target different resource types.

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 intended use is clear: compress a PDF to make it lighter. It also implies suitability for image-heavy PDFs via 're-encoding the images inside it'. However, it does not explicitly name alternatives or exclusions, so context is present but not exhaustive.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/formatika-app/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server