Skip to main content
Glama

File Shares

fileshare
Read-only

Fastio File Shares (read): list and details, grants, version history, and direct download/preview/version URLs for durable single-file share links. Writes are on fileshare_manage. action='describe' gives the full action/param reference. Recipient 404 is uniform (not-found, revoked and expired look alike). The URL actions return a direct API URL; gated shares need Authorization and/or x-ve-password headers on the GET.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNolist: page size (1-500, default 100).
actionYesOperation. Use 'describe' for full action reference.
offsetNolist: pagination offset (default 0).
passwordNoRecipient password for a gated share, sent only as the x-ve-password header (never in a URL or log).
version_idNoversion-download-url: the version ID (from versions-list).
fileshare_idNoFile Share ID.
preview_typeNopreview-url: the preview variant (e.g. 'image', 'pdf', 'video').
workspace_idNoParent workspace ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • removedInput schema / properties / access_option
      Removed value: -{
      -  "description": "Access tier: anyone_with_link | any_registered | named_people. create / update. `edit` capability is NEVER conferred by a tier — it always needs an explicit edit grant.",
      -  "enum": [
      -    "anyone_with_link",
      -    "any_registered",
      -    "named_people"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "create",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "grant-list",
      -  "grant-add",
      -  "grant-revoke",
      -  "download-url",
      -  "preview-url",
      -  "versions-list",
      -  "version-download-url"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "grant-list",
      +  "download-url",
      +  "preview-url",
      +  "versions-list",
      +  "version-download-url"
      +]
    • removedInput schema / properties / capability
      Removed value: -{
      -  "description": "grant-add: the capability to grant — view | download | edit (ordered). `edit` allows content write-back. Required for grant-add.",
      -  "enum": [
      -    "view",
      -    "download",
      -    "edit"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / email
      Removed value: -{
      -  "description": "grant-add / grant-revoke: the grantee's email. EXACTLY ONE of user / email. An unregistered email becomes a PENDING invite (auto-activates on signup; capped to the share's expiry).",
      -  "type": "string"
      -}
    • removedInput schema / properties / expires
      Removed value: -{
      -  "description": "create/update: relative expiry in SECONDS from now (1..3155760000). Mutually exclusive with expires_at.",
      -  "maximum": 3155760000,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / expires_at
      Removed value: -{
      -  "description": "create/update: absolute expiry as 'YYYY-MM-DD HH:MM:SS UTC' (no timezone = UTC). Mutually exclusive with expires. update: send '' (empty string) to CLEAR the expiry and make the share durable again.",
      -  "type": "string"
      -}
    • changedInput schema / properties / fileshare_id / description
      Previous value: -"File Share ID (19-digit numeric). Required for every action except create / list."New value: +"File Share ID."
    • removedInput schema / properties / node
      Removed value: -{
      -  "description": "create: the workspace FILE node opaque ID to bind the share to (required). The binding is immutable — share a different file by creating a new File Share.",
      -  "type": "string"
      -}
    • changedInput schema / properties / password / description
      Previous value: -"create/update: SET the share password. On consumer actions (details / download-url / preview-url / versions-list / version-download-url): supply the recipient password — forwarded ONLY as the x-ve-password header, never in a URL/log. update: send '' (empty string) to CLEAR an existing password."New value: +"Recipient password for a gated share, sent only as the x-ve-password header (never in a URL or log)."
    • changedInput schema / properties / preview_type / description
      Previous value: -"preview-url: the preview variant (e.g. 'image', 'pdf', 'video'). Multi-file previews 307-redirect to a token-bearing sub-file URL."New value: +"preview-url: the preview variant (e.g. 'image', 'pdf', 'video')."
    • removedInput schema / properties / title
      Removed value: -{
      -  "description": "Human-readable share title. create / update.",
      -  "type": "string"
      -}
    • removedInput schema / properties / user
      Removed value: -{
      -  "description": "grant-add / grant-revoke: the grantee's numeric user ID (19-digit). EXACTLY ONE of user / email.",
      -  "type": "string"
      -}
    • changedInput schema / properties / version_id / description
      Previous value: -"version-download-url: the specific version OpaqueId to download (from versions-list / details)."New value: +"version-download-url: the version ID (from versions-list)."
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Parent workspace ID (19-digit or custom name). create / list — the management authz anchor."New value: +"Parent workspace ID."
  2. Changed4 schema fields changed
    • changedInput schema / properties / access_option / description
      Previous value: -"Access tier: anyone_with_link | any_registered | named_people. create / update. `edit` capability is NEVER conferred by a tier — it always needs an explicit…"New value: +"Access tier: anyone_with_link | any_registered | named_people. create / update. `edit` capability is NEVER conferred by a tier — it always needs an explicit edit grant."
    • changedInput schema / properties / email / description
      Previous value: -"grant-add / grant-revoke: the grantee's email. EXACTLY ONE of user / email. An unregistered email becomes a PENDING invite (auto-activates on signup; capped to…"New value: +"grant-add / grant-revoke: the grantee's email. EXACTLY ONE of user / email. An unregistered email becomes a PENDING invite (auto-activates on signup; capped to the share's expiry)."
    • changedInput schema / properties / expires_at / description
      Previous value: -"create/update: absolute expiry as 'YYYY-MM-DD HH:MM:SS UTC' (no timezone = UTC). Mutually exclusive with expires. update: send '' (empty string) to CLEAR the…"New value: +"create/update: absolute expiry as 'YYYY-MM-DD HH:MM:SS UTC' (no timezone = UTC). Mutually exclusive with expires. update: send '' (empty string) to CLEAR the expiry and make the share durable again."
    • changedInput schema / properties / password / description
      Previous value: -"create/update: SET the share password. On consumer actions (details / download-url / preview-url / versions-list / version-download-url): supply the recipient…"New value: +"create/update: SET the share password. On consumer actions (details / download-url / preview-url / versions-list / version-download-url): supply the recipient password — forwarded ONLY as the x-ve-password header, never in a URL/log. update: send '' (empty string) to CLEAR an existing password."
  3. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, yet the description still adds non-obvious behavior: recipient 404s are deliberately uniform so not-found/revoked/expired are indistinguishable, URL actions return a direct API URL rather than content, and gated shares require Authorization and/or x-ve-password headers on the GET. It does not cover rate limits or pagination edge behavior, so it stops short of 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.

Conciseness4/5

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

Three tightly packed sentences with no filler, front-loaded with the read-scope statement and the sibling routing. The 404 and header details are dense but each earns its place; slightly heavy clause density is the only cost.

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 read-only, no-output-schema tool with 8 fully documented parameters, the description covers scope, action set, sibling boundary, ambiguity behavior, and auth requirements for the URL actions. Only the shape of list/details results and pagination semantics go unmentioned, which is minor given the schema and the action='describe' escape hatch.

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 description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: it explains that the password is transmitted only as the x-ve-password header on the resulting GET, and that version_id comes from versions-list. That ties the URL actions back to the parameters rather than merely restating them.

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 opens with a specific verb and resource ('Fastio File Shares (read)') and enumerates the exact capabilities: list/details, grants, version history, and download/preview/version URLs. It explicitly distinguishes itself from the write sibling by naming `fileshare_manage`, so an agent can route correctly without opening a schema.

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?

It clearly states the when-not condition ('Writes are on `fileshare_manage`') and routes to action='describe' for the full action/param reference. It doesn't spell out when to pick `list` vs `details` vs `grant-list`, but the enum plus per-action parameter descriptions make that inferable.

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