Skip to main content
Glama

FreeDailyPro PDF Tools

Server Details

13 stateless PDF tools for AI agents: merge, split, rotate, compress, watermark, redact, flatten, repair, add page numbers and fill PDF forms. Nothing is stored.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.2/5.0

Scored across 13 tools

Disambiguation4/5

Most tools target clearly distinct operations (merge, split, compress, watermark, redact, repair). However, pdf_rotate overlaps with pdf_organize (which explicitly includes rotate), and pdf_flatten overlaps with pdf_fill_form's optional flatten parameter, giving two areas where an agent could plausibly misselect.

Naming Consistency5/5

Every tool follows the identical pdf_<verb_noun> snake_case pattern (pdf_add_page_numbers, pdf_extract_pages, pdf_fill_form, etc.). No camelCase or bare-verb deviations anywhere in the set.

Tool Count5/5

13 tools sits comfortably in the well-scoped 3-15 range. Each tool maps to a concrete, non-redundant PDF operation, with no filler entries.

Completeness4/5

Strong lifecycle coverage: merge, split, extract, organize, rotate, compress, repair, watermark, page numbering, plus a full form workflow (parse, fill, flatten) and redaction. Notable gaps remain around security (password/encrypt-decrypt), format conversion (PDF to/from images or Office), and metadata editing.

Available Tools

13 tools
pdf_add_page_numbersC
Read-onlyIdempotent
Inspect

Add page numbers to a PDF client and server side from freedailypro

NameRequiredDescriptionDefault
formatNo
prefixNo
startAtNo
fontSizeNo
positionYes
pageRangeNoComma-separated pages/ranges to number, e.g. '1,3-5' -- if omitted, numbers every page
fileBase64Yes
skipFirstPageNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered structurally (the readOnly hint is arguably odd for a stamping operation, but since it transforms the supplied base64 and touches no external state it is defensible rather than contradictory). The description adds nothing behavioral beyond that — no statement that the result is a new PDF returned as base64, no note that the source file is untouched. "client and server side from freedailypro" contributes no operational context.

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?

It is a single short sentence with the action front-loaded, which is efficient. However, the trailing "client and server side from freedailypro" earns no place and consumes attention in an otherwise tight definition.

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

Completeness2/5

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

With no output schema and 8 parameters, the description should at minimum state what comes back (a modified PDF as base64) and confirm the input file is not mutated. It says neither, leaving the agent to guess at the contract for a non-trivial multi-parameter tool.

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

Parameters2/5

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

Schema description coverage is only 13% — just pageRange is documented inline — across 8 parameters, so the description carries a heavy burden and supplies nothing. Names like fontSize, startAt, skipFirstPage and the position/format enums are largely self-explanatory, which keeps this above a 1, but the agent gets no guidance on prefix usage with format=prefixed or how pageRange interacts with startAt.

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

Purpose3/5

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

The core phrase "Add page numbers to a PDF" is a specific verb+resource an agent can act on. But the appended clause "client and server side from freedailypro" is vendor noise that neither clarifies scope nor distinguishes this from siblings like pdf_watermark or pdf_rotate. Purpose is recognizable but muddied.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as pdf_watermark (also a stamping tool) or pdf_organize. The agent must infer that this is the stamping tool from the name alone.

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

pdf_compressB
Read-onlyIdempotent
Inspect

Light, lossless PDF compression client and server side from freedailypro -- restructures the file without touching content, no guaranteed size reduction

NameRequiredDescriptionDefault
fileBase64Yes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare the safe, idempotent, non-destructive profile, and the description usefully adds that compression is lossless, that the file is restructured without touching content, and that size reduction is not guaranteed. That last point is a genuinely valuable behavioral disclosure an agent would not get from the annotations.

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

Conciseness4/5

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

A single front-loaded sentence with no padding beyond the vendor tag. The most decision-relevant fact (lossless, no guaranteed reduction) is present, though the 'freedailypro' branding is dead weight.

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

Completeness3/5

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

For a one-parameter tool with annotations covering the safety profile, the description is roughly adequate, but with no output schema and 0% param coverage it leaves the input encoding and return shape entirely implicit.

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

Parameters2/5

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

Schema description coverage is 0% and the description says nothing about the single parameter. The name 'fileBase64' hints at the expected input, but the description does not clarify that the input must be base64-encoded, nor what format the compressed result takes.

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

Purpose4/5

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

States a specific verb+resource (compress a PDF) and distinguishes itself from the other pdf_* siblings, which all perform different operations. The vendor boilerplate ('client and server side from freedailypro') adds noise but does not obscure the core action.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives (e.g., pdf_flatten or pdf_repair) that an agent might weigh against it. The only caveat, 'no guaranteed size reduction,' describes a limitation rather than usage context.

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

pdf_extract_pagesC
Read-onlyIdempotent
Inspect

Extract specific pages from a PDF into a new PDF client and server side from freedailypro

NameRequiredDescriptionDefault
pagesYesComma-separated pages/ranges, e.g. '1,3-5,8'
fileBase64Yes

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint, so the safety profile is clear. The description adds that output is a new PDF, but does not explain auth requirements, rate limits, or processing details beyond an ambiguous vendor phrase.

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 a single sentence and front-loads the core action. However, the trailing phrase 'client and server side from freedailypro' is unclear and detracts from an otherwise concise statement.

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

Completeness3/5

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

For a simple two-parameter PDF transformation tool, the description covers the core action but omits output format details and leaves fileBase64 undocumented. Annotations cover safety, so the remaining gaps are moderate rather than severe.

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

Parameters2/5

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

Schema description coverage is only 50%, and the required fileBase64 parameter has no description either in the schema or the tool description. The pages parameter is well documented in the schema, but the description does not compensate for the undocumented file input.

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

Purpose4/5

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

The description gives a clear verb and resource: extract specific pages from a PDF into a new PDF. This distinguishes it from simple splitting tools, though it does not explicitly contrast itself with siblings like pdf_split.

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

Usage Guidelines2/5

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

It states what the tool does but gives no guidance on when to use it versus alternatives such as pdf_split, pdf_organize, or pdf_merge. The inclusion of 'client and server side from freedailypro' adds confusion rather than usable context.

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

pdf_fill_formB
Read-onlyIdempotent
Inspect

Fill a PDF form's fields client and server side from freedailypro — sets text/checkbox/dropdown/radio field values and returns the filled PDF, optionally flattened so it can no longer be edited

NameRequiredDescriptionDefault
valuesNoField name -> text value, for text/dropdown/radio fields
checkedNoField name -> checked state, for checkbox fields
flattenNoIf true, bakes the values in and removes the ability to edit them further
fileBase64YesThe PDF file, base64-encoded

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds real context the annotations do not: a filled PDF is returned rather than the source being edited, and flatten irreversibly bakes values in so the output can no longer be edited. No contradiction with readOnlyHint, since the original file is untouched and only a new document is produced.

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

Conciseness4/5

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

A single front-loaded sentence that leads with the verb and packs the useful details (field types, returned PDF, flatten effect) with no repetition. The qualifying phrase "client and server side from freedailypro" is unclear branding filler that does not help an agent decide or invoke.

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

Completeness3/5

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

For a 4-parameter, nested-object tool with no output schema, the description states what is returned (a filled PDF) but not in what form (e.g. base64, matching the input encoding), and omits the field-discovery prerequisite. Annotations carry the safety information, so the remaining gaps are moderate but real.

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

Parameters3/5

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

Schema description coverage is 100%, so values, checked, flatten and fileBase64 are all documented in the schema itself; the description largely restates them (mapping text/dropdown/radio to values and checkboxes to checked). It adds no syntax, encoding, or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description gives a specific verb and resource ("Fill a PDF form's fields") and enumerates exactly which field kinds are supported (text/checkbox/dropdown/radio), plus the return artifact. It does not distinguish itself from the close sibling pdf_parse_fillable_form, which an agent must use first to learn field names, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use/when-not statement, no prerequisite guidance (you must already know the field names, presumably via pdf_parse_fillable_form), and no criterion for when to set flatten versus leaving the form editable. Usage is only inferable from the name and verb.

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

pdf_flattenC
Read-onlyIdempotent
Inspect

Permanently flatten a PDF's fillable form fields client and server side from freedailypro

NameRequiredDescriptionDefault
fileBase64Yes

TDQS

C2.8/5.0
Behavior3/5

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

The word 'Permanently' adds genuine behavioral information about irreversibility of the form-field removal, which is useful context beyond the annotations. However, this sits in tension with destructiveHint=false and readOnlyHint=true; an agent could reasonably read 'permanently' as an irreversible mutation. No output format, size limits, or processing notes are given.

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?

One sentence, but roughly a third of it ('client and server side from freedailypro') is marketing filler that adds no decision-relevant information. The useful scope statement is front-loaded, which helps.

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

Completeness2/5

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

No output schema and no description of what is returned (flattened PDF bytes? base64? a URL?). For a transform tool with an undocumented input parameter, the definition leaves the agent guessing about both input encoding and output shape.

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

Parameters2/5

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

One parameter (fileBase64) with 0% schema description coverage, and the description says nothing about it. The name implies base64-encoded PDF input, but format, encoding expectations, and size constraints are undocumented in both schema and description.

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

Purpose4/5

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

States a specific verb+resource: flatten a PDF's fillable form fields. That distinguishes it from siblings like pdf_fill_form and pdf_parse_fillable_form. The trailing phrase 'client and server side from freedailypro' is confusing branding noise that dilutes rather than sharpens the purpose.

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

Usage Guidelines2/5

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

No guidance on when to choose this over pdf_fill_form, pdf_parse_fillable_form, or pdf_redact. The agent must infer that this is the post-fill 'lock the form' step from the word 'flatten' alone.

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

pdf_mergeC
Read-onlyIdempotent
Inspect

Merge multiple PDFs into one client and server side from freedailypro

NameRequiredDescriptionDefault
filesBase64YesThe PDF files, base64-encoded, in the order they should be merged

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: no mention of size limits, whether the merge order matters, how the server-side/client-side distinction affects behavior, or what is returned.

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?

One short sentence is appropriately sized and front-loads the action, but the second half is cryptic filler ('client and server side from freedailypro') that does not earn its place.

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

Completeness2/5

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

There is no output schema, so the description should explain what comes back (base64 string? URL? file handle?) for a merge operation that produces a new artifact. It also omits constraints on input count or size, leaving the agent unable to predict the result of the call.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is fully documented in the schema, including the ordering constraint ('in the order they should be merged'). Per the high-coverage baseline this is a 3; the description adds no syntax, format, or size guidance beyond it.

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

Purpose3/5

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

The core verb+resource is clear ('Merge multiple PDFs into one'), which distinguishes it from siblings like pdf_split and pdf_organize. However, the trailing clause 'client and server side from freedailypro' is unexplained branding noise that adds no selection signal and slightly muddies an otherwise clean statement.

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

Usage Guidelines2/5

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

No when-to-use guidance and no differentiation from the many adjacent PDF tools (pdf_split, pdf_organize, pdf_extract_pages). The agent must infer from the name alone whether this is the right tool for combining documents versus reorganizing a single one.

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

pdf_organizeC
Read-onlyIdempotent
Inspect

Reorder, duplicate, rotate, or insert blank pages in a PDF client and server side from freedailypro

NameRequiredDescriptionDefault
pageSpecsYesOrdered list describing the output PDF's pages -- 'source' with a 0-based index (and optional rotation) to reuse a page from the input, or 'blank' to insert a blank page
fileBase64Yes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering the safety profile. The description restates operations and adds the opaque phrase 'client and server side from freedailypro', but does not clarify whether it returns a new PDF or preserves the original, nor any constraints.

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

Conciseness4/5

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

It is a single front-loaded sentence listing the key actions efficiently. The trailing phrase 'client and server side from freedailypro' is unclear and does not earn its place.

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

Completeness2/5

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

No output schema exists, yet the description does not explain the return value or input encoding. With a required fileBase64 parameter and no output details, an agent is left with key gaps for correct invocation.

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

Parameters2/5

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

Schema coverage is 50%: pageSpecs is well documented in the schema, but fileBase64 is not described in the schema or the description. The description does not compensate for that gap or add pageSpecs meaning beyond the schema.

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

Purpose4/5

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

States specific verbs and resource: reorder, duplicate, rotate, or insert blank pages in a PDF. The agent can tell what the tool does, though it is not differentiated from siblings such as pdf_rotate or pdf_extract_pages.

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

Usage Guidelines2/5

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

The operation list implies use cases, but there is no when-to-use or when-not guidance and no mention of alternatives like pdf_rotate or pdf_extract_pages. An agent must infer selection criteria from the name alone.

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

pdf_parse_fillable_formA
Read-onlyIdempotent
Inspect

Parse a PDF's fillable form fields client and server side from freedailypro — lists every fillable field's name and type (text, checkbox, dropdown, radio) so you know what to fill

NameRequiredDescriptionDefault
fileBase64YesThe PDF file, base64-encoded

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful detail of what gets returned (each field's name and type), but the phrase 'client and server side from freedailypro' is vague and unexplained.

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

Conciseness4/5

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

A single front-loaded sentence that delivers the purpose and return contents efficiently. The 'client and server side from freedailypro' fragment is mild filler that does not earn its place.

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 one-parameter read-only tool whose annotations already carry the safety profile, the description covers purpose and return contents well even without an output schema. Only the missing explicit link to pdf_fill_form keeps it from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single parameter (fileBase64) already documented as 'The PDF file, base64-encoded'. The description adds no format, size, or encoding guidance beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (parse) and resource (PDF fillable form fields) and even enumerates the return contents (field name and type: text, checkbox, dropdown, radio). It is clearly distinct from the pdf_fill_form sibling, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

The trailing clause 'so you know what to fill' implies the read-before-write workflow with pdf_fill_form, but there is no explicit when-to-use or when-not-to-use statement and no alternative is named. Usage is only inferred.

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

pdf_redactC
Read-onlyIdempotent
Inspect

Permanently redact areas of a PDF client and server side from freedailypro — genuinely removes marked areas (not just paints over them) by rasterizing affected pages, so no underlying text/vector data survives

NameRequiredDescriptionDefault
boxesYesPage index (as a string key, 0-based) -> array of boxes to redact, each in fractional page coordinates (0-1)
fileBase64YesThe PDF file, base64-encoded

TDQS

C2.8/5.0
Behavior1/5

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

The description discloses important behavior: permanent removal, rasterization, and no surviving text/vector data. However, this directly conflicts with annotations declaring readOnlyHint=true and destructiveHint=false, which is an annotation contradiction under the scoring rules.

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

Conciseness4/5

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

It is a single front-loaded sentence with little wasted text. The phrase “client and server side from freedailypro” is somewhat opaque and prevents a full 5.

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

Completeness3/5

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

The description covers the core destructive behavior and rasterization mechanism, which is useful for this tool. But with no output schema, it does not state what is returned or whether the original PDF is modified, leaving a meaningful gap.

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

Parameters3/5

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

Schema coverage is 100%, and the schema fully documents fileBase64 and the nested boxes coordinate structure. The description only refers to “areas” and “marked areas,” adding little parameter semantics beyond the schema.

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

Purpose4/5

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

States a specific operation and resource: permanently redacting areas of a PDF, with the mechanism of rasterizing affected pages. It clearly distinguishes genuine removal from merely painting over, but it does not differentiate itself from sibling PDF tools such as pdf_flatten or pdf_watermark.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no routing among the many PDF siblings. Usage is only implied by the tool name and redaction description.

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

pdf_repairC
Read-onlyIdempotent
Inspect

Attempt to recover a damaged or corrupted PDF client and server side from freedailypro

NameRequiredDescriptionDefault
fileBase64Yes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds nothing beyond that: it does not say what happens when recovery fails, whether an unrepaired copy is returned, or what 'client and server side' means operationally. The hedged word 'Attempt' is the only hint that success is not guaranteed.

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?

It is a single short sentence with the verb and resource front-loaded, which is good. But 'client and server side from freedailypro' is filler that consumes a third of the text without informing tool selection, so not every clause earns its place.

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

Completeness3/5

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

For a one-parameter tool with full annotation coverage and no output schema, the definition is minimally viable. Still missing: what the tool returns (repaired PDF bytes, a status, both?), whether the original is preserved, and any failure mode. An agent can invoke it but cannot predict the result.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, so the description carries the full burden and fails to meet it. It never states that fileBase64 must be a base64-encoded PDF string, what size limits apply, or how to format the payload. The parameter name helps somewhat, but nothing compensates for the missing schema documentation.

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

Purpose4/5

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

The opening clause states a specific verb and resource: recover a damaged or corrupted PDF. An agent can identify the operation and distinguish it from pdf_compress/pdf_merge etc. that assume intact inputs. However, the trailing fragment 'client and server side from freedailypro' muddies the scope rather than sharpening it, and no sibling is named.

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

Usage Guidelines2/5

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

The only usage signal is the implied precondition that the file is damaged or corrupted. There is no guidance on when repair is appropriate versus re-uploading, no mention of failure cases, and no pointer to any sibling tool for intact PDFs. The agent must infer the trigger condition entirely.

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

pdf_rotateB
Read-onlyIdempotent
Inspect

Rotate PDF pages client and server side from freedailypro — 90-degree steps only (0, 90, 180, 270)

NameRequiredDescriptionDefault
rotationsYes1-indexed page number (as a string key) -> rotation in degrees, must each be a multiple of 90
fileBase64Yes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered and the description's 'client and server side' phrase adds little behavioral substance. It does contribute the operation constraint (only multiples of 90, values 0-270), but does not say whether rotations are cumulative, what happens to unlisted pages, or what the tool returns. With annotations carrying the safety profile, a 3 is appropriate.

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

Conciseness4/5

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

A single front-loaded sentence with the core action first and the constraint trailing; no filler. The 'from freedailypro' brand mention is the only non-earning fragment.

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

Completeness3/5

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

For a two-parameter transform tool with a nested object and no output schema, the description covers the operation and its constraint but omits the return shape (rotated file? base64?) and fileBase64 input expectations. Adequate but with clear gaps for an agent that must chain this into a pipeline.

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

Parameters3/5

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

Schema description coverage is only 50% — 'rotations' is documented but 'fileBase64' is not. The description adds real value by enumerating the allowed values (0, 90, 180, 270), which the schema does not list (it only says 'multiple of 90'). However, it adds nothing about how fileBase64 must be supplied (encoding, size limits) or the 1-indexed keying convention, so it only partially compensates for the coverage gap.

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

Purpose4/5

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

States a specific verb+resource ('Rotate PDF pages') and adds a scope constraint ('90-degree steps only (0, 90, 180, 270)') that tells the agent exactly what kind of rotation is supported. It is distinguishable from siblings like pdf_organize or pdf_extract_pages, though it never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

The only usage constraint given is the 90-degree-step limitation; there is no statement of when to reach for this tool versus pdf_organize, pdf_extract_pages, or other PDF siblings, and no prerequisites or exclusions. The agent is left to infer usage context entirely.

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

pdf_splitB
Read-onlyIdempotent
Inspect

Split a PDF into multiple files by page range client and server side from freedailypro, or combine specific ranges into one reordered file

NameRequiredDescriptionDefault
rangesYesSemicolon-separated groups, each a comma-separated list of pages/ranges, e.g. '1-3,5;7-9' for two output files
fileBase64Yes
combineIntoOneNoIf true, combines all specified ranges into a single reordered PDF instead of one file per group

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description usefully adds the dual-mode behavior (one file per range vs. a single reordered file), but omits how the resulting multiple files are returned and whether page order is preserved.

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?

A single sentence that packs both modes in, but the phrase 'client and server side from freedailypro' is ambiguous marketing noise that dilutes an otherwise front-loaded statement.

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

Completeness3/5

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

For a 3-parameter mutation-style tool with no output schema, the definition covers the two modes but leaves gaps: how output files are delivered, the undocumented fileBase64 parameter, and no routing guidance against several same-family PDF tools.

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

Parameters3/5

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

Schema coverage is 67% – ranges and combineIntoOne are documented in the schema itself, while fileBase64 (base64 content input) is undocumented anywhere. The description's mention of 'page range' and the combine mode largely restates what the schema already conveys, so it adds little beyond the baseline.

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

Purpose4/5

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

States a specific verb and resource ('Split a PDF into multiple files by page range') and adds a second mode ('combine specific ranges into one reordered file'). However, it does not distinguish itself from close siblings like pdf_extract_pages, pdf_organize, or pdf_merge, so an agent must still guess which PDF tool applies.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is given. With siblings such as pdf_extract_pages, pdf_organize, and pdf_merge present, the agent has no explicit cue for choosing pdf_split over them.

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

pdf_watermarkC
Read-onlyIdempotent
Inspect

Add a text watermark to a PDF client and server side from freedailypro

NameRequiredDescriptionDefault
textYes
opacityNo
fontSizeNo
positionNo
fileBase64Yes
rotationDegreesNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and idempotentHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say what the tool returns (a modified PDF as base64?), whether repeated calls stack watermarks, or anything about 'client and server side' processing. The phrase 'client and server side' hints at execution location but is too vague to be useful.

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?

It is a single short sentence with the verb and resource front-loaded, which is good. However, the clause 'client and server side from freedailypro' is unearned filler that would be better replaced by parameter or output information.

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

Completeness2/5

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

For a 6-parameter tool with no output schema and 0% schema coverage, the description is far too thin. An agent cannot determine required inputs beyond guessing, determine what it gets back, or know how the position enum behaves. Annotations cover safety only, leaving real gaps.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters, so the description carries the full burden and mostly fails: only the 'text' parameter's meaning is implied by 'a text watermark'. Nothing is said about position (which has 6 enum values including 'tiled'), opacity, fontSize, or rotationDegrees.

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

Purpose4/5

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

States a specific verb and resource ('Add a text watermark to a PDF'), which is enough to distinguish it from the other pdf_* siblings that merge, split, rotate or compress. The trailing phrase 'client and server side from freedailypro' is vendor boilerplate that adds no scoping information, keeping it short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as pdf_add_page_numbers or pdf_flatten, nor any stated prerequisites. The agent must infer usage purely from the tool name.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updates
    • First observedpdf_add_page_numbers
    • First observedpdf_compress
    • First observedpdf_extract_pages
    • First observedpdf_fill_form
    • First observedpdf_flatten
    • First observedpdf_merge
    • First observedpdf_organize
    • First observedpdf_parse_fillable_form
    • First observedpdf_redact
    • First observedpdf_repair
    • First observedpdf_rotate
    • First observedpdf_split
    • First observedpdf_watermark

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources