Convert.Online
Server Details
Convert files between 400+ image, video, audio, document, ebook, archive and font formats.
- Status
- Healthy
- Uptime
- 16.8% over 24 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct job: convert for the actual conversion (URL or import_id), create_upload for getting local files into the system, get_job for status, and list_formats/list_options for discovery. Even the potential overlap between create_upload and convert is clearly separated by their respective roles.
All tools follow a clean, predictable verb_noun pattern in lowercase snake_case: convert, create_upload, get_job, list_formats, list_options. The only exception is 'convert' which omits a noun, but as the primary action this is a natural and consistent choice.
Five tools is perfectly scoped for a conversion service: upload, convert, status, format discovery, and option discovery. There are no redundant or unnecessary tools, and the count is well within the ideal range.
The tool surface covers the full conversion lifecycle: getting files in (create_upload), converting (convert), checking results (get_job), and exploring supported options (list_formats, list_options). No essential operation appears to be missing for the stated purpose.
Available Tools
5 toolsconvertConvert a fileAInspect
Convert a file to another format and return a download link. Give it one of: source_url (any URL the server can fetch — the best option when the file is already somewhere reachable) or import_id (from create_upload — the way in for a file on someone's device or in your own sandbox, whatever its size). There is deliberately no way to pass the bytes inline: those calls are relayed and routinely never arrive, leaving the person watching a spinner. Settings such as resizing, quality or codecs go in options — call list_options first to get the exact names for the conversion. Runs against your account and counts toward your quota.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Conversion settings, keyed by the option names from list_options — e.g. {"resize_width_image": 1000, "aspect_ratio_image": true}. Names differ per conversion, so do not guess them. | |
| filename | No | File name of the source, e.g. "photo.jpg". Required with source_base64 unless input_format is given. | |
| import_id | No | Id returned by create_upload, after the bytes have been PUT to its upload_url. Use this for local files of any size. | |
| source_url | No | URL of the file to convert, fetched by our server. Any link reachable from the internet works, including a temporary or signed URL for a file the user attached to this conversation — prefer this whenever you have such a URL, because nothing about the file has to pass through the conversation itself. | |
| input_format | No | Source format (optional; inferred from the file name or URL). | |
| output_format | Yes | Target format, e.g. "jpg", "pdf", "mp3". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses that the tool runs against the user's account and counts toward quota, that the server fetches URLs, and that inline byte passing is deliberately unsupported because those calls fail. This adds meaningful behavioral context.
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?
Four sentences, each carrying distinct information: purpose, source selection, a warning about a common failure, and options/quota. It is slightly longer than necessary but every sentence 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?
The description covers the main decision points, but it doesn't mention that the conversion may be asynchronous (sibling get_job exists) or that list_formats should be checked for supported output formats. For a 6-parameter tool with no output schema, this is a notable gap.
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 baseline is 3. The description adds value by explaining the selection rule between source_url and import_id, stating that options must come from list_options, and clarifying the deliberate absence of an inline bytes parameter.
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 opens with a specific verb and resource: 'Convert a file to another format and return a download link.' It also distinguishes the tool from siblings by naming create_upload and list_options, making clear what this tool does versus uploading or listing.
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 explicit guidance on choosing between source_url and import_id, warns against attempting to pass bytes inline, and instructs the agent to call list_options for exact option names. This is direct, actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_uploadCreate an uploadAInspect
Get somewhere to put a local file — the right choice for ANY file that is not already at a URL, whatever its size. Say what the file should become in output_format: the conversion then starts on its own the instant the person sends the file, and collecting the result is all that is left. Returns an import_id plus two ways to deliver the bytes: a link to show the person so they upload from their own browser (use this when your own network cannot reach convert.online or storage), or a URL to PUT the bytes to yourself. Then call convert with the import_id to collect the result; it waits for the file to arrive.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Name of the file being uploaded, e.g. "photo.jpg" — the source format is taken from it. | |
| input_format | No | Source format, if the file name does not carry a usable extension. | |
| output_format | Yes | What the file should become, e.g. "png". Required: with it the conversion starts by itself when the file arrives, so nothing depends on a later call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond annotations: conversion starts automatically upon file arrival, two delivery mechanisms (browser link vs PUT URL) with a condition for choosing, and that convert waits for the file. It explains the async nature and the dependency on a later convert call, which is valuable context not present in annotations.
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 compact yet dense, with no filler. It front-loads the core purpose and then explains the return and next steps. While it's a bit long, each sentence serves a purpose, and the structure (purpose → behavior → delivery → next step) is logical. Slight deduction for length, but it's well-organized.
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?
With no output schema, the description properly explains the return values (import_id and two delivery methods) and the conditions for each. It also clarifies the auto-start conversion and the need to call convert. It doesn't cover potential errors or timeouts, but for this tool's complexity it is quite 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 description coverage is 100%, so the parameters are already well-documented. The description adds a little by emphasizing that output_format is required and that conversion starts with it, and that filename carries the source format. This matches the schema and doesn't add new semantics, so baseline 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 clearly states the tool's function: 'Get somewhere to put a local file' and distinguishes it from siblings by specifying it's for files 'not already at a URL'. It also explains the flow (conversion starts automatically, then collect via convert) and the return values, making the purpose 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?
Explicitly says this is 'the right choice for ANY file that is not already at a URL', establishing when to use it vs alternatives. It also gives a conditional for the browser-link delivery method ('when your own network cannot reach convert.online or storage') and directs the follow-up call to 'convert' with the import_id, which is clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jobGet job statusARead-onlyInspect
Get the status of a conversion job and its download link if finished.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job id returned by convert. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds a meaningful behavioral detail: the download link is only available 'if finished'. This implies the job may still be in progress. It doesn't describe exact status values, but for a simple read-only call this is sufficient context beyond the annotations.
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, front-loaded sentence that communicates both the primary purpose and the conditional detail about the download link. No filler, no repetition.
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 read-only status tool with one well-documented parameter, the description is complete. It states what is returned (status, and download link when finished) and the annotations cover the safety profile. No output schema exists, but the description sufficiently sets expectations.
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%, and the parameter description already explains that job_id is returned by convert. The tool description adds no new semantic detail about the parameter itself, so it stays at the baseline for high 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 states a specific verb ('Get'), a concrete resource ('status of a conversion job'), and an additional outcome ('download link if finished'). This distinguishes it from siblings like convert, create_upload, list_formats, and list_options, which serve different purposes.
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: this is the polling/status-check tool for an async conversion job. It doesn't explicitly name when not to use it or how it compares to alternatives, but the schema's mention that job_id comes from convert makes the intended workflow evident. No exclusions or conflicting usage guidance are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_formatsList formatsARead-onlyInspect
List supported conversion formats. With no argument returns all input formats; with input_format returns the formats that input can be converted to.
| Name | Required | Description | Default |
|---|---|---|---|
| input_format | No | Optional source format, e.g. "pdf". Omit to list all input formats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already signal read-only behavior, and the description adds meaningful conditional behavior: no argument returns all input formats, while input_format narrows results to valid conversions. This is valuable context beyond the schema and annotations.
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 no filler. The primary purpose is front-loaded, and the conditional behavior is stated efficiently without redundant detail.
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, optional-parameter, read-only listing tool with no output schema, the description covers the behavior an agent needs to call it correctly. Nothing important 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?
Schema coverage is 100%, so the schema already documents the parameter. The description adds semantic meaning by explaining the effect of omitting versus providing input_format, which goes beyond a simple type/description.
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 tool lists supported conversion formats and immediately distinguishes the two result modes based on the optional argument. This is specific enough to separate it from siblings like convert and list_options.
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 gives explicit guidance on when to omit or provide input_format, which is the main choice an agent faces. It does not explicitly contrast against sibling alternatives, but the behavioral distinction is clear and sufficient for this simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_optionsList conversion optionsARead-onlyInspect
List the settings a given conversion accepts — resize, quality, codecs, bitrate, trim, crop and so on, with their exact names, types and allowed values. Call this before convert whenever the user asks for anything beyond a plain format change, and pass what it returns in the convert tool's options object.
| Name | Required | Description | Default |
|---|---|---|---|
| input_format | Yes | Source format, e.g. "jpg". | |
| output_format | Yes | Target format, e.g. "png". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description doesn't need to re-establish that this is a safe read. It adds useful return-content detail (exact names, types, and allowed values) and ordering guidance, but it does not go into deeper behavioral traits like error conditions or how format pairing affects results.
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 sentences with no wasted words: the first front-loads what the tool returns, and the second gives a crisp call-timing instruction. The examples make the purpose concrete without bloat.
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?
With a complete schema and no output schema, the description adequately covers what the tool returns (exact names, types, and allowed values) and how to use the result. The agent knows why, when, and how to invoke it.
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 both input_format and output_format already have descriptive text and examples. The description adds no new parameter-level constraints or syntax beyond restating that these refer to source and target formats.
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 clear verb and resource: it lists the settings a given conversion accepts, with concrete examples like resize, quality, codecs, bitrate, trim, and crop. This distinguishes it from sibling tools like convert (which performs conversion) and list_formats (which lists formats).
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 explicitly says to call this before convert whenever the user asks for anything beyond a plain format change, and to pass the returned options into convert. It gives clear timing and a condition, though it does not explicitly contrast itself with list_formats or state when not to call it.
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.
5 tool updates
- First observed
convert - First observed
create_upload - First observed
get_job - First observed
list_formats - First observed
list_options
Related MCP Connectors
Convert files between 44 formats: documents, spreadsheets, images, ebooks, email and subtitles.
Convert files between 110+ document, image, audio, video, archive and ebook formats from AI agents.
Convert between 200+ format pairs: JSON, CSV, XML, YAML, PDF, Excel, DOCX and more.
Convert files between formats without quality loss. Speed up your workflow with fast, reliable con…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables file conversion between 690+ formats (image, video, audio, document, data, font, ebook, archive) using an MCP server, with no API key or signup required.29 npm5MIT

convert-online-mcpofficial
AlicenseNot gradedqualityBmaintenanceConvert files between 400+ image, video, audio, document, spreadsheet, ebook, archive and font formats, with OCR. A thin stdio client for the hosted Convert.Online REST API — it converts nothing itself and no file passes through the process.MIT- AlicenseNot gradedqualityDmaintenanceConverts various document formats to desired output formats, currently supporting PDF to image conversion. No access keys required for basic file format conversion operations.3MIT
- AlicenseAqualityDmaintenanceEnables conversion between multiple image formats including JPG, PNG, WebP, GIF, BMP, TIFF, SVG, ICO, and AVIF with quality control and batch processing capabilities.498 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.