pdf-tools
Server Details
Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
10 toolsadd_page_numbersAInspect
Stamp page numbers onto every page of a PDF. Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| size | No | Font size 6–24, default 12 | |
| start | No | First number, default 1 | |
| format | No | Default n | |
| position | No | Default bottom-center |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds 'Returns base64', which is useful, but does not clearly state whether the original file is modified, whether a new PDF is produced, or any error conditions. Some behavior is disclosed, but the mutation/return semantics are 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?
Two short sentences with no filler; the main action is front-loaded and the output encoding is stated next. 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?
For a moderate-complexity PDF transformation, the schema documents all parameters and the description supplies the output format. It is complete enough for an agent to invoke successfully, though it could note whether the input file is replaced or a new PDF is returned.
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%, so the description need not repeat parameter details. The description does not add anything about the parameters beyond what the schema provides, which is acceptable given the baseline for full 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?
States a specific verb ('stamp') and resource ('every page of a PDF'), and the sibling tools are all distinct PDF operations. The purpose is immediately clear and 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 description conveys the intended use by naming the operation, but it does not explicitly mention when to choose it over watermark_pdf or other siblings. Usage is implied rather than stated as a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_pagesAInspect
Extract the given pages into a new PDF (original order). Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| pages | Yes | Page list like "2, 5-7" (1-based) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully discloses that a new PDF is produced with original page order and that the return value is base64, but it does not mention side effects on the input, invalid page handling, or error cases.
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, dense sentence that conveys the action, the scope, the ordering behavior, and the return format with no wasted words. The most important information is up front.
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 two-parameter tool with complete schema coverage, the description provides the key behavioral facts: extraction into a new PDF, original order preservation, and base64 return. It does not cover edge cases or error behavior, but the core calling context is sufficiently 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?
The input schema already documents both parameters fully, including the base64 format and page list syntax. The description adds no additional parameter-level detail, so the schema carries the explanatory weight and the baseline score 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 states a specific verb ('Extract'), a resource ('pages'), and the result ('a new PDF'), making the operation clear. The phrase 'original order' adds useful precision and helps distinguish this from related tools like remove_pages or split_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 the tool is for creating a new PDF from a subset of pages in their original order, but it does not explicitly state when to prefer it over alternatives like remove_pages or split_pdf. Usage context is inferable but not directly spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flatten_pdfAInspect
Flatten fillable form fields into permanent page content so answers can't be edited. Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) |
TDQS
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 the operation is a destructive, non-editable transformation ('permanent page content', 'answers can't be edited') and states the return format ('Returns base64'). It lacks details about irreversibility or side effects, but the core behavior is clearly disclosed.
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 front-loads the action and effect, then adds the essential return format. Every word earns its place with no redundancy.
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 single-parameter tool with no output schema, the description is nearly complete: it explains the transformation, the permanence of the output, and the return format. It could mention irreversibility or input requirements, but the schema covers the size limit and the description covers the core 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?
Schema coverage is 100%, and the schema already documents both the base64 encoding and the 10 MB limit. The description adds no parameter-level detail beyond identifying the input as a PDF, 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 and resource ('Flatten fillable form fields into permanent page content') and clearly states the intended effect. It is distinct from all sibling PDF tools, none of which relate to flattening forms.
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 conveys the purpose and the outcome ('so answers can't be edited'), which implies when to use it. It does not explicitly name alternatives or exclusion conditions, but the tool is unique among the siblings, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pdf_metadataAInspect
Read a PDF's document properties (title, author, subject, keywords, creator, producer, dates, page count).
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the behavioral burden. The verb 'Read' implies no modification, but the description does not explicitly state that the file is unchanged, what the return structure looks like, or potential errors (e.g., invalid PDF). This is adequate for a simple getter but not fully transparent.
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?
A single, well-structured sentence that leads with the verb and resource, then concisely lists the relevant metadata fields. No filler or redundancy.
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 and the schema covers the only parameter, but with no output schema and no annotations, the description should ideally state what the returned metadata looks like (e.g., a structured object) and confirm the operation is non-destructive. It is complete enough for basic use but leaves some ambiguity.
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 the single 'file' parameter and its base64/max-size details. The description adds no extra meaning about the parameter itself, just about the output, so the baseline 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 ('Read'), a clear resource ('a PDF's document properties'), and enumerates the exact fields (title, author, subject, keywords, etc.). It is unmistakably distinct from sibling tools like set_pdf_metadata and the page-manipulation 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 context is clear: use this when you need to inspect a PDF's metadata. It does not explicitly name alternatives or state when not to use it, but the read-only intent and the sibling set_pdf_metadata make the intended usage obvious enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_pdfsAInspect
Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | 2+ PDFs, base64-encoded, in merge order |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses order preservation and base64 return, but does not mention whether originals are left untouched, size limits on output, or error behavior. Nothing contradicts, but for a tool that creates a new file, more side-effect context would help.
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?
A single sentence that front-loads the operation and includes the key behavioral detail (order) plus return format. No filler or redundancy.
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 one-parameter tool with full schema coverage and no output schema, the description covers what an agent needs: input type, order semantics, and return format. It does not mention edge cases like output size or metadata, but those are not essential for correct 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?
Schema description coverage is 100%, so the baseline is 3. The schema already documents base64 encoding, 10 MB max per file, 2+ files, and merge order. The description only echoes 'order given' and adds the return format, adding no new parameter meaning.
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?
States a specific verb (merge), resource (PDF files), order sensitivity, and output format (base64). Clearly distinguishable from sibling tools like split_pdf or extract_pages.
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?
Does not explicitly state when to use this tool versus alternatives. The intended use is strongly implied by the name and sibling set, but no conditions, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_pagesBInspect
Delete the given pages from a PDF. Returns the remaining document as base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| pages | Yes | Page list like "2, 5-7" (1-based) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It does disclose the destructive nature ('Delete') and the output format ('Returns the remaining document as base64'), which is helpful. However, it does not mention edge cases like invalid page ranges, page ordering, or effect on PDF metadata.
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 primary action and includes the important return format. No filler or redundant 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?
Given the simple two-parameter tool and fully covered schema, the description covers the core operation and output. However, the lack of usage guidance, alternatives, or edge-case warnings leaves an agent uncertain about selection among sibling tools and behavior on invalid input.
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 both `file` and `pages`. The description adds no parameter-level detail beyond what the schema provides, matching the baseline for fully covered schemas.
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 ('Delete') and the resource ('the given pages from a PDF'), and even mentions the return format. However, it does not explicitly differentiate the operation from siblings like extract_pages or split_pdf, so it is clear but not fully distinguishing.
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 gives no guidance on when to use this tool versus alternatives such as extract_pages, split_pdf, or rotate_pdf. The intended use is implied by the action, but there are no explicit conditions, exclusions, or comparisons with sibling tools.
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 clockwise by 90, 180, or 270 degrees. Rotates all pages unless a page list is given. Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| pages | No | Optional page list like "1, 3"; omit to rotate all | |
| degrees | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It reveals the clockwise orientation, default page scope, and that the tool returns base64, which implies a transformation rather than an in-place modification. It could add side-effect or permission details, but the core behavior is transparent.
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?
Three tightly written sentences, each adding distinct information: the operation, the default scope, and the return format. No filler or redundant restatement.
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 three parameters and no output schema, the description covers the key invocation details and the return type. It does not describe output structure beyond base64, but that is sufficient for an agent to call the tool and handle the result.
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 moderate at 67%, and the description adds meaning beyond the schema: it specifies clockwise direction for degrees and clarifies that omitting pages rotates the entire document. The page-list example '1, 3' gives useful concrete syntax guidance.
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?
States a specific verb and resource: rotate pages by fixed clockwise degrees. The operation is distinct from all siblings, which handle extraction, merging, splitting, flattening, metadata, or watermarking.
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 clearly defines the default behavior (rotate all pages) and the condition for a narrower operation (provide a page list). It does not explicitly name alternatives or exclusions, but no sibling performs rotation, so the intended use is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_pdf_metadataAInspect
Rewrite a PDF's document properties. Pass empty strings to strip identifying metadata before sharing. Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| title | No | ||
| author | No | ||
| creator | No | ||
| subject | No | ||
| keywords | No | Comma-separated | |
| producer | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the tool's mutating/transformative nature, the empty-string stripping behavior, and the base64 return format. It does not cover side effects or error handling, but the essential agent-relevant behavior is present.
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 two short sentences with no filler. It front-loads the core action, then adds a practical usage tip and the return format. Every clause 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 low schema coverage and lack of output schema, the description covers the return format and a main use case, which is sufficient for basic invocation. However, it leaves ambiguity about what happens when optional metadata parameters are omitted and does not explicitly orient the agent toward get_pdf_metadata as the read counterpart.
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 low at 29%, but the description adds one important value-level semantic: empty strings strip metadata. Parameter names like title, author, and keywords are self-explanatory, and the schema documents file and keywords format. The description partially compensates for the coverage gap but does not explain omitted-parameter behavior.
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 states a specific action ('Rewrite') on a specific resource ('PDF's document properties'), which clearly defines the tool's function. This also differentiates it from siblings like get_pdf_metadata and the page-manipulation tools without needing to open their schemas.
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 concrete use case: 'Pass empty strings to strip identifying metadata before sharing.' However, it does not explicitly say when to prefer this tool over get_pdf_metadata or mention alternatives, so the routing guidance is only 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.
split_pdfAInspect
Split a PDF into parts. Provide ranges like "1-3, 5, 8-10" (each comma group becomes one output PDF), or omit ranges to get every page as its own PDF. Returns base64 files.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| ranges | No | e.g. "1-3, 5, 8-10"; omit for one file per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does disclose the base64-file return format and default page-splitting behavior, but it does not state whether the input PDF is modified, how the returned files are structured, or any failure/limit behavior.
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?
Two concise sentences with a concrete example, the default behavior, and return format. Every clause earns its place and no filler is present.
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 two-parameter tool, the description covers input format, range syntax, default behavior, and return type. It could improve by adding sibling-tool routing or an example of the returned base64 structure, but nothing essential is 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 covers the parameters, but the description adds meaning by explaining that each comma group becomes one output PDF and that omitting ranges yields one PDF per page. This goes beyond the schema's terse examples.
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?
States a specific action ('Split a PDF into parts') and defines the output granularity with range syntax. It is clear but does not explicitly distinguish itself from the similar extract_pages or remove_pages siblings.
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?
Provides two clear usage modes: supply comma-separated ranges for grouped outputs, or omit ranges for one file per page. It does not explicitly state when to prefer this over sibling tools, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watermark_pdfAInspect
Stamp a diagonal text watermark (e.g. "CONFIDENTIAL", "DRAFT") across every page. Returns base64.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The PDF file, base64-encoded (max 10 MB) | |
| size | No | Font size in points, 8–200, default 60 | |
| text | Yes | Watermark text | |
| color | No | Default gray | |
| opacity | No | 0.02–1, default 0.15 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses useful behavior: diagonal placement, all pages, and base64 return. It does not state whether the operation modifies the original file or returns a new watermarked PDF, which is a meaningful side-effect 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?
One short sentence front-loads the action and output. No filler; every phrase adds information, and examples make the tool immediately understandable.
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 low-complexity tool with fully described parameters, the description is nearly complete: input and output formats are indicated and all constraints are in the schema. The only notable omission is explicit confirmation that a new file is returned rather than the original being mutated, so it is not 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 coverage is 100%, so the schema already documents all 5 parameters with types, defaults, and constraints. The description adds only example values and the 'every page' effect, which is helpful but not needed for parameter meaning.
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 ('Stamp') and resource ('watermark across every page'), distinguishes the behavior (diagonal, every page) and gives concrete example text. It clearly differentiates from sibling PDF operations like splitting or merging.
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?
It conveys an implied use case: adding a label like 'CONFIDENTIAL' or 'DRAFT' to a full PDF. However, it never explicitly says when to prefer this over siblings or mentions non-use cases, so guidance remains implicit rather than explicit.
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.
10 tool updates
- First observed
add_page_numbers - First observed
extract_pages - First observed
flatten_pdf - First observed
get_pdf_metadata - First observed
merge_pdfs - First observed
remove_pages - First observed
rotate_pdf - First observed
set_pdf_metadata - First observed
split_pdf - First observed
watermark_pdf
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Merge, split, extract, rotate, reorder and stamp PDF pages from your AI chat, all offline.
Privacy-first PDF tools over MCP: merge, split, rotate, delete, compress, protect, inspect.
49 free agent tools: WHOIS, PDF to text, email checks, FX rates, X12 EDI, JSON repair. No API key.
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenancePrivacy-first file tools for AI agents, enabling operations like PDF merge/split, image compression/convert, metadata stripping, and background removal without storing files.57MIT
- FlicenseNot gradedqualityCmaintenanceA local PDF manipulation server for AI agents that provides tools for merging, splitting, extracting info, and converting images to PDF, all without uploading files.-
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to perform comprehensive PDF operations locally, including compression, text extraction, PII redaction, page organization, splitting, merging, watermarking, creation, and form filling, all without cloud uploads.323-
- AlicenseCqualityBmaintenanceEnables AI assistants to perform PDF operations like merge, split, compress, convert, encrypt, OCR, and summarize using natural language.9824MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct PDF operation: page numbering, watermarking, flattening, metadata read/write, and various page selection/rearrangement tasks. Although extract_pages, remove_pages, and split_pdf all involve page ranges, their descriptions clearly differentiate extracting a subset, deleting a subset, and partitioning into multiple outputs.
All tool names follow a consistent verb_noun pattern in lowercase snake_case, such as add_page_numbers, get_pdf_metadata, merge_pdfs, and rotate_pdf. The pattern is predictable across the entire set, with no mixed conventions or vague verbs.
Ten tools is a well-scoped size for a PDF utility server. Each tool earns its place by covering a distinct common PDF manipulation task without redundancy or feature bloat.
The toolset covers core PDF operations: page extraction, removal, splitting, merging, rotation, watermarking, page numbering, flattening, and metadata read/write. Notable minor gaps include encryption/decryption and page reordering, but the provided surface handles most routine PDF workflows without dead ends.