Rotate PDF
rotate_pdfRotate every page of a PDF by 90, 180, or 270 degrees.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | A file_id from a prior tool result, or a base64-encoded PDF. | ||
| degrees | Yes | 90, 180, or 270. |
rotate_pdfRotate every page of a PDF by 90, 180, or 270 degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | A file_id from a prior tool result, or a base64-encoded PDF. | ||
| degrees | Yes | 90, 180, or 270. |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior beyond the action itself. It does not mention that the tool likely returns a new PDF file_id, whether it overwrites the input, or any side effects such as temporary file creation. The description only states what it does, not the complete behavioral contract.
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 well-formed sentence with no unnecessary words. It is front-loaded with the primary action and parameters, making it easy to scan and understand immediately.
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 is sufficient for a simple tool with no output schema, covering the core action and allowed degrees. It lacks details about return values (e.g., whether it returns a file_id) and potential error conditions, but these are less critical given the tool's simplicity and the schema's 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 description repeats the schema's parameter descriptions exactly ('pdf' and 'degrees') without adding any extra meaning. Since the schema already provides full descriptions for both parameters, the description contributes no additional semantic value, meeting the baseline for full 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 clearly specifies the verb ('Rotate'), the resource ('every page of a PDF'), and the exact allowed degrees (90, 180, or 270). It distinguishes this tool from sibling PDF operations like select_pages or split_pdf by indicating that all pages are affected.
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 select_pages for rotating a subset of pages or watermark_pdf for other modifications. The description does not state any prerequisites, recommended scenarios, or contrast with related tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes, such as extracting PDF text versus filling forms or rendering URLs to PDF versus screenshots. The only mild overlap is read_url and scrape_page, both fetching a URL, but their outputs are explicitly differentiated as clean Markdown versus raw HTML with metadata.
Names mostly follow a verb_noun pattern like extract_pdf_text, fill_pdf_form, and rotate_pdf. A few conversion tools use 'to' constructions (images_to_pdf, markdown_to_pdf, url_to_pdf) and some pluralize objects (merge_pdfs, select_pages), creating minor inconsistency but no real confusion.
With 15 tools, the set is at the upper edge of the ideal range and every tool serves a distinct, useful function within the PDF and URL processing domain. The count feels justified rather than excessive.
The PDF tooling covers creation from images and Markdown, text extraction, form filling and reading, merging, splitting, rotating, selecting pages, and watermarking. URL handling covers reading as Markdown, scraping raw HTML/metadata, generating PDFs, and taking screenshots, providing well-rounded coverage for the stated domain.