Skip to main content
Glama
aiexp1

Tanod MCP server

utilpeek: upload a file and get a public link that expires within 24 hours

upload_file_get_link

Upload a supported file (PDF, Office, image, audio, CSV, JSON, text, Markdown) up to 20 MB and get a public link that expires in 24 hours.

Instructions

utilpeek: Upload a file and get a download link that expires in 24 hours. Returns a public download link to a file you upload, valid for ttl_hours (default 24, the most); every call stores a new copy under a new link. Over HTTP the file may also be the raw request body or a multipart file part. PDF, Office, ODF, image, audio, CSV, JSON, text and Markdown only, up to 20 MB, detected from the bytes (HTML, SVG, scripts, executables and archives are a 415, not charged). Anyone with the link can download until it expires; Report abuse to support@tanod.dev; links expire within 24 hours. Typically under 1 s. Price: USD 0.005. No free tier. Docs: https://tanod.dev/learn/upload-file-get-link-for-agents.html

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYesFile name with its extension, such as report.pdf. The extension is not trusted: the type is detected from the bytes. It sets the name in the link.
ttl_hoursNoHours the link stays valid, 1-24 (default 24, the most).
content_base64YesThe file, base64 encoded, up to 20 MB decoded. Allowed: PDF, DOCX, XLSX, PPTX, ODT, ODS, ODP, PNG, JPEG, WebP, GIF, TIFF, BMP, MP3, WAV, M4A/MP4 audio, OGG, FLAC, CSV, JSON, TXT, Markdown. HTML, SVG, scripts, executables and archives are refused with 415.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPublic download link; anyone holding it can read the file until it expires.
nameNoThe file name in the link.
bytesNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
sha256No
expires_atNoUTC time the link stops working (within 24 hours).
output_noteNo
content_typeNoDetected from the file's bytes, not from the name you sent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly=false, idempotent=false, openWorld=true), and the description adds material context beyond them: the link is public to anyone, expires within 24h, disallowed types return 415 without charge, price USD 0.005, no free tier, typical latency under 1 s, and an abuse contact.

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 action and result, and dense with useful constraints, but the 24-hour expiry is repeated three times and the file-type list is duplicated between description and schema.

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?

An output schema exists so return values need no explanation; the description nonetheless covers size limit, accepted and rejected types, cost, latency, expiry ceiling and abuse reporting — everything needed to invoke it correctly.

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%, so the schema already documents filename, ttl_hours and content_base64 in detail; the description largely restates them. It does add one genuine transport clarification (raw body or multipart `file` part over HTTP), but that is marginal against a fully documented 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?

Specific verb+resource: uploads a file and returns a public download link, with the expiry window stated up front. It is clearly distinguishable from the many convert/build/render siblings in the list.

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 real usage context: every call stores a new copy under a new link (so repeat calls are not idempotent), the HTTP raw-body/multipart alternative for supplying content, and the accepted input classes. It does not name an alternative sibling or an explicit when-not-to-use, so it stops short of the top score.

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

Deploy Server

Other Tools