Skip to main content
Glama

Host a file

host_file

Hosts a file: upload up to 10 MB as base64 with its content type and get back a public download URL that serves the bytes with that content type for 1 to 168 hours (default 24). Downloads are free, readable at once where uploaded and everywhere within about a minute. Executables are refused; HTML and SVG are served as attachments. A failed upload is not charged. Price: $0.01 per call in USDC (x402).

Input Schema

NameRequiredDescriptionDefault
dataYesThe file, base64 (standard or URL-safe alphabet). Up to 10485760 bytes decoded.
filenameNoSuggested download name. Never used as the storage key.
ttlHoursNoHours the download URL keeps working, default 24.
contentTypeYesMIME type the file is served with, e.g. image/png or application/pdf. Executable types are refused; text/html and image/svg+xml are served as attachments.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses pricing ($0.01 USDC via x402), that failed uploads aren't charged, propagation timing (~1 min / immediately at upload site), attachment handling for HTML/SVG, and refusal of executables. This is exactly the behavioral context annotations alone don't convey.

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?

Purpose and return value are front-loaded, and every clause (limits, TTL, exclusions, pricing) carries useful information. It is dense and slightly run-on but has no filler.

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?

No output schema exists, yet the description explains the return value (public download URL serving the exact bytes/content type) and lifecycle (TTL, propagation). Combined with full schema coverage, an agent has everything needed to call it correctly.

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 data, filename, ttlHours, and contentType are already fully documented. The description restates the 10 MB and 1–168 hour limits without adding new syntax or edge-case guidance beyond the schema, so baseline 3 applies.

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?

States a specific verb and resource ("Hosts a file") plus the exact mechanism: upload base64 with content type, receive a public download URL. This is clearly distinct from siblings like render_page and schedule_callback.

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

Usage Guidelines4/5

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

Gives clear context for when this is appropriate (base64 upload up to 10 MB, TTL range) and constraints such as refused executables. It stops short of explicitly naming alternatives or when-not-to-use, so not a 5.

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