Skip to main content
Glama

Save image

uoink_image

Saves supplied PNG, JPEG, or WebP image bytes to a local image corpus with optional caption and attribution; returns the saved item ID, slug, and metadata.

Instructions

Save supplied PNG, JPEG or WebP bytes as a local image corpus item with optional caption and attribution. Use for screenshots, diagrams or images; use uoink_note for text or uoink_page to fetch a webpage. Accepts strict base64 or a data URL and returns the saved item ID, slug and metadata. Invalid images are refused. No cloud OCR or vision service runs.

Input Schema

NameRequiredDescriptionDefault
mimeNoImage media type, such as image/png, image/jpeg or image/webp; omit for detection.
authorNoAttribution name supplied by the user; not an account to authenticate.
captionNoUser-supplied image description stored with the item; no image analysis is performed.
filenameNoOriginal image filename used as a naming hint, not a destination path.
source_urlNoOriginal source URL to store for attribution; this field does not fetch it.
image_base64YesBase64-encoded PNG, JPEG or WebP bytes; a data URL prefix is also accepted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.12.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the write/side-effect profile, and the description adds real value beyond them: invalid images are refused, no cloud OCR or vision service is invoked (a privacy/data-residency signal), and the response returns item ID, slug and metadata. It does not address size limits or whether re-saving the same bytes creates a duplicate.

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?

Purpose is front-loaded, followed by routing, input contract, return values, validation and a privacy note — each sentence carries content. Slightly dense at five clauses, and 'Use for screenshots, diagrams or images' partially restates the first sentence.

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?

No output schema exists, and the description compensates by naming return fields (item ID, slug, metadata). With all six parameters covered by the schema and annotations covering side effects, only minor gaps remain around idempotency on repeat saves and input size limits.

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 every parameter is already documented, which sets the baseline at 3. The description only reinforces the image_base64 contract (strict base64 or data URL) and mentions caption/attribution as optional, adding little beyond the schema text.

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 (save), resource (image bytes into the local corpus), and accepted formats (PNG, JPEG, WebP) plus the optional caption/attribution payload. It also explicitly separates itself from uoink_note and uoink_page, so an agent can route 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage contexts (screenshots, diagrams, images) and names two alternatives with the conditions that select them. No explicit exclusion for non-image media such as video (uoink_video exists as a sibling), so it stops just short of a full when/when-not map.

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