Skip to main content
Glama

Agent File Desk Rail

wever_agent-file-desk-rail
Destructive

Paid URL: 0.10 USDC per call on Base; 10 signed-wallet free calls shared over rolling 30 days. Read the backend 402 body for x402 terms. Inspect supplied file bytes, compute content hashes, identify exact duplicates and report bounded content metadata. Operating boundary: Inline bytes only, with strict size and supported-format limits. No remote drive access, malware certification or file move/delete operations. POST /api/agent-file-desk-rail. Existing product credentials, signed mandates, and single-use action grants remain required where applicable. This adapter grants no authority and never supplies server credentials. Wallet-authenticated bounded operations service with durable records. See /api/operations-contract for exact schemas, verified scope and unavailable capabilities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
filesYes
usageYes
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • removedInput schema / description
      Removed value: -"The existing product POST body. Supply its documented mode, arguments, and required signed authority or grant. The product validates its full contract."
    • removedInput schema / maxProperties
      Removed value: -64
    • removedInput schema / minProperties
      Removed value: -1
    • addedInput schema / properties / files
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content_base64": {
      +        "maxLength": 43692,
      +        "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?(?![\\s\\S])",
      +        "type": "string"
      +      },
      +      "expected_sha256": {
      +        "anyOf": [
      +          {
      +            "pattern": "^[a-f0-9]{64}(?![\\s\\S])",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "file_id": {
      +        "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}(?![\\s\\S])",
      +        "type": "string"
      +      },
      +      "name": {
      +        "maxLength": 160,
      +        "minLength": 1,
      +        "pattern": "^[^/\\\\\\u0000-\\u001f\\u007f]+(?![\\s\\S])",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "file_id",
      +      "name",
      +      "content_base64",
      +      "expected_sha256"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 16,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / idempotency_key
      Added value: +{
      +  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}(?![\\s\\S])",
      +  "type": "string"
      +}
    • addedInput schema / properties / mode / const
      Added value: +"inspect"
    • removedInput schema / properties / mode / maxLength
      Removed value: -128
    • removedInput schema / properties / mode / minLength
      Removed value: -1
    • removedInput schema / properties / mode / type
      Removed value: -"string"
    • addedInput schema / properties / usage
      Added value: +{
      +  "enum": [
      +    "synthetic",
      +    "operational"
      +  ]
      +}
    • addedInput schema / required
      Added value: +[
      +  "idempotency_key",
      +  "usage",
      +  "mode",
      +  "files"
      +]
  2. First observed

TDQS

B3.3/5.0
Behavior4/5

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

Annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=true) only flag that this is a non-read-only, open-world, non-idempotent, destructive-capable call. The description adds substantial context beyond that: per-call pricing (0.10 USDC on Base), a 10-call free tier over 30 days, required credentials/mandates/action grants, a no-authority/no-server-credentials disclaimer, and durable records. It does not explain the practical effect of destructive=true (e.g., spend of funds, durable record writes) outright, so it falls short of a 5 and sits in mild tension with the promised "no file move/delete operations."

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

Conciseness3/5

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

The text is a dense policy paragraph that leads with pricing rather than purpose, and includes boilerplate disclaimers ("This adapter grants no authority and never supplies server credentials") that read as legal cover. The capability sentence is buried mid-block, and several sentences (credentials requirements, durable records) overlap with each other.

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?

For a paid, wallet-authenticated, idempotency-keyed tool with nested file objects, 0% parameter coverage and no output schema, the description covers the commercial/authorization context well but omits parameter meaning and any statement of the response shape (only a passing "report bounded content metadata"). It defers the rest to /api/operations-contract, which is helpful but leaves the agent without the essentials in-line.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for four required parameters, and it largely fails. It hints at the file model ("inline bytes only, with strict size and supported-format limits"), which loosely maps to content_base64 limits, but idempotency_key, the usage enum (synthetic vs operational), and the const mode="inspect" are never explained.

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?

The description names specific verbs and resources: "Inspect supplied file bytes, compute content hashes, identify exact duplicates and report bounded content metadata." That is a clear, concrete capability statement. It does not, however, differentiate itself from any of the many sibling wever rails beyond implicit domain (files/hashing vs invoices, escrow, SLA), so it stops short of a 5.

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?

It gives the operating boundary ("Inline bytes only, with strict size and supported-format limits. No remote drive access") and points to the 402 body and /api/operations-contract for terms, which implicitly tells the agent what context it needs. But it never states when to choose this tool over the sibling rails, nor what triggers a successful vs rejected call, so usage guidance is only implied.

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.