Skip to main content
Glama

Server Details

Convert files between 110+ document, image, audio, video, archive and ebook formats from AI agents.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
22.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 8 tools

Disambiguation4/5

Core conversion lifecycle tools are distinct, but there is mild overlap between convert_file, upload_file, start_conversion, and get_upload_url, which all relate to getting a file into the system. Descriptions clearly signpost the preferred path and distinguish remote vs local handling, so misselection is unlikely but not impossible.

Naming Consistency5/5

All tool names use snake_case with consistent verb_noun patterns (get_*, list_*, start_*, upload_*, convert_*). No confusing mixed conventions.

Tool Count5/5

8 tools is well-scoped for a file conversion service: each maps to a clear step or query. get_upload_url is arguably extra but supports an alternative upload flow.

Completeness4/5

Covers format discovery, upload, conversion, job polling, download, and credit balance. Minor gaps exist around cancelling jobs, listing past conversions, or deleting files, but core workflows are complete.

Available Tools

8 tools
convert_fileConvert a file from a URLAInspect

End-to-end conversion of a remote file: fetches 'source_url' (with SSRF protection), uploads it to FileConvert, and starts a conversion from 'source_format' to 'target_format' (named by extension, e.g. png → webp, docx → pdf). Returns the conversion 'job_id' and the uploaded 'file_id'. Poll progress with get_job_status(job_id); when the status is Completed, call get_download_url(job_id) for the result. Conversions consume account credits. For a file you hold locally, use upload_file + start_conversion instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_urlYesPublic http(s) URL of the file to convert. It is fetched server-side with SSRF protection (private/loopback/link-local/metadata targets are refused). Max 200 MiB.
format_typeNoOptional category hint ('image', 'video', 'audio', 'document', 'archive', 'ebook'); only needed when an extension exists in several categories.
source_formatNoCurrent format of the file, named by extension, e.g. 'png', 'docx', 'mp4'. Required unless source_format_id is given.
target_formatNoDesired output format, named by extension, e.g. 'webp', 'pdf', 'mp3'. Must be in the same category as the source (image→image, document→document, …). Required unless target_format_id is given.
format_type_idNoAdvanced: numeric format-type id from list_formats. Not needed when formats are given by name.
source_format_idNoAdvanced: numeric id of the source format from list_formats. Alternative to source_format.
target_format_idNoAdvanced: numeric id of the target format from list_formats. Alternative to target_format.
additional_argumentsNoOptional free-form conversion arguments passed through to the converter.

TDQS

A4.6/5.0
Behavior4/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 — and it delivers meaningful traits: SSRF filtering on the server-side fetch, credit consumption per conversion, and the multi-step async lifecycle with the exact follow-up calls. It omits auth requirements, failure/partial-failure behavior, and whether a failed job still consumes credits, which keeps it short of a 5.

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?

Front-loaded with the end-to-end action, then workflow, then cost, then the alternative — a logical order with no filler sentences. The second sentence is long and dense given the 8-parameter surface, but it carries real information.

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?

Covers what a caller needs despite having no output schema: it names the returned job_id and file_id, the polling and download follow-ups, the credit cost, and the local-file alternative. The remaining unknowns (auth, error semantics) are peripheral to correct invocation.

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 the 3 baseline applies, but the description adds coordination value across 8 parameters: formats are named by extension, source and target must share a category, and the name-vs-id alternatives are framed as interchangeable. That cross-parameter framing goes slightly beyond the per-field schema text, warranting a modest bump.

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?

States a specific verb and resource with the full scope: fetch source_url, upload to FileConvert, and start a conversion. It explicitly distinguishes itself from upload_file/start_conversion for local files, so an agent can route correctly without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the complete operating procedure (call it, then poll get_job_status(job_id), then get_download_url(job_id) on Completed) and names the alternative path ('For a file you hold locally, use upload_file + start_conversion instead'). Both when-to-use and when-not-to-use are explicit.

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

get_balanceShow remaining creditsAInspect

Returns the credit balance of the account that owns the API key, plus where to get more. Every conversion costs credits; call this when a conversion fails with 'no credits' or when the user asks how many conversions they have left.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it makes clear this is a non-mutating read scoped to the API key's owning account, and it states what information is returned. It stops short of richer context such as whether the balance is cached or when it refreshes, which keeps it out of the top score.

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, no filler. The return value is front-loaded and the usage triggers follow immediately.

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?

For a zero-parameter read tool with no output schema and no annotations, the description supplies everything needed: what it returns, whose account it reflects, and when to invoke it. Nothing required for a correct call is missing.

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?

The tool takes zero parameters, so the schema cannot be misinterpreted and the 4 baseline applies. The description correctly adds no parameter discussion, matching the empty input 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 names a specific verb+resource ('Returns the credit balance of the account that owns the API key') and adds the secondary payload ('plus where to get more'). No sibling tool in the set touches account credits, so the agent can distinguish it immediately from convert_file, get_job_status, etc.

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?

It gives explicit trigger conditions: call when a conversion fails with 'no credits' or when the user asks how many conversions remain. There is no when-not guidance or named alternative, but no sibling offers balance data, so a real alternative clause is not needed.

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

get_download_urlGet a download URL for a converted fileAInspect

Returns the download URL of a converted file. Pass 'job_id' (conversion uid) to resolve the converted file of a finished conversion, or 'file_id' to download a known file uid directly. The URL needs no authentication (the unguessable file id is the capability), so it can be handed to the user or another system as-is. It stops working when the file's retention ends — about one hour after conversion by default — so download or share it promptly.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoThe conversion job id (conversion uid). When given, the converted file uid is resolved from the completed conversion. Provide either job_id or file_id.
file_idNoA file uid to download directly. Provide either job_id or file_id.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full load and does so well: it discloses that the URL is unauthenticated because the unguessable id is the capability, that it is therefore safe to hand off, and that it expires roughly one hour after conversion. These are exactly the behavioral facts an agent needs to avoid misuse.

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?

Three tightly written sentences, front-loaded with the return value and mode selection, then closing with the expiry caveat. No sentence is padding.

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?

The tool has no output schema and no annotations, so the description must explain the return (a URL), its auth model, and its lifetime — all of which are present. Nothing an agent needs to call it or use the result correctly is missing.

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 the baseline is 3, but the description reinforces the semantics with use-case framing (job_id resolves the converted output of a completed job; file_id addresses a file directly) and implies the either/or constraint. It adds modest value beyond the schema text.

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?

States a specific verb and resource ('Returns the download URL of a converted file') and immediately distinguishes its two operating modes — resolving via job_id versus addressing a known file_id. An agent can tell this apart from the sibling get_upload_url without opening the schema.

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?

It gives clear selection guidance between the two entry points (job_id for a finished conversion, file_id for a known uid) and advises acting promptly before retention lapses. It stops short of naming or excluding any sibling tool as an alternative.

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

get_job_statusGet conversion job statusAInspect

Returns the current status of a conversion job. Statuses: Pending → Processing → Completed or Failed (Failed includes the reason). Poll every 2–3 seconds after convert_file / start_conversion; when Completed, call get_download_url. Also returns the full conversion object, which includes the converted file uid once the job has finished.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe conversion job id (conversion uid) returned by convert_file.

TDQS

A4.7/5.0
Behavior4/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, and it does so well: it discloses the state machine (Pending → Processing → Completed/Failed), that Failed carries a reason, the recommended polling cadence, and that the response includes the full conversion object with the converted file uid. It does not mention auth requirements, job expiry, or behavior for an unknown job_id, so it falls short of exhaustive.

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?

Three tight sentences: identity, state lifecycle, then operational guidance, all front-loaded with no filler. Every sentence earns its place by covering purpose, states, and next action.

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?

With no output schema, the description compensates by explaining what is returned (status, failure reason, full conversion object with converted file uid). Combined with the polling cadence and the follow-up call, an agent has everything needed to poll and branch on the result.

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% and there is a single required parameter whose schema description already states it is the conversion uid. The description reinforces the provenance of the id (returned by convert_file), adding slight value but nothing beyond the schema's own text.

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?

States a specific verb+resource ('Returns the current status of a conversion job') and enumerates the exact states, which distinguishes it from siblings like convert_file or start_conversion that initiate work. An agent can identify this as the status-polling tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to call it ('Poll every 2–3 seconds after convert_file / start_conversion') and what to do next ('when Completed, call get_download_url'). This names both the triggering siblings and the follow-up sibling, leaving nothing to inference.

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

get_upload_urlGet file upload instructionsAInspect

Returns instructions for uploading an agent-local file into FileConvert. FileConvert does NOT use presigned upload URLs; instead you upload the file bytes directly to the gateway as a multipart/form-data POST. The response gives the exact URL, HTTP method, form field name and required Authorization header. After uploading you receive a file object whose 'uid' can be passed to a conversion. If your file is reachable over http(s), prefer convert_file(source_url, target_format) which fetches and uploads it for you. Works without an API key (the upload itself needs one).

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesThe name of the local file the agent wants to upload, e.g. 'report.docx'. Used for the multipart form filename.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses that no presigned URL is used, that bytes go to the gateway as multipart/form-data POST, what the response contains (URL, method, form field, Authorization header), and the auth nuance (works without an API key but the upload itself needs one). It omits failure behavior, size limits, and rate limits.

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?

Front-loads the key correction (no presigned URLs) and keeps each sentence informative — mechanics, response contents, post-upload flow, and the alternative path. It is slighting long at six sentences and the response-content sentence partially repeats the mechanics sentence, but there is no 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 one-parameter tool with no output schema, the description adequately explains what the response yields and how the returned file 'uid' feeds into a conversion, closing the loop an agent needs. Missing only edge-case behavior (failures, filename constraints), which is minor here.

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% and the single parameter is fully documented in the schema. The description adds no extra meaning about 'filename' beyond what the schema already states (its role as the multipart form filename), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('returns instructions for uploading an agent-local file') and clarifies the name is misleading — this is not a presigned-URL generator. It distinguishes itself from convert_file but does not differentiate from the sibling upload_file, which plausibly performs the actual byte upload, leaving one boundary ambiguous.

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?

Gives an explicit routing rule: if the file is reachable over http(s), prefer convert_file(source_url, target_format) instead, which is a clear when-to-use-alternative statement. It does not, however, say when to use this versus the sibling upload_file, so the alternative routing is only partial.

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

list_formatsList supported file formatsAInspect

Returns the file formats FileConvert can read and write, along with the format-type categories (image, video, document, audio, …). Use this first to discover valid 'format_type', 'source_format' and 'target_format' identifiers before calling convert_file. Each format includes its numeric id, name, file extension and description. Optionally pass 'format_type' to filter to a single category. Works without an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
format_typeNoOptional format-type name to filter by (e.g. 'image', 'video', 'document'). When omitted, all formats across all types are returned.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does meaningful work: it discloses the returned fields (numeric id, name, extension, description), the optional filter behavior, and that no API key is required. It does not cover pagination, result size, or error behavior, so it stops short of full disclosure.

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?

Front-loaded with what is returned, then the routing advice, then the filter, then the auth note. Four short sentences, none of which is filler or duplicative of the schema.

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?

There is no output schema, so the description must describe the return payload, and it does so concretely (id, name, extension, description, categories). Combined with the filter semantics and the no-API-key note, an agent has everything needed to call and consume it.

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?

The single parameter is already 100% documented in the schema, so the baseline is 3. The description adds the omitted-case semantics ('When omitted, all formats across all types are returned') and gives example categories, which goes modestly beyond the schema text.

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?

Specific verb+resource (returns file formats FileConvert can read and write) plus the accompanying format-type categories. It also positions itself against the sibling convert_file, which consumes the identifiers it returns, so an agent can distinguish it from get_balance, get_job_status, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this first to discover valid format_type, source_format and target_format identifiers before calling convert_file', naming the alternative and the sequencing condition. That is direct when-to-use guidance tied to a concrete sibling.

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

start_conversionConvert an already uploaded fileAInspect

Starts a conversion of a file that is already in FileConvert (a 'file_id' from upload_file or from an earlier job) from 'source_format' to 'target_format' (named by extension). Returns the 'job_id' to poll with get_job_status. Conversions consume account credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesThe file id returned by upload_file (or by a previous conversion's converted file).
format_typeNoOptional category hint ('image', 'document', …) when an extension exists in several categories.
source_formatNoCurrent format of the file by extension, e.g. 'docx'. Required unless source_format_id is given.
target_formatNoDesired output format by extension, e.g. 'pdf'. Same category as the source. Required unless target_format_id is given.
format_type_idNoAdvanced: numeric format-type id from list_formats.
source_format_idNoAdvanced: numeric source format id from list_formats.
target_format_idNoAdvanced: numeric target format id from list_formats.
additional_argumentsNoOptional free-form conversion arguments passed through to the converter.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose two non-obvious traits: the operation is asynchronous (returns job_id to poll) and it consumes account credits. It does not cover auth/permission needs, failure behavior on incompatible format pairs, or credit amounts.

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?

Three tight sentences, front-loaded with the action, then preconditions, return value, and cost. Every sentence carries information an agent needs before calling.

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 an 8-parameter tool with a nested object and no output schema, the description covers the async return contract and the cost side effect, which is what the agent most needs. It is slightly incomplete on the mutual exclusivity of the extension-based vs numeric-id format parameters.

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 parameters are already well documented and the baseline is 3. The description restates the source_format/target_format extension convention but adds nothing about the *_id alternates, format_type/format_type_id precedence, or what additional_arguments accepts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource (starts a conversion of an already-uploaded file) and constrains the input to a file_id already in FileConvert. This implicitly separates it from convert_file, which handles not-yet-uploaded files, though it never names that sibling outright.

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?

It states the precondition clearly (file_id must come from upload_file or a previous job) and names the follow-up tool (get_job_status) for polling. It stops short of an explicit when-not/alternative branch naming convert_file, so it is clear context rather than full routing guidance.

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

upload_fileUpload a file you hold locallyAInspect

Uploads file bytes (base64) into FileConvert and returns a 'file_id'. Use this when the file is not reachable by URL, then call start_conversion(file_id, source_format, target_format). For files reachable over http(s), convert_file is a single call instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesFile name with extension, e.g. 'report.docx'. The extension helps the converter detect the format.
content_base64YesThe file bytes encoded as base64 (standard or URL-safe alphabet, padding optional). Up to 25 MiB decoded; larger files should be given to convert_file by URL.

TDQS

A4.2/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It does disclose the mutation's key output ('returns a file_id') and the required chaining step, plus the practical constraint in the body that URL-reachable files should skip this path. However, it says nothing about auth requirements, idempotency, retention of uploaded files, or error behavior for oversized/invalid payloads.

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?

Three tight sentences: what it does, when to use it plus the next call, and the cheaper alternative. Purpose and routing decision are front-loaded with zero 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?

There is no output schema, and the description correctly names the returned identifier and the call that consumes it, which is the main thing an agent needs. It is slightly incomplete on failure modes and limits relative to the schema-documented size cap, but a caller has enough to invoke it correctly.

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 both parameters (filename, content_base64) are already fully documented, including the 25 MiB decoded limit and base64 alphabet tolerance. The description touches base64 encoding and the size/URL tradeoff but adds no new syntax or format meaning beyond the schema. Baseline 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?

States a specific verb and resource ('Uploads file bytes (base64) into FileConvert') and names the artifact it produces ('file_id'). It also distinguishes itself from convert_file, so an agent can pick between them without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit condition for use ('when the file is not reachable by URL'), names the alternative for the opposite case (convert_file for http(s)-reachable files), and prescribes the follow-up call start_conversion(file_id, source_format, target_format). Nothing is left to inference.

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.

  1. 8 tool updates
    • First observedconvert_file
    • First observedget_balance
    • First observedget_download_url
    • First observedget_job_status
    • First observedget_upload_url
    • First observedlist_formats
    • First observedstart_conversion
    • First observedupload_file

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    File conversion for AI agents: office docs to PDF, PDF to Word, document interchange (Markdown/HTML/EPUB/LaTeX), and audio/video transcodes via the hushvert hosted API. Tools: convert_file, convert_poll, list_formats, check_usage.
    4
    36 npm
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to convert documents, images, and data files across 50+ format pairs and to run PDF/image operations such as merge, split, compress, rotate, protect, unlock, extract text, and resize or compress images. Files are passed URL-in and returned URL-out (or saved locally in stdio mode), with tools for checking credits and generating Stripe checkout or billing-portal links.
    18
    45 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources