Skip to main content
Glama

Transfer File

transfer

One-shot file transfer with optional pricing and marketplace listing. Upload a file, set a per-download price, and list on the marketplace — all in a single call. Returns a shareable download URL. Supports free transfers, paid downloads, and marketplace listings. Provide EXACTLY ONE of: 'filePath' (local stdio — zero tokens), 'url' (remote fetch), or 'content' (base64 fallback).Over stdio no API key is required: without one you upload as a guest (100 MB, 24-hour link); a key raises the limits and lets you sell.

Input Schema

NameRequiredDescriptionDefault
urlNoPublic HTTPS URL of the file to upload (server fetches it directly — no token cost).
contentNoBase64-encoded file content (fallback when filePath and url are unavailable).
fileNameNoFilename with extension. Required for 'content', optional for 'url'.
filePathNoAbsolute path to a local file (stdio transport only — zero token cost).
mimeTypeNoMIME type override (auto-detected if omitted).
listingTagsNoDiscovery tags (max 8, alphanumeric + dash).
listingTitleNoMarketplace listing title (3–120 chars). When set, auto-lists the file on the marketplace once ready.
payoutAddressNoWallet that a priced download pays out to. Only for running without an API key — it is what lets you sell with no account. Ignored when a key is set, because that account's payout address is a dashboard setting. Payments are final: a mistyped address is unrecoverable, and an exchange deposit address usually will not credit a Base transfer from a contract.
idempotencyKeyNoUnique key for retry-safe transfers. Needs an API key; ignored without one.
listingCategoryNoMarketplace category.
pricePerDownloadNoPrice per download in USD (e.g. 0.50). Downloaders pay in USDC. Omit or 0 for free.
listingDescriptionNoWhat the buyer gets (40–500 chars). Required when listingTitle is set.

Output Schema

NameRequiredDescriptionDefault
urlNoMarket page URL (/m/<hash>) when a listing was requested
readyYesTrue when the file is downloadable right now
statusYesFinal status: READY, FAILED, or TIMEOUT
uploadIdYesUnique upload identifier (e.g. up_a1b2c3d4e5f6g7h8)
expiresAtNoISO 8601 expiration timestamp
downloadUrlNoShareable download URL (works without auth, valid 24h)
listingSkippedNoPresent when the listing was not created (daily listing limit); the file is still uploaded

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?

Goes well beyond the annotations: the annotations only say it is not read-only and is open-world, while the description discloses that no API key is needed over stdio, the guest tier caps (100 MB, 24-hour link), that a key raises limits and unlocks selling, that idempotencyKey is ignored without a key, and — critically — that payments are final and a mistyped payout address is unrecoverable.

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?

Front-loaded with the core capability in the first two sentences, and the auth/limits footer is genuinely load-bearing rather than filler. It loses a point for the run-on final paragraph where a missing space ("content' (base64 fallback).Over stdio") breaks the flow of an otherwise dense block.

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?

Covers input-source selection, auth tiers, guest limits, and payment irreversibility for a 12-parameter, zero-required-parameter tool, and an output schema exists so return values need not be described. Minor gaps remain: nothing about link expiry once a key is set, or about what happens to pricing when no key is present besides payoutAddress.

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 coverage is 100%, so the baseline is 3, and the description earns extra credit by stating the mutual-exclusion rule that the schema itself does not encode: exactly one of filePath, url, or content. It also flags filePath as stdio-only and zero-token, which shapes which parameter an agent should prefer.

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 ("one-shot file transfer") plus the composite scope: upload, price, and marketplace listing "all in a single call." The "single call" framing implicitly distinguishes it from the atomic siblings upload_file, upload_from_url, and list_on_marketplace, and the mention of a returned download URL completes the picture.

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 an explicit selection rule for the three input sources ("Provide EXACTLY ONE of: filePath, url, or content") and states clearly when an API key is or is not needed, including guest limits. It does not, however, explicitly route agents to upload_file or list_on_marketplace when only part of the workflow is needed.

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