audio_compress
Compress audio toward a target file size (targetFileSize such as "2MB"; default half the original) client and server side from freedailypro
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| targetFileSize | No |
Compress audio toward a target file size (targetFileSize such as "2MB"; default half the original) client and server side from freedailypro
| Name | Required | Description | Default |
|---|---|---|---|
| fileBase64 | Yes | ||
| targetFileSize | No |
Changes observed during successful MCP inspections.
Input schema / properties / targetFileSizeAdded value: +{
+ "type": "string"
+}Input schema / properties / targetPercentRemoved value: -{
- "default": 0.5,
- "maximum": 1,
- "minimum": 0,
- "type": "number"
-}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 the useful default ('half the original') and a value format example, but says nothing about quality loss, output format, or failure behavior for impossible target sizes.
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 with the core purpose first. The trailing 'client and server side from freedailypro' is vendor boilerplate that adds no decision value, but the sentence is still compact.
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 two-parameter transform with no output schema, the basics are present. Missing are the response shape (does it return base64 audio?), whether compression is lossy, and what happens if the target size is unreachable — all relevant to calling it 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 0%, so the description must carry parameter meaning. It does explain targetFileSize (format example, default behavior), but fileBase64 is left entirely to the name and no constraints on size or accepted audio formats are given.
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 ('Compress audio') and adds the distinguishing goal ('toward a target file size'), which separates it from siblings like audio_normalize or audio_convert. It stops short of explicitly naming those siblings, but the resource and goal are 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?
It implies the use case (reduce audio to a size budget) but gives no when/when-not guidance and never references alternatives such as audio_convert or audio_normalize, which an agent could easily confuse with this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.