Skip to main content
Glama

Get an upload link

create_upload_link

Get a link where the user uploads a scanned PDF or DjVu from their device. Use it when you cannot pass the user's file to fix_scan: no attachment, a file too large to attach, or a file attached in a chat that cannot hand attachments to tools. Show the user the link; when they say it is uploaded, call fix_scan (or preview_scan) with the upload_id. The link works for one hour and one file.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_upload_link"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Beyond the annotations, it discloses two behavioral constraints that matter operationally: the link expires in one hour and accepts exactly one file. It also describes the human-in-the-loop sequencing (show link, wait for confirmation, then use the upload_id). What it doesn't clarify is whether repeated calls mint additional links, which is relevant given idempotentHint=false.

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 compact sentences, front-loaded with the purpose before the fallback conditions and the follow-up step. No filler and no repetition of the title or annotations.

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

Completeness5/5

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

For a no-parameter, no-output-schema tool, the description supplies everything an agent needs: what it returns, its lifetime limits, when to choose it, and how to continue the workflow. Nothing material is missing.

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?

Zero parameters, so the baseline is 4. The description still earns its place by explaining the implicit return value — a link plus an upload_id — and where that upload_id must be passed next, which is meaningful given there is no output schema.

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 ('Get a link where the user uploads a scanned PDF or DjVu from their device') plus the scope (one file, one hour). An agent can distinguish this from fix_scan, preview_scan and the other siblings without opening any schema.

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?

Gives explicit selection conditions: use it when you cannot pass the user's file to fix_scan — no attachment, file too large, or a chat that cannot hand attachments to tools. It also names the follow-up path (call fix_scan or preview_scan with the upload_id once the user confirms), so both when-to-use and what-to-do-next are covered.

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