ilovepdf-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ilovepdf-mcpMerge file1.pdf and file2.pdf"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 multiple PDF files into one |
| Split PDF by page ranges, fixed intervals, or remove pages |
| Reduce PDF file size (low/recommended/extreme) |
| Rotate pages by 90, 180, or 270 degrees |
| Add password protection |
| Remove password protection |
| Repair damaged PDFs |
Conversion Operations
Tool | Description |
| Convert PDF pages to JPG images |
| Convert images to PDF |
| Convert webpages to PDF |
| Convert Word, Excel, PowerPoint to PDF |
| Convert to PDF/A archive format |
| Validate PDF/A compliance |
Enhancement Operations
Tool | Description |
| Add text or image watermarks |
| Add page numbers with custom formatting |
| Extract text content from PDF |
| OCR scanned PDFs (100+ languages) |
| Add text or images to specific positions |
Signature Operations
Tool | Description |
| Create digital signature requests |
| Check signature request status |
| Cancel pending signature requests |
Utility Operations
Tool | Description |
| Chain multiple operations together |
| List recent API tasks |
| Check API quota |
Installation
Prerequisites
Node.js 18 or higher
iLovePDF API credentials (get them at developer.ilovepdf.com)
Install from npm
npm install -g ilovepdf-mcpInstall from source
git clone https://github.com/yourusername/ilovepdf-mcp.git
cd ilovepdf-mcp
npm install
npm run buildConfiguration
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=./outputOr 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 cleanAPI Reference
Common Parameters
Most tools accept these common parameters:
Parameter | Type | Description |
| string / string[] | Input file path(s) or URL(s) |
| string? | Output directory (default: |
| 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
iLovePDF for their excellent PDF API
Model Context Protocol for the MCP specification
Built with @modelcontextprotocol/sdk
Available Tools
24 toolsadd-page-numbersB
Add page numbers to a PDF document
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to add page numbers to | |
| text | No | Page number format (use {n} for page number, {p} for total pages) | {n} |
| pages | No | Page selection (e.g., "1-3,5,7-10" or "all") | |
| fontSize | No | Font size in points | |
| fontColor | No | Font color in hex format (e.g., #FF0000) | #000000 |
| fontStyle | No | Font style | |
| outputDir | No | Output directory path | |
| firstCover | No | Skip numbering on first page (cover) | |
| fontFamily | No | Font family | Arial |
| facingPages | No | Enable facing pages mode | |
| outputFilename | No | Custom output filename | |
| startingNumber | No | Starting page number | |
| verticalPosition | No | Vertical position | bottom |
| horizontalPosition | No | Horizontal position | center |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to watermark | |
| mode | Yes | Watermark mode: text or image | |
| text | No | Watermark text (required for text mode) | |
| image | No | Watermark image URL or path (required for image mode) | |
| layer | No | Watermark layer position | above |
| pages | No | Page selection (e.g., "1-3,5,7-10" or "all") | |
| mosaic | No | Enable mosaic mode (repeat watermark across page) | |
| fontSize | No | Font size in points | |
| rotation | No | Rotation angle in degrees | |
| fontColor | No | Font color in hex format (e.g., #FF0000) | #000000 |
| fontStyle | No | Font style | |
| outputDir | No | Output directory path | |
| fontFamily | No | Font family | Arial |
| transparency | No | Transparency percentage (0-100) | |
| outputFilename | No | Custom output filename | |
| verticalPosition | No | Vertical position | bottom |
| horizontalPosition | No | Horizontal position | center |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Initial PDF file path or URL | |
| outputDir | No | Output directory path | |
| operations | Yes | List of operations to chain | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to compress | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename | |
| compressionLevel | No | Compression level: low (less compression, better quality), recommended (balanced), extreme (maximum compression) | recommended |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to convert | |
| outputDir | No | Output directory path | |
| conformance | No | PDF/A conformance level | pdfa-2b |
| allowDowngrade | No | Allow downgrade to a lower conformance level if needed | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to edit | |
| elements | Yes | Array of text or image elements to add | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to extract text from | |
| byWord | No | Extract text word by word | |
| detailed | No | Include detailed extraction with position info | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| signatureToken | Yes | Signature token (token_requester from sign-pdf response) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the webpage to convert | |
| delay | No | Delay before capture in milliseconds | |
| margin | No | Page margin in pixels | |
| pageSize | No | Page size | A4 |
| outputDir | No | Output directory path | |
| viewWidth | No | Viewport width in pixels | |
| singlePage | No | Render as single continuous page | |
| viewHeight | No | Viewport height in pixels | |
| orientation | No | Page orientation | portrait |
| removePopups | No | Remove popups and overlays | |
| outputFilename | No | Custom output filename | |
| navigationTimeout | No | Navigation timeout in milliseconds |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Array of image file paths or URLs to convert | |
| margin | No | Page margin in pixels | |
| pagesize | No | Page size for image to PDF conversion | fit |
| outputDir | No | Output directory path | |
| mergeAfter | No | Merge all images into a single PDF (default: false) | |
| orientation | No | Page orientation | portrait |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| tool | No | Filter by tool type (e.g., "merge", "compress") | |
| status | No | Filter by status |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Array of PDF file paths or URLs to merge (minimum 2) | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to perform OCR on | |
| languages | No | OCR languages (ISO 639-3 codes) | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Office document file path or URL to convert (supports .doc, .docx, .xls, .xlsx, .ppt, .pptx) | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dpi | No | Image DPI (72-300) | |
| file | Yes | PDF file path or URL to convert | |
| mode | No | Conversion mode: pages (one image per page) or extract (extract embedded images) | pages |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to protect | |
| password | Yes | Password to protect the PDF with | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to repair | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to rotate | |
| rotation | Yes | Rotation angle in degrees (0, 90, 180, or 270) | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to sign | |
| signers | Yes | List of signers | |
| language | No | Email language for signers | en-US |
| brandLogo | No | Brand logo URL to display in emails | |
| brandName | No | Brand name to display in emails | |
| certified | No | Use certified signature (eIDAS, ESIGN & UETA compliant) | |
| lockOrder | No | Force signers to sign in order | |
| reminders | No | Enable automatic reminders | |
| expirationDays | No | Days until signature request expires | |
| reminderDaysCycle | No | Days between reminders |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to split | |
| ranges | No | Page ranges (e.g., "1-3,4-6,7-10") for ranges mode, or pages to remove for remove_pages mode | |
| outputDir | No | Output directory path | |
| splitMode | Yes | Split mode: ranges (custom page ranges), fixed_range (split every N pages), remove_pages (remove specific pages) | |
| fixedRange | No | Split every N pages when using fixed_range mode | |
| mergeAfter | No | Merge all split files into a single PDF | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to unlock | |
| password | Yes | Current password of the PDF | |
| outputDir | No | Output directory path | |
| outputFilename | No | Custom output filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | PDF file path or URL to validate | |
| conformance | No | PDF/A conformance level to validate against | pdfa-2b |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| signatureToken | Yes | Signature token to void |
TDQS
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.
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.
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.
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.
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.
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.
24 tool updates
v1.0.0- First observed
add-page-numbers - First observed
add-watermark - First observed
chain-operations - First observed
compress-pdf - First observed
convert-to-pdfa - First observed
edit-pdf - First observed
extract-text - First observed
get-remaining-files - First observed
get-signature-status - First observed
html-to-pdf - First observed
images-to-pdf - First observed
list-tasks - First observed
merge-pdfs - First observed
ocr-pdf - First observed
office-to-pdf - First observed
pdf-to-jpg - First observed
protect-pdf - First observed
repair-pdf - First observed
rotate-pdf - First observed
sign-pdf - First observed
split-pdf - First observed
unlock-pdf - First observed
validate-pdfa - First observed
void-signature
TDQS
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.
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.
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.
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
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
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Api2Pdf — generate PDFs & images from HTML, URLs or office files; merge, barcodes.
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceThis MCP server enables interactions with the PDF Generator API for creating, converting, and managing PDF documents using natural language commands.-
- AlicenseAqualityDmaintenanceAn MCP server that converts PDF files to Markdown format using AI sampling capabilities, supporting both local files and URLs with incremental conversion features.11MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to read, search, and analyze PDF files from local paths or URLs. It provides tools for extracting specific page ranges, searching for terms, and retrieving document metadata.4461MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables interaction with the PDF Generator API for automated document generation and management. It supports both stdio and HTTP transports, allowing AI models to create and handle PDFs using OpenAPI v4 specifications.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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