Skip to main content
Glama

File Relay

Server Details

Temporary file relay for AI agents: upload a generated file, get an expiring download link.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

The CRUD-style tools (delete_file, get_file_info, read_file) are clearly separated by resource and action. The only real overlap is between create_upload_link and relay_attached_file, since both produce a downloadable relayed file, but the descriptions sharply distinguish the local-path vs host-attached-file input channels.

Naming Consistency5/5

All five names follow a consistent snake_case verb_noun pattern (create_upload_link, delete_file, get_file_info, read_file, relay_attached_file). Each name starts with an action verb that matches what the tool does.

Tool Count5/5

Five tools is tightly scoped to a single purpose: move a file in, inspect it, read it, remove it. Each tool has a distinct role and nothing feels padded or missing at the surface level.

Completeness4/5

The lifecycle is covered: create/upload, inspect metadata, read content, and delete before expiry. The main gap is the absence of a list operation, so an agent cannot discover previously relayed files and must already have an id or URL.

Available Tools

5 tools
delete_fileDelete fileA
DestructiveIdempotent
Inspect

Delete a relayed file before it expires. Requires the delete_token returned at upload.

NameRequiredDescriptionDefault
idYesFile id or download URL.
delete_tokenYesdelete_token returned at upload.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds useful context — an authorization requirement (delete_token from upload) and a time-bounded window before expiry — but doesn't state what happens after deletion (e.g., whether the download URL stops resolving), which is the main behavioral question an agent would have.

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?

Two sentences, no waste, and the destructive action plus its precondition are front-loaded. Nothing could be removed without losing information.

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 2-parameter destructive tool with full schema coverage and annotations covering safety, the description is essentially sufficient. The only real gap is post-deletion behavior and what the expiry window means if it has already passed, which would help an agent decide whether to attempt the call at all.

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 both parameters are already documented in the schema, and the description restates only delete_token without adding format or sourcing detail. Baseline 3 applies since the schema carries the load; notably the description doesn't clarify that 'id' may be a full download URL rather than a bare id.

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

Purpose4/5

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

States a specific verb and resource ('Delete a relayed file') and adds a scope qualifier ('before it expires') that distinguishes it from generic file deletion. It doesn't explicitly distinguish itself from siblings like read_file or get_file_info, but the destructive nature makes the purpose unambiguous.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: you delete a relayed file only while it is still live and only if you hold the delete_token from upload. There is no explicit guidance on when to prefer this over other cleanup paths or what to do if the token is lost or the file already expired.

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

get_file_infoGet file infoA
Read-only
Inspect

Look up a relayed file by id or download URL: name, size, type, expiry and download link.

NameRequiredDescriptionDefault
idYesFile id or download URL returned by an upload tool.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds value by enumerating exactly what is returned (name, size, type, expiry, download link) — meaningful given no output schema — and clarifies that expiry is exposed, hinting at expired-file behavior.

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?

One front-loaded sentence with the verb, resource, accepted inputs, and return fields. Nothing is padded and nothing is missing.

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 correctly carries the return-value burden and covers the sole parameter's dual input form. Only minor gaps remain — behavior for an expired or unknown id — which matter little for a read-only lookup.

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 coverage is 100% and the schema already explains that id may be a file id or download URL, so the description matches rather than extends it. The single-parameter surface keeps this adequate, but no extra meaning (format, validation, what happens on a bad id) is added.

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

Purpose4/5

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

Specific verb (look up) plus resource (relayed file) and an enumerated field list, so the agent knows this is metadata retrieval rather than content retrieval. It never names read_file, the sibling that returns content, so the distinction is inferred from the field list rather than stated.

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

Usage Guidelines3/5

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

Usage is implied: call it with an id or download URL from an upload tool to get metadata. There is no explicit when-to-use/when-not guidance and no routing to read_file for actual file contents, which is the most likely sibling confusion.

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

read_fileRead fileA
Read-only
Inspect

Read a relayed file's content (up to 1 MB) so an agent can pick up a file someone else relayed. Text comes back as text, images as images, other files as base64.

NameRequiredDescriptionDefault
idYesFile id or download URL from this relay.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, openWorldHint=false), and the description adds real value beyond them: the 1 MB cap and the fact that text returns as text, images as images, and other files as base64. It does not discuss failure modes for invalid/expired ids, which keeps it from a 5.

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?

One sentence, front-loaded with the action and resource, then the size constraint, then the return-type behavior. No redundant restatement of the title or schema.

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 usefully explains the return shapes and size limit, which is what an agent most needs. It omits error/expiry behavior, a minor gap for a one-parameter read 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 coverage is 100% with a single required 'id' already documented as 'File id or download URL from this relay'; the description adds no further syntax or format guidance. Baseline 3 is appropriate when the schema carries the parameter burden.

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

Purpose4/5

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

Specific verb (read) plus resource (relayed file's content) with an explicit size bound (up to 1 MB). It implicitly distinguishes itself from get_file_info by emphasizing content retrieval and from delete_file/create_upload_link, though it never names a sibling explicitly.

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

Usage Guidelines3/5

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

The phrase 'so an agent can pick up a file someone else relayed' implies the use case, but there are no explicit when/when-not conditions and no named alternatives (e.g., get_file_info for metadata only) to route the agent.

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

relay_attached_fileRelay attached fileAInspect

ChatGPT only: relay a file from the conversation (the host passes it as a file reference) and get a temporary download link.

NameRequiredDescriptionDefault
fileYesFile reference provided by the host.
filenameNoOptional file name override.
ttl_hoursNoHours until the download link expires. Default 24, maximum 168 (7 days).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, openWorldHint=true and destructiveHint=false, so safety is already covered; the description usefully adds that the result is a temporary link and that the file arrives as a host reference. It does not say that relaying stores a hosted copy, who can access the link, or that the link expires per ttl_hours, which are the meaningful behavioral facts beyond the annotations.

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?

One sentence, front-loaded with the platform restriction, then the action and the return value. Nothing is redundant and no sentence fails to earn its place.

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

Completeness3/5

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

The nested file object is conceptually explained and the return is described as a temporary link, which is the key fact in the absence of an output schema. However, a non-read-only, open-world tool that materializes a shareable copy should also say where the copy lives and that expiry is governed by ttl_hours.

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 coverage is 100%, including a documented ttl_hours range and default, so the schema carries parameter meaning. The description only clarifies the origin of the 'file' object (host-provided reference) and adds nothing about ttl_hours or the filename override, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('relay a file from the conversation') plus the concrete outcome ('get a temporary download link'), which is clearly distinct from the upload/read siblings. It stops short of naming an actual sibling, so the differentiation is inferable rather than explicit.

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?

'ChatGPT only' is an explicit applicability constraint, and 'the host passes it as a file reference' tells the agent exactly what input context must exist. No when-not conditions or alternative tools are given, but the positive context is unusually clear for a gateway-style tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedcreate_upload_link
    • First observeddelete_file
    • First observedget_file_info
    • First observedread_file
    • First observedrelay_attached_file

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Store and retrieve data objects for free. Temporary cloud storage for agents. Two hour expiry. Works with any format and flow. Example use cases include: * Manage large datasets across different sessions * Generate shareable links for intermediate results * Streamline complex workflows by bridging information between multiple contexts
    2
    39 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    File uploads for AI agents. Upload, list, and manage files from AI coding assistants like Claude, Cursor, Windsurf, and VS Code Copilot with no signup required.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents and users to upload and download files via MCP, generating shareable links and identifier codes. Files are automatically deleted after 24 hours.
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to securely transfer files between machines via encrypted, expiring share links, with tools for upload, download, status checks, and link management.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources