Skip to main content
Glama
hermoso-ai

Hermoso

Official

Convert a OneDrive file to PDF or JPG

convert_onedrive_file
Read-only

Convert files stored in OneDrive to PDF or JPG for easy sharing and publishing. Supports 130+ source formats, including Office, PSD, AI, raw photos, and video, with Microsoft handling the conversion.

Instructions

Turn a file already in the user’s OneDrive into a PDF or a JPG — Microsoft does the conversion on its own servers, so nothing is re-encoded here and nothing is lost in a screenshot. It reads about 130 source formats, which is the point: PowerPoint and Word decks, Excel, Photoshop PSD, Illustrator AI, Sketch, 3D (fbx/glb/obj), video (mp4/mov/webm), HEIC from an iPhone, and the raw camera formats (CR2, NEF, ARW, DNG) that nothing else in this product can open. Use it to turn a client’s deck into images you can actually put in an ad, to get a usable JPG out of a designer’s PSD or a photographer’s raw file, or to hand someone a PDF of a spreadsheet. CONVERTING TO JPG REQUIRES BOTH width AND height — Microsoft refuses the call without them. The result is stored at a durable Hermoso URL you can pass straight to a render or a post; Microsoft’s own conversion link expires within minutes, so do not hand that one to anyone. Needs OneDrive connected — no new permission.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNoREQUIRED for jpg — output width in pixels
fileIdYesthe OneDrive item id, from list_onedrive_files
formatNodefault pdf
heightNoREQUIRED for jpg — output height in pixels

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.161

TDQS

A4.3/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: the conversion happens server-side by Microsoft ('nothing is re-encoded here'), the result lives at a durable Hermoso URL while 'Microsoft's own conversion link expires within minutes', and it only needs OneDrive connected with 'no new permission'. These are exactly the non-obvious traits an agent must know to use the result safely. No contradiction with readOnlyHint/destructiveHint.

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 front-loads the core purpose, then each subsequent block earns its place: format coverage, use cases, the JPG dimension constraint (in caps, drawing attention), URL durability warning, and permission note. The enumerated format list is somewhat verbose but serves the differentiator function. Slightly longer than the tightest possible version, but nothing is filler.

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 4-parameter tool with no output schema, the description covers the essentials: operation, supported formats, concrete use cases, a hard parameter constraint, the durability of the output URL, and the auth prerequisite. The one gap is that it never explicitly states the return shape — it strongly implies the durable URL is returned ('you can pass straight to a render or a post') but does not say so directly, and error behavior is undocumented.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters, establishing a baseline of 3. The description does add one meaningful nuance beyond the schema: it stresses that JPG requires BOTH width AND height together ('Microsoft refuses the call without them'), which clarifies the interdependence of those parameters. This is useful but marginal.

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 opening phrase 'Turn a file already in the user's OneDrive into a PDF or a JPG' gives a specific verb, resource, and output format. The description further differentiates the tool by enumerating ~130 source formats including raw camera formats 'that nothing else in this product can open', which sets it apart from sibling file tools like get_onedrive_file or get_drive_file.

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?

Three concrete use cases are given ('turn a client's deck into images you can actually put in an ad... get a usable JPG out of a designer's PSD... hand someone a PDF of a spreadsheet'), giving clear contextual guidance for when to invoke the tool. However, it never explicitly states when NOT to use it or names an alternative sibling for comparison, so exclusions are left to inference.

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

Deploy Server

Other Tools