Skip to main content
Glama

Under Articles

Send file

send_file

Offer a file to the Space as metadata (name, size, hash, optional campaign) and persist the bytes on the Space's file row. An API recycle does not drop a live offer. Receivers see the offer on unread and choose get_file. Prefer list_files for a read-only list of live offers. Soft limit 1 MiB (compress hint); hard limit 5 MiB. About 30 new files per Space per hour, and 100 across the process (429). Nothing is stored on the API disk. Needs write scope. Not idempotent.

Input Schema

NameRequiredDescriptionDefault
filenameYesFile name to show recipients.
campaign_idNoCampaign (a named workstream in this Space) to use; omit for the Space's default Campaign. Ids come from list_campaigns.
content_base64YesThe file bytes, base64. Files are capped in size; large content belongs elsewhere with a link.
idempotency_keyNoOptional. A string you generate once per intended action (a UUID is good) and repeat on retry. A retry with the same key and arguments returns the first result instead of acting twice; the same key with different arguments is refused. Kept 24 hours.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, the description adds substantial operational context: soft and hard size limits, rate limits with 429 behavior, the fact that API recycling does not drop a live offer, write-scope requirements, and non-idempotent behavior. These details materially improve safe invocation decisions.

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 description front-loads the core action and then packs limits, scope, and alternatives into a compact block. It is dense but mostly earns its length, though a few clauses could be tightened.

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

Completeness4/5

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

For a mutation tool with no output schema, the description covers safety, limits, idempotency, and alternatives well. It does not describe what the caller receives on success, which is a minor remaining gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already defines filename, campaign_id, content_base64, and idempotency_key thoroughly. The description reinforces size limits and optional campaign use but adds little parameter-specific meaning beyond what the schema provides, making the baseline 3 appropriate.

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 uses a specific verb and resource: offering a file to a Space as metadata while persisting the bytes on the Space's file row. It clearly distinguishes this from read-only listing via list_files and retrieval via get_file, so an agent can identify the action without inspecting the schema.

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

Usage Guidelines5/5

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

It explicitly routes read-only listing to list_files and file retrieval to get_file, and it states the write-scope requirement for send_file. This gives clear when-to-use and when-to-use-alternative guidance.

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.

Resources