Skip to main content
Glama

Server Details

Privacy-first PDF tools over MCP: merge, split, rotate, delete, compress, protect, inspect.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct PDF operation: compression, page deletion, info retrieval, merging, protection, rotation, and splitting. There is no overlap or ambiguity between tool purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., compress_pdf, delete_pages), making it easy to predict functionality from the name.

Tool Count5/5

With 7 tools covering essential PDF manipulations, the count is well-scoped for the domain. Each tool serves a clear purpose without unnecessary redundancy.

Completeness4/5

The set covers core PDF operations (CRUD for pages, compression, protection, info). Minor gaps exist (e.g., no watermarking or annotation), but the surface is sufficient for typical workflows.

Available Tools

7 tools
compress_pdfAInspect

Reduce a PDF's file size losslessly by consolidating object streams (keeps text selectable). Returns base64 plus before/after sizes. Note: does not re-encode embedded images.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesThe PDF as a base64 string or https URL.
levelNomedium also strips subject/keywords metadata. Default medium.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the compression is lossless, keeps text selectable, does not re-encode images, and returns base64 with size metrics. It also notes level 'medium' strips metadata. This is fairly thorough for a compression 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 two sentences plus a note, front-loaded with the main purpose. Every sentence provides useful information. Minor deduction for not being even more compact, but it is well-structured.

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

Completeness4/5

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

Given the tool has 2 parameters and no output schema, the description covers core functionality, return value, and a key limitation. Missing details like error handling or full scope of lossless guarantee, but overall sufficient for effective use.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that 'medium' level strips subject/keywords metadata and sets default to medium. It also clarifies the 'pdf' parameter can be base64 or URL, which is not explicit in schema property descriptions.

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 reduces PDF file size losslessly by consolidating object streams, which is specific to compression. It distinguishes from siblings like merge_pdf or split_pdf by focusing on size reduction.

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 does not provide explicit guidance on when to use compress_pdf versus alternatives. It mentions a limitation (no image re-encoding) but no when-to-use or when-not-to-use criteria relative to sibling tools.

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

delete_pagesAInspect

Remove specific pages from a PDF by their 1-based page numbers, keeping the rest in order. Returns base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesThe PDF as a base64 string or https URL.
pagesYes1-based page numbers to delete.
Behavior3/5

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

No annotations provided; description mentions removing pages and returning base64 but lacks details on error handling, scope, or permissions.

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?

Two concise sentences with no extraneous information, efficiently front-loading the core operation and output.

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

Completeness4/5

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

Given the tool's simplicity and sibling context, the description adequately covers purpose and output; missing minor details like return format specificity.

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%; description adds no new meaning beyond what schema provides (e.g., page numbers already described as 1-based).

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 clearly states it removes specific pages from a PDF by 1-based numbers, distinguishing it from siblings like compress, merge, etc.

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?

No explicit guidance on when to use this tool vs alternatives; usage is implied but not detailed.

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

get_pdf_infoAInspect

Read-only. Return a PDF's page count and per-page dimensions (in points). Use this first to plan a split or rotate.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesThe PDF as a base64 string or an https URL.
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explicitly marks the tool as 'Read-only', which is a key behavioral trait. However, it does not disclose error handling or edge cases (e.g., invalid PDF), leaving some gaps for a tool with no annotations.

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?

Two short sentences: the first defines purpose and behavior, the second provides usage guidance. No redundant information, perfectly front-loaded.

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

Completeness4/5

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

For a simple info tool with one parameter and no output schema, the description adequately explains what it returns (page count and dimensions in points). Could mention whether dimensions include rotation or if it handles encrypted PDFs, but overall sufficient for an AI 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% for the single parameter 'pdf', which already specifies it can be a base64 string or https URL. The description adds no further details, so 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 clearly states it returns a PDF's page count and per-page dimensions, with a specific verb ('Return') and resource ('PDF's page count and per-page dimensions'). It distinguishes from action-oriented siblings like split or rotate.

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?

Explicitly advises using this tool first to plan a split or rotate, providing clear context for when to use it. Could be improved by noting when not to use (e.g., if only file info needed), but sufficient for this tool.

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

merge_pdfAInspect

Merge two or more PDFs into one, in the order given. Returns the merged PDF as base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfsYesOrdered list of PDFs, each a base64 string or https URL.
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses that inputs can be base64 or URLs and the output is base64. It does not mention non-destructiveness, error handling, or size limits, but for a simple merge, these are not critical gaps. The transparency is good.

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, front-loaded with the main purpose. Every word contributes meaning, with no wasted space.

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

Completeness4/5

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

Given the tool's simplicity, the description covers core functionality (merge, order, output format). It does not discuss edge cases or return format details beyond base64, but with no output schema, this is sufficient. Sibling tools provide context that it is one of many PDF operations.

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%: the input schema already describes the 'pdfs' parameter as an ordered list of base64 strings or https URLs. The description adds no new meaning beyond the schema, so it meets the baseline but does not exceed it.

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 merges two or more PDFs into one, preserving order, and returns the result as base64. This distinguishes it from sibling tools like compress_pdf, split_pdf, etc., which have different functions.

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 indicates the input order matters, implying when to use it (combining PDFs in a specific order). However, it does not explicitly state when not to use or compare with alternatives like split_pdf. The guidance is clear but not exhaustive.

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

protect_pdfAInspect

Encrypt a PDF with a password (AES). The result requires the password to open. Returns base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesThe PDF as a base64 string or https URL.
passwordYesPassword required to open the output PDF.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that encryption uses AES, the result requires the password to open, and returns base64. It does not mention side effects like whether the original file is modified, but the behavior is sufficiently described for a simple encryption 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?

Two concise sentences with no wasted words. The first sentence immediately states the core purpose and algorithm. The structure is front-loaded and efficient.

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

Completeness5/5

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

Given no output schema, the description covers the return format (base64). Input parameters are fully described. The tool is simple, and the description provides all necessary context for an agent to select and invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying that 'pdf' can be a base64 string or HTTPS URL, and states the return format (base64). This information is not in the schema, improving parameter understanding.

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 'Encrypt a PDF with a password (AES).' It specifies the verb (encrypt), resource (PDF), and method (password/AES), and distinguishes from sibling tools like compress_pdf or merge_pdf which perform different operations.

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 implicitly tells when to use this tool: when you need to password-protect a PDF. However, it does not explicitly mention when not to use it or provide alternatives (e.g., for removing passwords). The purpose is clear enough to avoid confusion with siblings.

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

rotate_pdfAInspect

Rotate pages of a PDF clockwise by 90, 180, or 270 degrees. Omit "pages" to rotate every page; otherwise pass 1-based page numbers. Returns base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesThe PDF as a base64 string or https URL.
pagesNoOptional 1-based page numbers to rotate; omit for all pages.
degreesYesClockwise rotation to add.
Behavior3/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. It discloses the operation (rotate), degrees spec, and return format (base64), but does not clarify whether the rotation modifies the original file or creates a new one, nor does it mention side effects or permissions.

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?

Two efficient sentences: first states purpose and degrees, second explains parameter usage. No extraneous information, front-loaded with the key action.

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

Completeness4/5

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

For a simple 3-parameter tool with no output schema and no annotations, the description adequately covers all parameters and the output format. It lacks details on error cases or limitations like file size, but is reasonably complete for typical 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?

Schema coverage is 100%, so baseline is 3. The description adds minimal value beyond the schema—it repeats the omission behavior already in the pages parameter description and the degrees direction already in the schema. No new parameter-level insight.

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 'rotate' and identifies the resource 'pages of a PDF', clearly distinguishing it from sibling tools like compress_pdf or merge_pdf. It is not a tautology.

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 clear parameter-level guidance ('omit pages to rotate every page; otherwise pass 1-based page numbers'), but does not explicitly state when to choose this tool over alternatives or mention any prerequisites.

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

split_pdfAInspect

Extract an inclusive, 1-based page range from a PDF into a new PDF. e.g. from=5,to=10 keeps pages 5–10. Returns base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesLast page to keep (1-based, inclusive).
pdfYesThe PDF as a base64 string or https URL.
fromYesFirst page to keep (1-based, inclusive).
Behavior3/5

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

The description discloses 1-based indexing and return format (base64) but does not mention side effects, whether the original PDF is modified, or behavior on invalid input. Given no annotations, more detail would be helpful.

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?

Two sentences, front-loaded with purpose, followed by an example and return type. No unnecessary words.

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

Completeness4/5

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

Covers core functionality, input parameters implicitly, and return type. Lacks mention of error handling or file size limits, but for a simple tool it is mostly 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 coverage is 100% with parameter descriptions. The description adds an example and clarifies inclusivity, providing some extra context but not substantially beyond the schema.

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 extracts a page range from a PDF to a new PDF with a concrete example. It effectively distinguishes from siblings like delete_pages or compress_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 on when to use this tool versus alternatives like compress_pdf or delete_pages. The description does not mention prerequisites or typical use cases.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A local-first PDF tool for merging, splitting, rotating, watermarking, Bates-numbering, cleaning metadata, and counting pages — all operations happen on your machine with no network transmission.
    Last updated
    7
    38
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for local PDF manipulation including merging, splitting, rotating, watermarking, and text extraction. It works with various MCP-compatible clients and processes PDFs entirely on-device without cloud services.
    Last updated
    11
    20
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Rust-powered PDF toolkit over MCP: create, read, and analyze PDFs; extract text and entities for RAG; convert to Markdown; split/merge/rotate/reorder pages; manage form fields and annotations; encrypt documents. Runs locally via uvx oxidize-mcp.
    Last updated
    12
    4
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources