Skip to main content
Glama

Upload an image

upload_image
Idempotent

Uploads an image, such as a screenshot, chart or diagram, to static.md image hosting and returns its link, a markdown snippet that embeds it in a note (alt), and its type, size in bytes and dimensions. Takes JPG, PNG, GIF, WebP, AVIF, HEIC, SVG, BMP or ICO up to 10 MB, as base64 or a data: URL; HEIC is stored as JPEG. Anyone with the link can open the image, and it is listed in the user's uploads on static.md. The same image always gets the same link.

Input Schema

NameRequiredDescriptionDefault
altNoAlt text for the markdown snippet: what the image shows. Default: the file name
dataYesThe image file as base64, or as a data: URL such as "data:image/png;base64,iVBORw0…". An SVG can also be a URL-encoded "data:image/svg+xml,<svg …>"
filenameNoName for the file in the user's uploads, such as "revenue-q3.png"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the 10 MB cap, the accepted formats, HEIC-to-JPEG conversion, that the image is publicly readable by anyone with the link, that it appears in the user's uploads, and that identical images dedupe to the same link (reinforcing idempotentHint). The public-visibility warning is exactly the kind of side effect an agent needs before calling.

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?

Three dense sentences with zero filler: purpose and return values first, then input constraints, then the privacy and idempotency properties. Nothing is repeated from the name or title.

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?

With no output schema, the description compensates by describing the full return payload (link, markdown snippet, type, bytes, dimensions). For a single-shot upload with no dependencies, the format limits, privacy disclosure and dedupe behavior cover everything an agent needs to invoke it correctly.

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 coverage is already 100%, so the baseline is 3; the description still adds value by specifying the 10 MB envelope and the accepted format set, which constrain what may legitimately be passed in `data`. The alt-text default and filename semantics are left to the schema, so it does not fully supersede it.

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 ('Uploads an image ... to static.md image hosting') and enumerates exactly what comes back: link, markdown snippet, type, size and dimensions. The resource is plainly distinct from every sibling (boards, notes, ciphertext), so an agent can route to it without inspecting other schemas.

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?

The use case is clearly implied by the return contract — the markdown snippet 'that embeds it in a note' tells the agent this is the tool to reach for when a note needs an image. It stops short of explicitly naming alternatives or exclusions (e.g. 'do not use for text attachments'), so it is strong context rather than full routing guidance.

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