FreeDailyPro Media Tools
Server Details
22 stateless media tools for AI agents: convert, resize, crop, trim, merge, normalize and subtitle images, audio and video. Nothing is stored.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 22 tools
Each tool targets a distinct domain+operation (audio/image/video prefix plus a single unambiguous action), so there is little chance of misselection. The few superficially similar pairs (audio_compress vs audio_convert, video_compress vs video_convert, image_crop vs image_resize) are separated by explicit descriptions about file-size targeting versus format/dimension changes.
All 22 tools follow the same predictable domain_action pattern (audio_*, image_*, video_*), with consistent snake_case and no mixed conventions. Minor stylistic variation like audio_pitch/audio_speed versus audio_remove_silence does not break readability or predictability.
22 tools is on the heavy side of the scale, but the server spans three distinct media domains (9 audio, 5 image, 8 video), so roughly seven operations each is defensible. Almost every tool maps to a genuinely different transformation rather than a redundant convenience wrapper.
The surface covers the core transform lifecycle well across all three media types, including conversion, trimming, compression, merging, and extraction. Gaps exist: no media probe/metadata tool, no image file-size compression despite audio/video having one, and no video crop/resize or watermarking operations.
Available Tools
22 toolsaudio_compressCRead-onlyIdempotentInspect
Compress audio toward a target file-size percentage client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| targetPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — it doesn't say what 'client and server side' means operationally, whether the original is preserved, or what happens near the 0/1 bounds of the target percentage.
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?
It is a single sentence with the verb front-loaded, which is good, but the tail 'client and server side from freedailypro' is dead weight that could be cut without losing information.
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?
A two-parameter tool with no output schema and zero schema descriptions should use its description to explain input encoding, size limits, and the return form (e.g., a compressed base64 payload). None of that is present, leaving the agent under-informed for 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 0%, so the description must compensate. It does partially: 'target file-size percentage' gives meaning to targetPercent (consistent with the 0–1 default of 0.5), but fileBase64 is left entirely undocumented in both schema and description, and the percentage's 0–1 range vs. a 0–100 interpretation is left ambiguous.
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 opening clause names a specific verb and resource (compress audio) with a quantifiable goal (target file-size percentage), which is enough to distinguish it from audio_convert or audio_normalize. The trailing phrase 'client and server side from freedailypro' adds vendor noise rather than clarity, and the sibling distinction is never stated explicitly.
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?
There is no guidance on when to compress versus converting (audio_convert) or normalizing (audio_normalize), and no prerequisites or input constraints are mentioned. The agent must infer the use case entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_convertCRead-onlyIdempotentInspect
Convert audio between formats client and server side from freedailypro (mp3/wav/ogg/m4a/flac)
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds nothing behavioral beyond the format list already present in the schema enum — it doesn't say whether output is returned as base64, a file reference, or a URL, nor any size/duration limits. 'client and server side' is indeterminate filler.
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 core action, but it wastes words on the ambiguous 'client and server side from freedailypro' clause while omitting information that would actually help an agent invoke it.
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?
There is no output schema, so the description should explain what comes back — a converted audio blob, base64 string, or link — and it does not. For a tool with two required parameters at 0% schema coverage, one of which (fileBase64) is entirely undocumented, the definition is not complete enough to call reliably.
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 0%, so the description carries the full burden for two required parameters. It restates the format enum (already fully enumerated in the schema) but says nothing about fileBase64 — whether it is raw base64 of the audio bytes, whether a data URI prefix is accepted, or any size limit.
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 (Convert) and resource (audio) plus the supported target formats, so the agent can tell this apart from audio_compress, audio_merge, or audio_normalize at a glance. The trailing 'client and server side from freedailypro' adds no discriminating meaning.
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 on when to choose this over the many adjacent audio siblings (audio_compress for size reduction, video_extract_audio for pulling audio out of video), and no prerequisites or exclusions stated. Usage is only implied by the word 'Convert'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_denoiseCRead-onlyIdempotentInspect
Reduce background noise in audio client and server side from freedailypro -- FFT-based spectral subtraction
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| strengthDb | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only the algorithm (FFT-based spectral subtraction) and says nothing about max input size, format constraints, or whether the denoised audio is returned as base64 — the operationally important details for this kind of tool.
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 sentence with the purpose front-loaded, which is good, but the phrase 'client and server side from freedailypro' is filler that dilutes the useful content. The description is short yet partially wasted.
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?
Two undocumented parameters, no output schema, and no statement of what the tool returns or how large an input it accepts. For an audio transformation tool whose output must be conveyed back to the caller, this leaves significant unanswered questions.
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 0%, so the description must compensate, and it does not mention either parameter. fileBase64 and especially strengthDb (a dB value with a default of 20 and exclusiveMinimum 0) are left entirely unexplained — no units, no range guidance, no effect of higher vs lower values.
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+resource (reduce background noise in audio), which clearly distinguishes it from siblings like audio_normalize, audio_compress, or audio_remove_silence. The trailing 'client and server side from freedailypro' is vendor boilerplate that does not add clarity but does not obscure the purpose either.
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 indication of when to prefer this over audio_normalize, audio_compress, or audio_remove_silence, nor any prerequisites such as supported formats or size limits. The agent must guess at the boundary between denoising and related audio tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_mergeCRead-onlyIdempotentInspect
Merge multiple audio files into one client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| filesBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds little beyond that; 'client and server side from freedailypro' is vague and does not usefully explain execution location, format compatibility, or the returned artifact.
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 single sentence is short but not efficient: 'client and server side from freedailypro' is pure marketing noise that contributes nothing to invocation. The actionable part ('merge multiple audio files') is there but is not followed by any useful specifics.
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 tool with no output schema and a single undocumented parameter, the description should at least cover output format and input format compatibility. It leaves these unspecified, so an agent cannot confidently predict what a merge returns or what inputs are accepted.
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 0% with one required parameter, so the description must compensate. It only says 'multiple audio files', which is roughly redundant with the param name filesBase64, and never states that inputs are base64 strings, that at least two are required, or any per-file format constraints.
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 and resource ('Merge multiple audio files into one'), which cleanly separates it from siblings like audio_convert, audio_trim, or audio_normalize. However, the trailing phrase 'client and server side from freedailypro' is ambiguous filler that muddies rather than sharpens the purpose.
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?
There is no guidance on when to choose audio_merge over alternatives such as audio_convert or video_merge, and no prerequisites (e.g. matching codecs/sample rates) are mentioned. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_normalizeCRead-onlyIdempotentInspect
Normalize audio loudness client and server side from freedailypro -- EBU R128 broadcast standard
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — normalization targets the EBU R128 loudness standard — but says nothing about output format, whether it returns processed audio, or limits on input size.
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?
It is a single short sentence, so it is not bloated, but 'client and server side from freedailypro' is filler that occupies the front-loaded position where usage guidance should be. The one substantive fact (EBU R128) is buried at the end.
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 and no annotations describing the return value, the description should explain what comes back (normalized audio bytes, a URL, a report of gain applied) but does not. For a transformation tool whose whole value is the produced artifact, this is a meaningful 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?
There is a single parameter, fileBase64, with 0% schema description coverage, and the description never mentions it. The name is fairly self-explanatory (base64-encoded audio), but nothing confirms accepted audio formats, size limits, or whether the base64 should include a data-URI prefix.
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 ('Normalize audio loudness') plus the target standard (EBU R128), so the agent knows what the tool produces. However, it gives no differentiation from the many audio_* siblings such as audio_compress or audio_denoise, and the 'client and server side from freedailypro' phrase is marketing noise rather than purpose.
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?
There is no statement of when to use this tool versus alternatives like audio_compress or audio_convert, and no prerequisites or context for the input. The agent must infer that this is the loudness-normalization option purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_pitchCRead-onlyIdempotentInspect
Shift audio pitch without altering speed client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| semitones | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, idempotent, closed-world), so the bar is lower. The description does add one behavioral trait beyond annotations - the operation preserves playback speed (tempo-preserving time stretch avoided such as audio_speed) - but omits input format constraints, size limits, and output format.
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?
It is short and front-loads the core action, which is good. However the trailing fragment 'client and server side from freedailypro' is confusing vendor noise that does not earn its place and slightly obscures rather than clarifies.
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 audio transform with no output schema, the description should at minimum indicate supported input audio formats, the practical range of semitones, and what the caller receives back. None of that is present, leaving an agent unable to call the tool correctly without guessing.
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 0% and neither of the two parameters is explained. The description hints that pitch is the axis of change (implying 'semitones' is the shift amount) but gives no unit range or valid bounds, and says nothing about the expected format/encoding of 'fileBase64'.
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+resource ('Shift audio pitch') and adds a differentiating scope constraint ('without altering speed') that separates it from the adjacent audio_speed tool. The trailing vendor phrase adds noise but the core purpose is 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?
No when-to-use or when-not-to-use guidance is given. It never names an alternative such as audio_speed or audio_convert, so the agent must infer the distinction from the 'without altering speed' phrase alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_remove_silenceCRead-onlyIdempotentInspect
Remove silence throughout an audio file client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| thresholdDb | No | ||
| minDurationSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, so the safety profile is covered. The description adds nothing about how silence is detected, whether a new file is returned, or what 'client and server side' processing means for the caller – that phrase is unclear rather than informative.
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, so it is compact, but the tail clause about 'client and server side from freedailypro' consumes space without conveying actionable meaning.
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?
No output schema and no parameter documentation, so the agent knows neither how to tune the silence detection nor what the result looks like. The description should at minimum explain threshold and minimum-duration 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?
Three parameters with 0% schema description coverage, and the description mentions none of them. thresholdDb and minDurationSeconds carry defaults of -30 and 0.3 but their meaning is left entirely to the names, which is a real gap for a configurable audio operation.
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: removing silence from an audio file, with the qualifier 'throughout' that hints at whole-file rather than edge-only trimming. The trailing phrase 'client and server side from freedailypro' is opaque noise, and it never names audio_trim as the boundary case.
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 when-to-use guidance and no mention of alternatives such as audio_trim (edge trimming) or audio_denoise (noise removal), which are the obvious siblings an agent would confuse this with. The agent must infer selection from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_speedBRead-onlyIdempotentInspect
Change audio playback speed without altering pitch client and server side from freedailypro -- 0.5 to 2.0
| Name | Required | Description | Default |
|---|---|---|---|
| speed | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds the pitch-preservation behavior and the 0.5–2.0 range, but the phrase 'client and server side from freedailypro' is opaque and it omits the operation's permissions and result format.
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?
Single front-loaded sentence with the core verb first, which is good, but the trailing 'client and server side from freedailypro' fragment is noise that muddies rather than informs.
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 mutation-style tool with no output schema and 0% schema description coverage, the definition does not document the fileBase64 input, expected audio format, or what the tool returns. It is not complete enough for an agent to invoke confidently without guessing.
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 0%, so the description carries the full burden. It repeats the speed range already encoded as min/max in the schema but says nothing about 'fileBase64' — the agent must infer it is the source audio encoded as base64, and the expected encoding/format is undocumented.
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 ('Change audio playback speed') and adds a differentiating qualifier ('without altering pitch') that separates it from the sibling audio_pitch. The trailing 'client and server side from freedailypro' is confusing but does not obscure the core purpose.
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?
Usage is only implied: 'without altering pitch' hints that audio_pitch is the alternative for pitch changes, but the description never explicitly says when to pick this tool over audio_pitch or the other audio_* siblings. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audio_trimCRead-onlyIdempotentInspect
Trim audio to a time range client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| endSeconds | Yes | ||
| fileBase64 | Yes | ||
| startSeconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered; a read-only trim that returns new audio is consistent with that. The description adds only the vague and confusing 'client and server side' phrasing plus an unexplained brand tag, and says nothing about output format, codec preservation, or length limits.
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 short sentence, so it is not bloated, but it is front-loaded with the core action only to trail off into 'client and server side from freedailypro', which is noise rather than information.
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 and no parameter documentation, the description should carry the burden of explaining inputs and results. It instead omits the return shape (does it return trimmed base64?), format support, and any failure conditions, leaving an agent unable to call it confidently.
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 0% for all three required parameters. The phrase 'time range' loosely maps to startSeconds/endSeconds, but the description never explains the base64 encoding expected for fileBase64, the units/semantics of the seconds values, or that all three are mandatory.
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 (trim) and resource (audio) plus the scoping input (a time range), which separates it from siblings like audio_merge, audio_speed and audio_remove_silence. It lacks any statement of what distinguishes it from the other audio-editing siblings, but the core action is 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?
There is no guidance on when to pick this over audio_remove_silence, audio_speed or audio_merge, no prerequisites, and no exclusions. The only routing hint is the generic phrase about client/server side, which does not tell an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_convertBRead-onlyIdempotentInspect
Convert an image between PNG and JPEG client and server side from freedailypro -- WebP output isn't supported (this build's canvas library can't encode it)
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| quality | No | ||
| fileBase64 | Yes | ||
| backgroundColor | No | CSS color, e.g. '#ffffff' -- used to fill transparent areas when converting to JPEG |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds a real capability constraint beyond the annotations — WebP encoding is unavailable because the canvas library can't encode it — which tells the agent what will silently fail. It still omits defaults for quality and how transparent pixels are handled without backgroundColor.
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?
It is a single front-loaded sentence with the format scope first and the unsupported-format caveat second; nothing is padded. The only dead weight is the 'from freedailypro' attribution, which earns no place in a tool description.
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 should say what comes back (converted image bytes, a base64 string, or a URL) and it does not. Combined with undocumented quality/fileBase64 parameters, the definition is adequate to pick the tool but leaves real gaps 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 only 25% — solely backgroundColor is documented in the schema. The description compensates for none of it: quality (0-1 range, default), fileBase64, and the format enum's expected values get no mention, so an agent must infer that quality is a 0-1 float and that fileBase64 is an encoded image payload.
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 and resource (convert an image) and bounds the operation to PNG and JPEG, which separates it from the format-siblings video_convert and audio_convert. The phrase 'client and server side from freedailypro' adds branding noise rather than clarity, so it falls short of a crisp 5.
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 one explicit when-not ('WebP output isn't supported') with a stated reason, which is genuinely useful routing information. However, it names no alternative for WebP cases and gives no other conditions (e.g., when to prefer this over a resize/rotate round-trip), leaving usage largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_cropCRead-onlyIdempotentInspect
Crop an image to a region client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| h | Yes | ||
| w | Yes | ||
| x | Yes | ||
| y | Yes | ||
| format | No | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered without description help. The description adds almost nothing behavioral — 'client and server side' is vague and unexplained, and there is no mention of how the crop is applied or what happens to the surrounding pixels.
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?
It is a single short, front-loaded sentence, which is appropriate. But the trailing 'client and server side from freedailypro' is noise that does not earn its place and reads as an unedited tagline.
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 six parameters, five required, zero schema description coverage, and no output schema, the description needs to explain the coordinate model and the format option. It does neither, leaving an agent likely to pass pixel values where fractions are required.
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 0%, so the description carries the full burden, yet the critical x/y/w/h convention is never explained. The agent cannot tell from this text that these are normalized 0-1 fractions, which is the single most error-prone aspect of calling this tool.
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 ('Crop an image') that is clearly distinct from siblings like image_resize, image_flip, image_rotate, and image_convert. However, the trailing phrase 'client and server side from freedailypro' is garbled and adds no clarifying meaning.
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 on when to choose cropping over resizing, flipping, or converting an image, and no mention of prerequisites such as input size limits or supported source formats. The agent must infer usage entirely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_flipCRead-onlyIdempotentInspect
Flip an image horizontally or vertically client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| direction | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: 'client and server side' is cryptic and it never says what the tool returns or how the flipped image is delivered (base64? URL?).
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 that is front-loaded with the core action, which is good. However, 'client and server side from freedailypro' is filler that consumes roughly half the sentence without adding actionable meaning.
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 3-parameter transform tool with no output schema, the description should at least indicate the return shape or input encoding expectations. It omits both, leaving the agent to guess how the flipped image comes back.
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 0%, so the description must compensate and largely doesn't. It echoes the direction enum values (horizontal/vertical) that the schema already defines, but says nothing about the format parameter (png/jpeg) or the required fileBase64 input.
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 (flip) and resource (image) plus the two direction options, which cleanly distinguishes it from siblings like image_rotate, image_crop, and image_resize. The trailing 'client and server side from freedailypro' is vague branding noise that dilutes rather than clarifies the purpose.
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 on when to use this versus image_rotate (also a transform) or the other image tools. No prerequisites, no mention of input format expectations. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_resizeCRead-onlyIdempotentInspect
Resize an image to exact pixel dimensions client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | ||
| format | No | ||
| height | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that, such as whether input must be base64 or what the returned payload contains. 'Client and server side' is ambiguous rather than informative, but it does not contradict 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?
One short front-loaded sentence is efficient, but it is padded with 'client and server side from freedailypro,' which occupies roughly half the text while conveying no actionable information. The core statement could stand alone.
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, 0% parameter documentation, and a base64 file input, the description should explain at minimum the input encoding and the response shape. It omits both, leaving the agent to infer how to pass file data and what comes back.
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 0% across 4 parameters, so the description carries the full burden. It only alludes to 'exact pixel dimensions,' loosely mapping to width/height, and says nothing about fileBase64 or the format enum (image/png, image/jpeg). Most parameter meaning must be guessed.
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 and resource: 'Resize an image to exact pixel dimensions.' That is enough to distinguish it from siblings like image_crop (which changes framing) and image_convert (which changes format), though those siblings are never named. The trailing 'client and server side from freedailypro' is branding/implementation noise that adds no clarity.
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?
There is no guidance on when to use this tool versus image_crop, image_convert, image_flip, or image_rotate. No prerequisites, no mention of acceptable input size or format, and no indication of what happens when only one dimension is relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_rotateCRead-onlyIdempotentInspect
Rotate an image client and server side from freedailypro -- 90-degree steps only
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| degrees | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is fully covered. Beyond that the description adds nothing actionable: 'client and server side from freedailypro' is ambiguous marketing phrasing with no explanation of what processing location means or what the tool returns (e.g., base64 image).
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 short sentence keeps it tight and front-loads the action, but 'client and server side from freedailypro' is filler that does not earn its place and actively adds ambiguity.
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 3-parameter tool with no output schema and zero schema description coverage, the description should clarify the base64 input contract and the expected return shape. Instead it omits both, leaving an agent to guess how to supply the image and what it gets back.
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 0% across 3 parameters, so the description must compensate and largely fails. '90-degree steps only' loosely restates the degrees enum (90/180/270), but fileBase64 (the required image payload) and format (png/jpeg) are never explained or given expected encodings.
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 an image') and adds the 90-degree constraint, which is enough for an agent to distinguish it from image_flip, image_crop, and image_resize without opening another schema. It stops short of explicitly naming or contrasting siblings, and the 'from freedailypro' clause is noise.
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?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as image_flip for mirroring. Only the implicit '90-degree steps only' constraint exists, which is already implied by the enum.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_compressBRead-onlyIdempotentInspect
Compress a video toward a target file-size percentage client and server side from freedailypro -- two-pass encode, a floor bitrate is enforced below which quality degrades too much to be worth watching
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| targetPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so the safety profile is covered. The description goes beyond that by disclosing two implementation behaviors an agent would otherwise not know: a two-pass encode is used, and a floor bitrate is enforced below which output quality is considered unusable — genuinely useful expectations to set.
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?
It is a single sentence, but it is a run-on that stacks the branding clause and the bitrate caveat behind a double hyphen. The most important information (compress to a size percentage) is front-loaded, but the sentence could shed 'client and server side from freedailypro' entirely.
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 transformation tool with no output schema, the description covers the key behavioral quirk (bitrate floor) but omits what the caller receives back — a base64 payload, a URL, or a file handle — and any note on input size limits for the base64-encoded video.
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 0%, so the description carries some burden, and it does clarify that targetPercent means target file size as a fraction of the original (0.5 default = half). It says nothing about fileBase64, though the name is largely self-explanatory, and it doesn't explain the 0–1 range or what happens at the extremes.
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 — 'Compress a video toward a target file-size percentage' — which cleanly separates it from siblings like video_convert, video_trim and video_to_gif. The trailing branding phrase 'client and server side from freedailypro' adds noise rather than clarity, but the core purpose is 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 never says when to pick this over video_convert (format change) or video_trim (cut length), nor does it state any precondition such as size limits on fileBase64. The target-percentage phrasing hints at the use case but no explicit routing guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_convertCRead-onlyIdempotentInspect
Convert a video between formats client and server side from freedailypro (mp4/mp4-web/webm/mov)
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered by structured data. The description adds only the ambiguous 'client and server side from freedailypro' clause and says nothing about size limits, whether output is base64, or processing constraints.
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?
It is a single front-loaded sentence with no padding, which is good. However, the 'client and server side from freedailypro' fragment is confusing filler that occupies space without earning it.
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 and no annotation coverage of return values, the description should explain what comes back (e.g., converted base64 video) and any input constraints. It omits both, leaving an agent unable to predict the response or validate the required base64 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 0% for two parameters. The format list merely restates the enum values already in the schema, adding no syntax or behavior, and fileBase64 — the required input — is completely unexplained (encoding, size limits, whether it is a data URL or raw base64).
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 gives a specific verb (Convert) and resource (a video), and lists the target formats, which distinguishes it from siblings like video_compress, video_to_gif, and audio_convert. The phrase 'client and server side from freedailypro' is unexplained jargon that muddies rather than clarifies the scope.
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?
There is no guidance on when to use this tool versus alternatives such as video_compress or video_to_gif, nor any prerequisites. The 'client and server side' phrasing implies some routing choice but never states what determines it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_extract_audioCRead-onlyIdempotentInspect
Extract a video's audio track as MP3 client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds two useful behavioral facts beyond that: the output format is MP3 and processing happens client and server side. It omits input expectations (base64 file) and any size/limit constraints.
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, so it is compact and front-loaded with the core action. However, the trailing 'client and server side from freedailypro' is ambiguous filler that does not earn its place and slightly obscures the meaning.
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 annotations covering safety and no output schema, the essentials are nearly there, but the description fails to explain the base64 input requirement or any output details (bitrate, container, return shape). Adequate but with clear gaps.
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 0% and the single parameter 'fileBase64' has no description in the schema. The description never mentions that the input must be a base64-encoded video file, so it does not compensate for the coverage gap. 'From freedailypro' adds no 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+resource ('Extract a video's audio track') and even names the output format (MP3), which distinguishes it from siblings like video_convert or video_compress. The trailing 'client and server side from freedailypro' muddies rather than clarifies scope.
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 when-to-use guidance, no prerequisites, and no mention of alternatives such as video_convert or audio_convert, even though those siblings could plausibly overlap. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_mergeBRead-onlyIdempotentInspect
Merge multiple videos into one client and server side from freedailypro -- requires matching codec/resolution/frame rate across inputs
| Name | Required | Description | Default |
|---|---|---|---|
| filesBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one real behavioral constraint (input codec/resolution/frame-rate compatibility), but says nothing about output form, input size limits, or processing cost, which matters for a video merge.
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?
It is a single sentence and the operative constraint is placed at the end with an em-dash, which is reasonably front-loaded. The 'client and server side from freedailypro' clause is filler that consumes attention without informing the call.
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 and no return-format annotation, the agent cannot tell what comes back from a merge (a base64 video string? a URL?). The description covers the key compatibility constraint but is silent on output, which is a meaningful gap for a transform tool.
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 0% for the single parameter filesBase64, so the description carries the burden. It conveys only 'multiple videos' (implying an array of >=2) and never states that inputs must be base64-encoded strings, leaving the parameter format undocumented everywhere.
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 ('merge multiple videos into one'), which is unambiguous against the mostly audio/pdf/image siblings. It does not explicitly differentiate from nearby tools like video_convert or video_trim, and the trailing phrase 'client and server side from freedailypro' adds branding noise rather than clarity.
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 precondition 'requires matching codec/resolution/frame rate across inputs' is genuine usage guidance — it tells the agent when this call will fail. However, there is no explicit when-to-use vs alternatives (e.g., video_convert for format changes) and no statement of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_subtitleCRead-onlyIdempotentInspect
Burn SRT subtitles permanently into a video client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| srt | Yes | Subtitle text in SRT format | |
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, lowering the bar, but the description adds only the vague claim 'client and server side' and a vendor string. It does not say that the source video is left unmodified, that the result is returned as a new (base64) video, or anything about size limits or processing latency — relevant for a media-burn operation.
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 action is front-loaded in one sentence, which is efficient, but the sentence is a run-on padded with 'client and server side from freedailypro' — filler that dilutes rather than 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?
With two required parameters and no output schema, the description should carry the remaining load: it does not explain the return value (presumably a processed video), the encoding of fileBase64, or any constraints. For a transformation tool it leaves an agent short of what it needs to invoke correctly.
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 50%: 'srt' is documented in the schema, but 'fileBase64' has no description anywhere. The description says subtitles are burned into 'a video' but never clarifies that fileBase64 is the encoded source video or what format/size is accepted, so it does not compensate for the coverage gap.
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 ('Burn SRT subtitles ... into a video') and names the input format (SRT), which separates it from siblings like generate_captions or video_convert. The trailing phrase 'client and server side from freedailypro' is noise that adds no discriminating power, but the core action is 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?
There is no when-to-use or when-not-to-use guidance. The description never mentions alternatives such as generate_captions (which produces a caption track rather than embedding it) or video_convert, so an agent must infer routing from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_thumbnailCRead-onlyIdempotentInspect
Extract a video frame as a JPEG thumbnail client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| atSeconds | No | ||
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the output is JPEG; it says nothing about what is actually returned (base64 string? URL?), whether the input is a base64 video, or any size/duration limits.
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, so it is not bloated, but the 'client and server side from freedailypro' tail is filler that dilutes the front-loaded purpose rather than earning 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 two-parameter tool with no output schema and no parameter descriptions, the description should explain input format and return value; it does neither. Annotations cover the safety profile only, leaving the agent under-informed about the actual contract.
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 0%, so the description must carry the burden for 'fileBase64' and 'atSeconds'. It only vaguely implies frame selection and never explains that fileBase64 is the video payload or that atSeconds selects the timestamp (defaulting to 0). A clear gap.
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: extract a video frame as a JPEG thumbnail. An agent can tell it apart from siblings like video_to_gif or video_extract_audio. The trailing phrase 'client and server side from freedailypro' adds noise rather than clarity, but the core purpose is 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?
No when-to-use guidance, no exclusions, and no mention of alternatives such as video_to_gif or image_convert. The agent gets no signal about when this tool is the right choice versus other video/image tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_to_gifCRead-onlyIdempotentInspect
Convert a video to an animated GIF client and server side from freedailypro -- two-pass palette encoding
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds one genuinely useful behavioral trait beyond the annotations: 'two-pass palette encoding', which signals output quality characteristics. It does not disclose output size, processing time, size limits, or what the returned payload looks like.
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 with the core purpose correctly front-loaded, but it is padded with 'client and server side from freedailypro', which conveys no actionable information and reads as marketing filler. Tightening to just the transform plus encoding detail would be strictly better.
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?
No output schema and no description of the return value, so the agent cannot tell whether it receives raw GIF bytes, a base64 string, or a URL. Combined with an undocumented required input parameter and no stated limits, the definition is under-specified for a media conversion tool.
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?
There is one parameter (fileBase64) with 0% schema description coverage, so the description carries the burden and does not meet it. It never says the input must be a base64-encoded video string, never states accepted container/codec formats or any size ceiling for that base64 blob. The param name is self-descriptive, which prevents a 1, but the description adds nothing.
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 concrete verb and transformation: convert a video to an animated GIF. The output format ('animated GIF') distinguishes it from generic siblings like video_convert, video_compress, or video_trim, though it never names those siblings explicitly. Purpose is unambiguous, but sibling differentiation is implicit rather than stated.
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 when-to-use guidance and no exclusions. The agent is given no cue for choosing video_to_gif over video_convert (which might also emit a GIF), nor any prerequisites such as supported input codecs or size limits. The clause 'client and server side from freedailypro' is vendor noise, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_trimBRead-onlyIdempotentInspect
Trim a video to a time range client and server side from freedailypro -- stream-copy, cuts snap to the nearest keyframe
| Name | Required | Description | Default |
|---|---|---|---|
| endSeconds | Yes | ||
| fileBase64 | Yes | ||
| startSeconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real value beyond them: 'stream-copy' signals no re-encoding and 'cuts snap to the nearest keyframe' warns that output boundaries may not match the exact requested times. The 'client and server side' remark is unclear about where processing occurs but hints at a two-stage pipeline.
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 compact sentence with the action front-loaded; the keyframe caveat is appended efficiently. The 'from freedailypro -- client and server side' fragment is noise that could be cut.
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, 0% parameter coverage, and no annotation elaboration on return behavior, the description is thin for a 3-parameter required-args tool. It explains cut behavior but leaves input encoding and output characteristics unaddressed.
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 0% across all three parameters. The description's 'time range' loosely maps to startSeconds/endSeconds, but it never explains fileBase64 (base64-encoded input) or confirms the unit/format of the time values, so it fails to compensate for the total schema gap.
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 ('Trim a video') plus the operating scope (time range), which distinguishes it from siblings like video_compress and video_convert. The trailing 'from freedailypro' branding and vague 'client and server side' phrase dilute an otherwise clear statement.
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 on when to use this versus video_compress, video_convert, or video_extract_audio, nor any exclusions or prerequisites. The keyframe note is behavioral, not usage-routing information.
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.
22 tool updates
- First observed
audio_compress - First observed
audio_convert - First observed
audio_denoise - First observed
audio_merge - First observed
audio_normalize - First observed
audio_pitch - First observed
audio_remove_silence - First observed
audio_speed - First observed
audio_trim - First observed
image_convert - First observed
image_crop - First observed
image_flip - First observed
image_resize - First observed
image_rotate - First observed
video_compress - First observed
video_convert - First observed
video_extract_audio - First observed
video_merge - First observed
video_subtitle - First observed
video_thumbnail - First observed
video_to_gif - First observed
video_trim
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.