Skip to main content
Glama

Save file from URL

save_file_from_url

Download a file from a public http(s) URL and store it in the user's Second Brain as a file object. Use it when the user shares a direct link to a PDF, image, spreadsheet, or other file and asks to save, download, or keep it. The saved file shows up with their uploads and can be read afterwards with read_file. Not for web pages (that is read_web_page with save=true) and not for files behind a sign-in. Files over 50MB are refused.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe http(s) URL of the file to download.
filenameNoName to store the file under. Default: the name the server or URL suggests.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and delivers: a 50MB refusal threshold, public-URL/sign-in gating, and a post-condition (file appears alongside uploads, readable afterward with read_file). These are behavioral facts not derivable from the schema.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the action and outcome, then usage, then exclusions and limits. No sentence is redundant with the name or title.

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?

With no output schema, the description still tells the agent what happens after the call (file stored with uploads, retrievable via read_file) and what failure looks like (>50MB refused). Minor gap: no mention of auth requirement or duplicate-filename behavior, but nothing blocking for a 2-param tool.

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% and both parameters are documented there, including the filename default. The description adds no syntax, format, or constraint detail about the parameters themselves, so the 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?

Specific verb + resource ('download a file from a public http(s) URL and store it in the user's Second Brain as a file object'), with explicit scope. It distinguishes itself from siblings by naming read_web_page and read_file, so an agent can route without opening schemas.

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?

States the trigger ('user shares a direct link... and asks to save, download, or keep it') and both exclusions ('not for web pages... not for files behind a sign-in'), naming the correct alternative for each. Full when/when-not coverage.

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.