Skip to main content
Glama
adamdavis99

ilovepdf-mcp

by adamdavis99

iLovePDF MCP Server

An MCP (Model Context Protocol) server that exposes iLovePDF API operations as tools for LLM clients like Claude. Process PDFs directly from your AI conversations - merge, split, compress, convert, and more.

Features

  • 22 PDF tools covering all major PDF operations

  • Supports both local files and URLs as input

  • Customizable output with user-specified directories and filenames

  • Operation chaining for complex workflows

  • Full TypeScript support with type definitions

Related MCP server: PDF2MD MCP Server

Available Tools

Core Operations

Tool

Description

merge-pdfs

Merge multiple PDF files into one

split-pdf

Split PDF by page ranges, fixed intervals, or remove pages

compress-pdf

Reduce PDF file size (low/recommended/extreme)

rotate-pdf

Rotate pages by 90, 180, or 270 degrees

protect-pdf

Add password protection

unlock-pdf

Remove password protection

repair-pdf

Repair damaged PDFs

Conversion Operations

Tool

Description

pdf-to-jpg

Convert PDF pages to JPG images

images-to-pdf

Convert images to PDF

html-to-pdf

Convert webpages to PDF

office-to-pdf

Convert Word, Excel, PowerPoint to PDF

convert-to-pdfa

Convert to PDF/A archive format

validate-pdfa

Validate PDF/A compliance

Enhancement Operations

Tool

Description

add-watermark

Add text or image watermarks

add-page-numbers

Add page numbers with custom formatting

extract-text

Extract text content from PDF

ocr-pdf

OCR scanned PDFs (100+ languages)

edit-pdf

Add text or images to specific positions

Signature Operations

Tool

Description

sign-pdf

Create digital signature requests

get-signature-status

Check signature request status

void-signature

Cancel pending signature requests

Utility Operations

Tool

Description

chain-operations

Chain multiple operations together

list-tasks

List recent API tasks

get-remaining-files

Check API quota

Installation

Prerequisites

Install from npm

npm install -g ilovepdf-mcp

Install from source

git clone https://github.com/yourusername/ilovepdf-mcp.git
cd ilovepdf-mcp
npm install
npm run build

Configuration

Environment Variables

Create a .env file in your project root:

ILOVEPDF_PUBLIC_KEY=your_public_key_here
ILOVEPDF_SECRET_KEY=your_secret_key_here
DEFAULT_OUTPUT_DIR=./output

Or set environment variables directly in your shell.

Claude Desktop Integration

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Option 1: Using .env file (recommended)

If you've set up your .env file with API keys, you only need:

{
  "mcpServers": {
    "ilovepdf": {
      "command": "node",
      "args": ["/path/to/ilovepdf-mcp/dist/index.js"]
    }
  }
}

Option 2: Keys in config only

If you prefer not to use a .env file:

{
  "mcpServers": {
    "ilovepdf": {
      "command": "node",
      "args": ["/path/to/ilovepdf-mcp/dist/index.js"],
      "env": {
        "ILOVEPDF_PUBLIC_KEY": "your_public_key",
        "ILOVEPDF_SECRET_KEY": "your_secret_key",
        "DEFAULT_OUTPUT_DIR": "/path/to/output"
      }
    }
  }
}

If installed globally via npm:

{
  "mcpServers": {
    "ilovepdf": {
      "command": "ilovepdf-mcp"
    }
  }
}

Usage Examples

Once configured, you can use natural language in Claude to process PDFs:

Merge PDFs

"Merge these three PDF files: report1.pdf, report2.pdf, and appendix.pdf"

Compress PDF

"Compress my large-document.pdf using extreme compression"

Convert to Images

"Convert this PDF to JPG images at 300 DPI"

Add Watermark

"Add a 'CONFIDENTIAL' watermark to all pages of contract.pdf"

Chain Operations

"Compress then merge these PDFs: file1.pdf, file2.pdf, file3.pdf"

OCR

"Make this scanned PDF searchable using English and Spanish OCR"

Development

# Install dependencies
npm install

# Build
npm run build

# Run in development mode
npm run dev

# Clean build artifacts
npm run clean

API Reference

Common Parameters

Most tools accept these common parameters:

Parameter

Type

Description

file / files

string / string[]

Input file path(s) or URL(s)

outputDir

string?

Output directory (default: ./output)

outputFilename

string?

Custom output filename

Response Format

All tools return a consistent JSON response:

{
  "success": true,
  "message": "Operation completed successfully",
  "outputPath": "/path/to/output.pdf",
  "details": {
    "originalSize": "5.2 MB",
    "outputSize": "1.3 MB"
  }
}

On error:

{
  "success": false,
  "error": "Error message describing what went wrong"
}

Troubleshooting

"Missing iLovePDF API credentials"

Ensure ILOVEPDF_PUBLIC_KEY and ILOVEPDF_SECRET_KEY are set in your environment or .env file.

"File not found"

  • Check the file path is correct and accessible

  • For URLs, ensure they are publicly accessible

"API quota exceeded"

Use get-remaining-files to check your quota. Upgrade your iLovePDF plan if needed.

License

MIT

Credits

Available Tools

24 tools
add-page-numbersB

Add page numbers to a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to add page numbers to
textNoPage number format (use {n} for page number, {p} for total pages){n}
pagesNoPage selection (e.g., "1-3,5,7-10" or "all")
fontSizeNoFont size in points
fontColorNoFont color in hex format (e.g., #FF0000)#000000
fontStyleNoFont style
outputDirNoOutput directory path
firstCoverNoSkip numbering on first page (cover)
fontFamilyNoFont familyArial
facingPagesNoEnable facing pages mode
outputFilenameNoCustom output filename
startingNumberNoStarting page number
verticalPositionNoVertical positionbottom
horizontalPositionNoHorizontal positioncenter

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states the action without disclosing behavioral traits such as whether it modifies the original file, creates a new output, or how it handles errors or output locations.

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, which is front-loaded and free of fluff. However, given the tool's complexity (14 parameters), it is under-specified and does not provide enough context to be appropriately sized.

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?

Despite having rich schema documentation, the description lacks essential context about the tool's behavior, output, and use cases. With no output schema and 14 parameters, the one-line description is inadequate for full understanding.

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 the schema fully documents all 14 parameters. The description adds no extra meaning beyond the schema, which is the baseline 3 per rubric when coverage is high.

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 clearly states the tool's function: 'Add page numbers to a PDF document.' It uses a specific verb and resource, and distinguishes itself from sibling tools like rotate-pdf, merge-pdfs, and add-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?

No usage guidance is provided. The description does not indicate when to use this tool instead of alternatives (e.g., add-watermark, edit-pdf) or mention any prerequisites or limitations.

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

add-watermarkB

Add a text or image watermark to a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to watermark
modeYesWatermark mode: text or image
textNoWatermark text (required for text mode)
imageNoWatermark image URL or path (required for image mode)
layerNoWatermark layer positionabove
pagesNoPage selection (e.g., "1-3,5,7-10" or "all")
mosaicNoEnable mosaic mode (repeat watermark across page)
fontSizeNoFont size in points
rotationNoRotation angle in degrees
fontColorNoFont color in hex format (e.g., #FF0000)#000000
fontStyleNoFont style
outputDirNoOutput directory path
fontFamilyNoFont familyArial
transparencyNoTransparency percentage (0-100)
outputFilenameNoCustom output filename
verticalPositionNoVertical positionbottom
horizontalPositionNoHorizontal positioncenter

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must disclose side effects. It does not mention whether the original PDF is modified, whether a new file is created, how output location is determined, or any other behavioral traits. For a mutating tool, this is a substantial omission.

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 concise sentence, which is efficient, but it is under-specified for a tool with 17 parameters. It could front-load key constraints such as mode-required fields and output behavior without excessive length.

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?

Given the high parameter count (17), no output schema, and no annotations, the description is incomplete. It only communicates the basic operation, leaving mode-specific requirements, page selection semantics, and file handling unspecified.

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 the schema already documents all 17 parameters. The description adds no extra meaning beyond what the schema provides, only restating the text/image duality already present in the mode enum.

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 clearly states the tool's action ('Add') and resource ('watermark to a PDF document'). It distinguishes from siblings by specifying both text and image watermark modes, which no other tool covers.

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 is provided on when to use this tool versus alternatives, when to choose text vs image mode, or any prerequisites or exclusions. The description simply states the action without contextual usage advice.

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

chain-operationsB

Chain multiple PDF operations together (e.g., compress then merge, or split then protect)

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesInitial PDF file path or URL
outputDirNoOutput directory path
operationsYesList of operations to chain
outputFilenameNoCustom output filename

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral details, but it only mentions chaining without explaining execution order, failure handling, or output behavior. Significant ambiguity remains for a complex orchestration tool.

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?

The description is a single sentence with examples and no filler. It is efficiently front-loaded with the core action and provides useful illustrative cases.

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?

Despite the tool's complexity (multiple operation types, nested params, no output schema), the description offers minimal guidance. It fails to explain sequencing, how to specify operation-specific parameters, or what the final output will be, making it inadequate for correct usage.

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?

The schema provides complete descriptions for all parameters, including operation types and their structure. The tool description adds no additional parameter-specific insights, so the baseline score of 3 is appropriate.

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 clearly states that the tool chains multiple PDF operations together, with concrete examples like 'compress then merge' and 'split then protect'. This distinguishes it from sibling single-operation tools.

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 description implies usage when multiple operations are needed but does not explicitly state when to use this tool versus performing operations individually. It lacks exclusions or explicit criteria, so guidance is implicit rather than directive.

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

compress-pdfB

Reduce the file size of a PDF document while maintaining quality

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to compress
outputDirNoOutput directory path
outputFilenameNoCustom output filename
compressionLevelNoCompression level: low (less compression, better quality), recommended (balanced), extreme (maximum compression)recommended

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'while maintaining quality' without addressing side effects such as whether the original file is overwritten, where the output is placed, or how compression level affects quality. This is a significant gap for a file-modifying tool.

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?

The description is a single, focused sentence that front-loads the core purpose and includes a meaningful qualifier. There is no redundant information, making it concise and well-structured.

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?

Without an output schema or annotations, the description should explain what happens on success, how output files are named and located, and default behavior when optional parameters are omitted. It fails to disclose whether the original file is replaced or a new file is created, leaving critical operational context missing.

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?

The schema already documents all four parameters with full descriptions (100% coverage), so the baseline is 3. The description adds no additional parameter-specific meaning beyond what the schema provides, such as how compressionLevel relates to the 'quality' claim.

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 clearly identifies the tool's function with a specific verb ('Reduce') and resource ('PDF document'), and the qualifier 'while maintaining quality' adds meaningful specificity. This distinguishes it from sibling PDF tools such as rotate or split.

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 description implies the tool is for reducing PDF file size, but it provides no explicit guidance on when to use it over alternatives or when not to use it. While the purpose is clear, there is no mention of prerequisites, exclusions, or comparison to other tools, leaving usage only implied.

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

convert-to-pdfaA

Convert a PDF to PDF/A format for long-term archiving

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to convert
outputDirNoOutput directory path
conformanceNoPDF/A conformance levelpdfa-2b
allowDowngradeNoAllow downgrade to a lower conformance level if needed
outputFilenameNoCustom output filename

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states the conversion action and purpose, with no mention of output file handling, potential limitations, or side effects. This is insufficient for a conversion tool.

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?

The description is a single, focused sentence that immediately conveys the tool's function. It is concise and well-structured, with no wasted words.

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 gives a high-level purpose but lacks operational details such as output behavior or whether the original file is modified. Given the absence of annotations and output schema, the description is minimally acceptable but could be more thorough.

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?

The input schema provides 100% description coverage for all five parameters, including enum values and defaults. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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 clearly states the tool converts PDFs to PDF/A format, with a specific verb (convert) and resource (PDF to PDF/A), and includes the purpose (long-term archiving). This effectively distinguishes it from sibling tools like compress-pdf or validate-pdfa.

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 provides a clear usage context by mentioning 'for long-term archiving', which implies when this tool is appropriate. However, it does not explicitly mention alternatives or exclusion cases, so it falls short of a full 5.

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

edit-pdfC

Add text or images to specific positions in a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to edit
elementsYesArray of text or image elements to add
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full disclosure burden but only states a high-level action. It doesn't mention that this likely creates a new output file (as implied by outputDir/outputFilename), how input files are specified, or any side effects. For a mutation tool, this leaves significant behavioral ambiguities.

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?

The description is a single, front-loaded sentence with no redundant words. Every term contributes to the core purpose, making it highly efficient.

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?

The tool is moderately complex with nested element types and coordinate systems, but the description doesn't explain overall behavior, output handling, or return values (no output schema). Despite a rich schema, the description alone lacks sufficient context for an AI to reliably invoke the tool without additional assumptions.

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?

The schema descriptions cover 100% of parameters, so the baseline is 3. The description itself adds no extra meaning beyond 'text or images', but the schema already documents each property's purpose (e.g., coordinates, font size, pages). No additional clarification needed if the schema is consulted.

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 clearly states the action (add) and the resource (text or images to specific positions in a PDF). It distinguishes from many siblings like rotate-pdf or merge-pdfs, though it could be more explicit about differentiating from add-watermark or add-page-numbers. Overall, a clear and specific verb+resource 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?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or comparisons to sibling tools like add-watermark or extract-text. Users must infer usage from the name and schema.

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

extract-textC

Extract text content from a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to extract text from
byWordNoExtract text word by word
detailedNoInclude detailed extraction with position info
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure, but it reveals little. It does not mention whether the tool writes output files (despite outputDir/outputFilename parameters), whether it returns text directly, or how it handles scanned content. The basic action is clear, but side effects and output behavior are undocumented.

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?

The description is a single, concise sentence with no wasted words. It is front-loaded and easy to parse. However, it is under-specified for a 5-parameter tool, but that is a completeness issue, not a conciseness one.

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?

The tool has 5 parameters, no annotations, and no output schema. The description is only a one-liner, leaving critical gaps: it does not explain what the tool returns, whether it writes files to outputDir, or how it differs from OCR for scanned PDFs. This is insufficient for an agent to use the tool effectively without further assumptions.

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 all five parameters already have clear descriptions. The tool description adds no additional meaning beyond the schema, which is the baseline for full coverage. It does not clarify relationships between parameters (e.g., byWord vs detailed), but the schema handles individual semantics.

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 clearly states the action ('extract') and resource ('text content from a PDF document'), making the tool's primary purpose obvious. It distinguishes from most sibling tools like rotate-pdf or merge-pdfs, but does not differentiate from ocr-pdf, which also extracts text (from scanned PDFs). Thus it is specific but lacks sibling differentiation.

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 is provided on when to use this tool versus alternatives. There is no mention of scenarios (e.g., digital vs. scanned PDFs) or when to prefer extract-text over ocr-pdf. The description simply states what it does without usage context.

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

get-remaining-filesA

Check how many API file operations remain in your iLovePDF quota

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description does not state whether this operation itself consumes quota, whether it requires authentication, or any side effects. For a quota-checking tool, this is a significant transparency gap.

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?

The description is a single, front-loaded sentence with no filler words. Every word contributes to the meaning, making it appropriately concise and well-structured.

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 tool is simple (no parameters, no output schema), and the description covers its core function. However, it does not describe the return value format (e.g., just a number or also total quota) or whether the check itself reduces quota. These gaps make it only minimally complete for a low-complexity tool.

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?

The tool has zero parameters, so there is nothing to explain about input syntax. The description adds value by clarifying what 'remaining files' means in context (API file operations in the quota), which is the only relevant semantic information.

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 uses the specific verb 'Check' and clearly identifies the resource as 'remaining API file operations in your iLovePDF quota'. This distinguishes the tool from all sibling tools, which are PDF processing operations, making its purpose unmistakable.

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 tool's purpose clearly implies when to use it: whenever an agent needs to verify remaining API quota. There are no alternative sibling tools offering similar functionality, so no explicit 'when not to use' is needed. However, it doesn't explicitly state usage conditions, so it falls short of a 5.

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

get-signature-statusB

Get the status of a signature request

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureTokenYesSignature token (token_requester from sign-pdf response)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only says 'get the status,' implying read-only without explicit disclosure. It does not describe possible statuses, polling behavior, or whether any side effects occur.

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?

The description is a single concise sentence with no fluff. It is under-specified but not tautological, earning a solid conciseness score.

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 or annotations, the description is insufficient. It does not explain how to interpret the status result, possible return values, or the workflow context, leaving the agent under-informed.

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 parameter description 'Signature token (token_requester from sign-pdf response)' is already informative. The tool description adds no parameter meaning, so baseline 3 is appropriate.

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 clearly states the tool's function: 'Get the status of a signature request' with a specific verb and resource. It distinguishes from siblings like sign-pdf and void-signature by focusing on retrieval rather than creation or alteration.

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 is provided on when to use this tool. It does not mention prerequisites (e.g., having called sign-pdf) or alternatives, leaving the agent to infer usage from the schema parameter description.

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

html-to-pdfB

Convert a webpage URL to a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the webpage to convert
delayNoDelay before capture in milliseconds
marginNoPage margin in pixels
pageSizeNoPage sizeA4
outputDirNoOutput directory path
viewWidthNoViewport width in pixels
singlePageNoRender as single continuous page
viewHeightNoViewport height in pixels
orientationNoPage orientationportrait
removePopupsNoRemove popups and overlays
outputFilenameNoCustom output filename
navigationTimeoutNoNavigation timeout in milliseconds

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral disclosure burden. It only says 'convert a webpage URL to a PDF document' and omits any mention of network access, dynamic content handling, output location, or side effects. The schema hints at delays and viewport but the description adds no behavioral context.

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?

The description is a single, clear sentence with no redundancy. It is appropriately sized for a simple conversion tool and front-loads the core purpose.

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?

Given 12 parameters, no annotations, and no output schema, the description is too sparse for complete context. It covers only the basic purpose, missing output details, use-case guidance, and behavioral caveats that the schema cannot fully supply.

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 the baseline is 3. The description adds no parameter-level meaning beyond what the schema already provides; it merely references the URL input implicitly.

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 uses a specific verb 'Convert' with a clear resource ('webpage URL') and output ('PDF document'). It distinguishes from sibling tools like office-to-pdf and images-to-pdf by specifying HTML/webpage input.

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 is provided on when to use this tool versus alternatives. It doesn't mention exclusions, prerequisites, or situations where another sibling tool would be more appropriate. The description simply states the core function without usage context.

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

images-to-pdfB

Convert images (JPG, PNG, etc.) to a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of image file paths or URLs to convert
marginNoPage margin in pixels
pagesizeNoPage size for image to PDF conversionfit
outputDirNoOutput directory path
mergeAfterNoMerge all images into a single PDF (default: false)
orientationNoPage orientationportrait
outputFilenameNoCustom output filename

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. It only states the conversion action and does not disclose output behavior, such as whether multiple images produce separate PDFs or are merged (mergeAfter), naming conventions, or safety (e.g., whether original files are modified).

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?

The description is a single concise sentence with no redundancy. It is front-loaded and easy to parse, but given the tool's parameter complexity, it is perhaps overly terse; still, it earns a high score for conciseness.

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?

Despite 100% schema coverage, the description lacks context about tool behavior and usage scenarios. The agent must infer when to use this conversion, what output is created by default, and how parameters like mergeAfter affect the result. The lack of annotations and output schema further reduces completeness.

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?

The schema already provides descriptions for all 7 parameters, achieving 100% coverage. The description adds no parameter-specific detail beyond the schema, so it meets the baseline for high coverage.

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 clearly states the tool converts images (JPG, PNG, etc.) to a PDF document, providing a specific verb, resource, and target format. This distinguishes it from siblings like office-to-pdf or html-to-pdf, which handle different input types.

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 is given on when to use this tool versus alternatives. It lacks exclusions, prerequisites, or references to sibling tools that handle other formats (e.g., office-to-pdf). Only the schema hints at usage, not the description.

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

list-tasksB

List recent PDF processing tasks from your iLovePDF account

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
toolNoFilter by tool type (e.g., "merge", "compress")
statusNoFilter by status

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'recent' but does not specify the recency window, pagination behavior, or response format. It does not state that the operation is read-only or explain what fields are returned, leaving the agent without crucial behavioral context beyond the obvious 'list' semantics.

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?

The description is a single, concise sentence that states the tool's purpose with no unnecessary words. It is front-loaded with the action and resource, making it easy to scan.

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 read-only listing tool, the description covers the core functionality but omits important context such as the response structure, pagination limits, and the meaning of 'recent'. Since there is no output schema and no annotations, the description should provide more detail to be fully complete, but it remains minimally viable.

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?

The input schema already provides full descriptions for all three parameters (page, tool, status), giving 100% coverage. The description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate.

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 uses a specific verb 'List' and clearly identifies the resource ('recent PDF processing tasks from your iLovePDF account'). It effectively distinguishes this tool from the sibling PDF operation tools (e.g., rotate-pdf, merge-pdfs) which perform transformations, not listing.

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 description provides no guidance on when to use this tool versus alternatives. It does not mention checking task history, monitoring progress, or that it complements other tools like get-signature-status. There is no explicit exclusions or alternative references.

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

merge-pdfsA

Merge multiple PDF files into a single PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of PDF file paths or URLs to merge (minimum 2)
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic merge action and does not mention side effects, whether input files are modified, how output is created, or any permissions or error conditions. This is a significant transparency gap for a tool that clearly creates a new file.

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?

The description is a single, clear sentence that is front-loaded and contains no unnecessary words. It efficiently communicates the core purpose without padding.

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 tool with 3 parameters and no output schema, the description is minimally adequate. It covers the primary action but omits details like default output behavior, file ordering, and error handling. These gaps lower completeness below what would be considered mostly or 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%, with each parameter already having a description (e.g., files as 'Array of PDF file paths or URLs to merge', outputDir, outputFilename). The tool description adds no additional parameter semantics beyond the schema, so the baseline of 3 is appropriate.

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 clearly states the tool's function: 'Merge multiple PDF files into a single PDF document'. It uses a specific verb (merge) and resource (PDF files), and the outcome (single PDF) is explicit. This distinguishes it from sibling tools like split-pdf or rotate-pdf.

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 description implies usage: if a user needs to combine PDFs, this is the tool. However, it provides no explicit guidance on when to use this vs alternatives, no exclusions, and no mention of when not to use it. The usage context is only weakly implied by the tool name and description.

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

ocr-pdfA

Perform OCR (Optical Character Recognition) on a scanned PDF to make it searchable

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to perform OCR on
languagesNoOCR languages (ISO 639-3 codes)
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions the outcome ('make it searchable') but does not reveal whether the original file is modified, what output is generated, or any side effects or permissions needed. This is minimal behavioral transparency.

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?

The description is a single, clear sentence that immediately conveys the core action, resource, and purpose. There is no wasted verbiage, and it is well-structured for quick parsing by an agent.

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?

Given that this is a tool with four parameters, no annotations, and no output schema, the description is insufficiently complete. It does not explain what the tool returns (e.g., a new searchable PDF or a task ID), how the outputDir/outputFilename parameters affect behavior, or any prerequisites. The lack of behavioral context makes it hard for an agent to use the tool correctly without additional assumptions.

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?

The schema has 100% coverage with clear descriptions for all four parameters, giving a baseline of 3. The tool description adds value by specifying that the file must be a 'scanned PDF', which narrows the file parameter beyond the schema's generic 'PDF file path or URL' description. This is a meaningful semantic addition.

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 clearly states the tool's function with a specific verb ('Perform OCR') and resource ('scanned PDF'), and explains the purpose ('to make it searchable'). This distinguishes it from sibling tools like extract-text, which is for digital PDFs, by explicitly targeting scanned documents.

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 description implies the tool should be used for scanned PDFs that need to be searchable, but it does not explicitly compare to alternatives like extract-text or state when not to use it. The context of 'scanned PDF' provides implied usage guidance, but no explicit exclusions or alternative references.

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

office-to-pdfB

Convert Microsoft Office documents (Word, Excel, PowerPoint) to PDF

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesOffice document file path or URL to convert (supports .doc, .docx, .xls, .xlsx, .ppt, .pptx)
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral disclosure burden. It only states the conversion action and supported formats, but does not reveal output behavior, success criteria, side effects, or limitations. No contradictions with annotations exist.

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?

The description is a single, lean sentence with no filler. It front-loads the core action and formats, making it fast to parse and appropriately sized.

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?

While the description covers the fundamental purpose, it lacks any mention of return values, output location behavior, or asynchronous operation. Given no output schema, this is a noticeable gap, but the tool is simple and the schema covers parameters, making it minimally adequate.

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?

The input schema provides 100% parameter coverage with descriptions for all three parameters, including supported file extensions for 'file'. The tool description adds no additional parameter semantics, so it relies entirely on the schema's completeness.

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 clearly states the verb 'Convert' and the resource 'Microsoft Office documents (Word, Excel, PowerPoint)' to 'PDF', listing supported formats. This distinguishes it from sibling conversion tools like html-to-pdf and images-to-pdf.

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 is provided on when to use this tool versus alternatives like html-to-pdf or convert-to-pdfa. The description merely states the conversion function without exclusions, prerequisites, or context for selection.

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

pdf-to-jpgB

Convert PDF pages to JPG images

ParametersJSON Schema
NameRequiredDescriptionDefault
dpiNoImage DPI (72-300)
fileYesPDF file path or URL to convert
modeNoConversion mode: pages (one image per page) or extract (extract embedded images)pages
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. However, it only restates the core action without detailing output behavior (e.g., file creation, multiple images), potential side effects, authentication needs, or limitations. It adds no meaningful behavioral context beyond the tool name itself.

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?

The description is a single, front-loaded sentence that efficiently states the tool's purpose. It is appropriately sized for a tool with a self-explanatory name, though given the tool's parameter complexity (5 params including modes), a bit more context would improve it without becoming verbose.

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 five parameters, the description is incomplete as it does not explain return values (e.g., output file paths), the difference between 'pages' and 'extract' modes, or default behavior for output directory and filename. The schema covers parameters but not the tool's overall behavior or result format, leaving significant gaps for an agent.

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%, with all five parameters having clear descriptions (e.g., dpi, file, mode, outputDir, outputFilename). The description itself adds no additional parameter semantics, so the baseline of 3 applies as the schema does the heavy lifting.

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 clearly states the tool's function: converting PDF pages to JPG images. It uses a specific verb (convert) and resource (PDF pages), and the result (JPG images) is unambiguous. This distinguishes it from sibling tools like images-to-pdf, which performs the reverse operation.

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 description provides no explicit guidance on when to use this tool versus alternatives. It implies usage through its clear purpose, but it lacks statements about when not to use it or how it compares to other PDF tools. No exclusions or alternative tool names are mentioned.

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

protect-pdfB

Add password protection to a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to protect
passwordYesPassword to protect the PDF with
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations available, the description carries the full burden of disclosing behavioral traits. It states 'Add password protection' but does not clarify whether the original file is modified or a new protected copy is created, what happens to output files, or any security implications. The outputDir and outputFilename parameters imply a new output is produced, but this is not stated in the description.

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?

The description is a single, concise sentence that is front-loaded with the core action. It wastes no words and directly communicates the tool's purpose. Being short is acceptable for such a simple tool, and every word earns 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?

Given the tool has 4 parameters, no output schema, and no annotations, the description is too minimal to be fully contextual. It omits essential behavioral details such as whether the output is a new file, how outputDir/outputFilename interact, and what happens if the PDF is already protected. The description would be more complete with one sentence about output behavior.

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?

The input schema provides high-coverage descriptions for all parameters (100%), including 'PDF file path or URL to protect', 'Password to protect the PDF with', and output settings. Since the schema already explains each parameter clearly, the description adds no additional semantic value. Baseline of 3 is appropriate for high schema coverage.

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 uses a specific verb 'Add' and a clear resource 'password protection to a PDF document', which precisely states the tool's function. It distinguishes from related siblings like 'unlock-pdf' (which removes protection) and 'compress-pdf' (which changes size), leaving no ambiguity about the intended operation.

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 description provides no guidance on when to use this tool versus alternatives. It does not mention that this tool is for encryption (not decryption), nor does it specify prerequisites such as whether the input PDF must be unprotected or whether output handling requires explicit output parameters. There is no explicit exclusion or alternative mentioned.

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

repair-pdfB

Attempt to repair a damaged or corrupted PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to repair
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full disclosure burden. It indicates an 'attempt' at repair, suggesting potential failure, but it does not state whether the original file is overwritten, what output is produced, or how failures are reported. This is a significant gap for a file-modifying tool.

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?

The description is a single sentence that directly states the tool's purpose without filler. The word 'attempt' adds useful nuance about reliability. It is appropriately concise, though it lacks additional operational detail that would not hurt conciseness.

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 annotations or output schema, the description is the only source of operational context. It fails to disclose whether the tool modifies files in place, what happens on failure, or what a successful repair produces. Given the 3-parameter schema is clear, the missing behavioral context leaves the tool incomplete for safe autonomous use.

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?

The input schema already provides descriptions for all three parameters (file, outputDir, outputFilename), giving 100% coverage. The description adds no additional parameter semantics beyond what the schema states, so the baseline of 3 applies.

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 uses a specific verb 'repair' and clearly identifies the resource 'damaged or corrupted PDF document', distinguishing it from sibling tools like rotate-pdf or merge-pdfs. The purpose is unambiguous and precisely scoped.

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?

Usage context is implied: you use this tool when a PDF is damaged or corrupted. However, there is no explicit guidance on when not to use it or any alternatives. The single-purpose nature makes the context reasonably clear, but exclusions are absent.

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

rotate-pdfB

Rotate all pages in a PDF document by a specified angle

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to rotate
rotationYesRotation angle in degrees (0, 90, 180, or 270)
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It does not state whether the original file is modified or a new file is created, does not clarify clockwise vs counterclockwise direction, and does not mention error handling or limitations. It only states the basic operation.

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?

The description is a single, front-loaded sentence that directly states the tool's purpose. Every word earns its place with no repetition or fluff.

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?

Given that there is no output schema and no annotations, the description should explain what the tool returns or produces. It does not mention output behavior (e.g., whether it returns a file path, whether it overwrites), the direction of rotation, or any side effects. This is a significant gap for a tool with 4 parameters.

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?

The input schema already describes all four parameters with meaningful details (file path/URL, rotation angle in degrees with allowed values, output directory, custom filename). The description adds no parameter-level information beyond what the schema provides, so the baseline 3 is appropriate.

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 clearly states the action ('rotate'), the target resource ('all pages in a PDF document'), and the modifier ('by a specified angle'). It is specific and distinct from sibling tools like merge-pdfs or split-pdfs.

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 is provided on when to use this tool versus alternatives. It does not mention that it only rotates all pages (no page ranges) or whether it overlaps with edit-pdf. No alternatives or exclusions are stated.

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

sign-pdfA

Create a digital signature request for a PDF document (sends signature requests via email)

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to sign
signersYesList of signers
languageNoEmail language for signersen-US
brandLogoNoBrand logo URL to display in emails
brandNameNoBrand name to display in emails
certifiedNoUse certified signature (eIDAS, ESIGN & UETA compliant)
lockOrderNoForce signers to sign in order
remindersNoEnable automatic reminders
expirationDaysNoDays until signature request expires
reminderDaysCycleNoDays between reminders

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the key side effect of sending emails, which is important. However, it does not mention any authentication requirements, whether the tool modifies the original PDF, or what happens to the PDF after the request is created. The disclosure is present but incomplete.

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?

The description is a single, concise sentence that front-loads the action and resource. It includes an important clarification about email delivery in parentheses. No unnecessary words or repetition of schema details.

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 tool has 10 parameters and no output schema, so the description should add context about return values or follow-up actions. It does not explain what the agent can expect in response (e.g., a request ID) or how to track the request, despite sibling tools like get-signature-status implying a status-check flow. The description is adequate for a basic understanding but lacks forward-looking context.

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?

The input schema covers 100% of parameters with descriptions, so the schema itself provides adequate parameter semantics. The tool description adds no parameter-specific information, but given the high schema coverage, a baseline score of 3 is appropriate. It correctly identifies the core semantic of file and signers via the overall purpose.

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 clearly states the action ('Create') and the resource ('a digital signature request for a PDF document'), with a parenthetical that it sends requests via email. This distinguishes it from sibling tools like get-signature-status and void-signature, which handle other stages of the signature lifecycle.

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 implies usage context: when you need to send a PDF for digital signature. It clearly indicates the email-sending side effect, which helps the agent understand the tool's purpose. However, it does not explicitly name alternatives or state when not to use it, such as when only checking status or voiding a request.

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

split-pdfB

Split a PDF file into multiple documents based on page ranges or fixed intervals

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to split
rangesNoPage ranges (e.g., "1-3,4-6,7-10") for ranges mode, or pages to remove for remove_pages mode
outputDirNoOutput directory path
splitModeYesSplit mode: ranges (custom page ranges), fixed_range (split every N pages), remove_pages (remove specific pages)
fixedRangeNoSplit every N pages when using fixed_range mode
mergeAfterNoMerge all split files into a single PDF
outputFilenameNoCustom output filename

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the core split action but does not mention output file creation, whether the original is modified, permissions required, or failure modes. For a file manipulation tool, this is insufficient transparency.

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?

The description is a single concise sentence with no unnecessary words. It is front-loaded with the verb 'Split' and clearly states the resource and method. Perfectly efficient.

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?

The tool has 7 parameters and no output schema, yet the description is one short sentence. It omits the remove_pages mode, mergeAfter behavior, and output naming. While the schema is detailed, the tool-level description fails to integrate these elements, leaving significant gaps for a moderately complex tool.

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 the baseline is 3. The description adds no extra parameter-level detail; it merely echoes the ranges and fixed interval concepts already present in the schema. No additional value is provided 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?

The description clearly identifies the tool as splitting PDFs by page ranges or fixed intervals, using a specific verb and resource. It distinguishes from sibling tools like merge-pdfs and rotate-pdf. However, it omits the remove_pages mode, which is a small scope gap.

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 context is clear: use this tool when you need to split a PDF into multiple documents. No exclusions or alternatives are mentioned, but the verb and resource imply the use case. This aligns with 'clear context, no exclusions'.

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

unlock-pdfB

Remove password protection from a PDF document

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to unlock
passwordYesCurrent password of the PDF
outputDirNoOutput directory path
outputFilenameNoCustom output filename

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only states the core action, but does not disclose side effects (e.g., whether the original file is overwritten or a new file is created), output behavior, permission requirements, or limitations on PDF encryption types. This is a significant gap for a tool that modifies files.

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?

The description is a single, clear sentence with no wasted words. It is appropriately concise and front-loaded with the key action.

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 mutation tool with no annotations and no output schema, the description is incomplete. It does not explain what happens after removing the password, such as output file creation or whether the input is modified in place. It only states the purpose without behavioral context.

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%, with each parameter described individually. The tool description adds no additional meaning 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.

Purpose5/5

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

The description 'Remove password protection from a PDF document' uses a specific verb 'Remove' with a clear resource ('password protection from a PDF document'). It is immediately distinguishable from sibling tools like protect-pdf, which does the reverse operation.

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 purpose implies when to use the tool (when you need to remove a PDF's password), but there is no explicit guidance on when not to use it, alternatives, or prerequisites. The usage context is implied rather than stated.

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

validate-pdfaB

Validate if a PDF conforms to PDF/A standards

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesPDF file path or URL to validate
conformanceNoPDF/A conformance level to validate againstpdfa-2b

TDQS

B3.2/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of explaining behavior. It only states the action without disclosing return format, error behavior, or whether the operation is read-only. For a validation tool, the agent needs to know if the result is boolean, a report, or an exception.

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?

The description is a single, concise sentence with no filler. It front-loads the primary action and is efficiently structured.

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?

Although the tool is conceptually simple, the absence of an output schema and annotations leaves important gaps. The description does not explain return values or error handling, preventing the agent from fully anticipating the result of invocation.

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?

The input schema covers 100% of parameters with descriptions for both 'file' and 'conformance'. The description adds no additional parameter context beyond the schema, so the baseline score of 3 is appropriate.

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?

Description uses a specific verb ('Validate'), identifies the resource ('PDF'), and specifies the standard ('PDF/A'). This clearly distinguishes it from sibling tools like convert-to-pdfa, which performs conversion rather than validation.

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 is provided on when to use this tool versus alternatives such as repair-pdf or convert-to-pdfa. It fails to mention any prerequisites, exclusions, or contexts where validation is appropriate.

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

void-signatureB

Void/cancel a pending signature request

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureTokenYesSignature token to void

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not mention whether the action is irreversible, whether authentication or ownership is required, or what happens to the signature token after voiding. This is a significant gap for a mutation tool.

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?

The description is a single, front-loaded sentence with no redundant words. It conveys the core action and resource efficiently.

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 mutating tool with no annotations and no output schema, the description is incomplete. It does not explain prerequisites, effects, or limitations of voiding a signature request, leaving the agent without enough context to anticipate outcomes.

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?

The schema already describes the sole parameter 'signatureToken' as 'Signature token to void', and the description adds no additional meaning beyond that. Since schema coverage is 100%, the baseline of 3 is appropriate.

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 uses a specific verb ('Void/cancel') and resource ('pending signature request'), clearly distinguishing it from sibling tools like sign-pdf and get-signature-status. The intent is unambiguous.

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 usage is implied: use this tool when you need to cancel a pending signature request. However, there is no explicit guidance on when not to use it, prerequisites, or alternatives, leaving the agent to infer the appropriate context.

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. Dates show when Glama detected each change.

  1. 24 tool updatesv1.0.0
    • First observedadd-page-numbers
    • First observedadd-watermark
    • First observedchain-operations
    • First observedcompress-pdf
    • First observedconvert-to-pdfa
    • First observededit-pdf
    • First observedextract-text
    • First observedget-remaining-files
    • First observedget-signature-status
    • First observedhtml-to-pdf
    • First observedimages-to-pdf
    • First observedlist-tasks
    • First observedmerge-pdfs
    • First observedocr-pdf
    • First observedoffice-to-pdf
    • First observedpdf-to-jpg
    • First observedprotect-pdf
    • First observedrepair-pdf
    • First observedrotate-pdf
    • First observedsign-pdf
    • First observedsplit-pdf
    • First observedunlock-pdf
    • First observedvalidate-pdfa
    • First observedvoid-signature

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct PDF operation or resource, from rotation and conversion to security and e-signatures. There is minimal overlap; even similar functions like extract-text and ocr-pdf address different input types.

Naming Consistency4/5

Tool names follow a consistent lowercase-hyphenated verb-first pattern (e.g., rotate-pdf, compress-pdf, add-watermark). Minor inconsistencies include pluralization (merge-pdfs vs. rotate-pdf) and the use of 'to-pdf' for conversions, but overall the pattern is predictable.

Tool Count3/5

With 24 tools, the set is on the heavier side, which falls into the borderline category. However, each tool addresses a specific PDF workflow need, so the count is arguably justified for a comprehensive PDF service.

Completeness5/5

The server covers an extensive range of PDF operations: conversion, page manipulation, security, compression, repair, OCR, text extraction, editing, e-signatures, PDF/A handling, and task management. There are no obvious dead ends, and the surface appears complete for typical PDF workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/adamdavis99/ilovepdf-mcp'

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