Skip to main content
Glama

Upload a local audio file

barevalue_upload

For a recording that is a file on the machine the agent runs on and has no link. Returns an upload_id and a ready curl command that sends the file from that machine (storage answers 204 when the upload worked). The upload_id is then accepted by barevalue_submit_url in place of file_url. One audio file, up to 750 MB and 60 minutes. The upload link works for 15 minutes and an upload can be ordered once. A recording that already has a direct link needs no upload: barevalue_submit_url takes the link itself.

Input Schema

NameRequiredDescriptionDefault
api_keyNoBarevalue API key (bv_sk_...), as returned by barevalue_register. Not needed when the connection already sends an Authorization: Bearer header.
filenameYesName of the file, with its extension, e.g. "episode-12.mp3"
size_bytesNoOptional size of the file in bytes. With it, a file that is too large is refused at once

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Barevalue API key (bv_sk_...). Get one with barevalue_register. Omit when the connection already sends an Authorization: Bearer header."New value: +"Barevalue API key (bv_sk_...), as returned by barevalue_register. Not needed when the connection already sends an Authorization: Bearer header."
    • changedInput schema / properties / size_bytes / description
      Previous value: -"Optional size of the file in bytes, to be told at once if it is too large"New value: +"Optional size of the file in bytes. With it, a file that is too large is refused at once"
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds substantial non-structured behavior: it returns an upload_id plus a ready curl command, storage answers HTTP 204 on success, the upload_id substitutes for file_url in barevalue_submit_url, the link expires in 15 minutes, and an upload can be ordered only once. That is exactly the context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical scoping condition and return values are front-loaded, and each sentence carries distinct operational information (return values, ID substitution, limits, expiry, one-time ordering). It is dense but not padded, though it could be slightly tightened into fewer sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description properly covers the return contract (upload_id and a ready-to-run curl command with a 204 success signal) and the downstream use of that ID. Combined with the constraints and expiry, an agent has everything needed to invoke and follow through correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description goes beyond the schema by attaching concrete limits to the upload payload ('up to 750 MB and 60 minutes'), which adds meaning relevant to the optional size_bytes parameter and its early-refusal behavior.

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

Purpose5/5

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

The description opens with a precise verb+resource+scope: uploading an audio file that exists on the agent's machine and has no link. It explicitly contrasts with the sibling barevalue_submit_url, so the agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

It states the exact condition that selects this tool (local file, no link) and the condition that selects the alternative ('A recording that already has a direct link needs no upload: barevalue_submit_url takes the link itself'). When-to-use, when-not, and the named alternative are all present.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.