Skip to main content
Glama

Attach image

familia_attach_image
Destructive

Use this when the user asks to attach a JPEG, PNG, or WebP image to an existing Familia task or plan. Provide either dataUrl or base64Data plus mimeType. Do not use for non-image files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNoOptional image width in pixels.
heightNoOptional image height in pixels.
dataUrlNoImage data URL, e.g. data:image/png;base64,...
fileNameNoOptional image filename shown in attachment metadata.
mimeTypeNoRequired when base64Data is provided without a dataUrl.
targetIdYesTask id when targetType is task, or plan item id when targetType is plan.
timezoneNoIANA timezone used by the backend request.
base64DataNoRaw base64 image bytes when dataUrl is not provided.
targetTypeYesType of Familia item that should receive the image.
replaceExistingPhotoNoWhen true, replaces the latest existing photo attachment for the target.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
linkNo
targetIdNo
attachmentNo
targetTypeNo
attachmentIdYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already convey that this is a non-read-only, destructive operation, so the agent has the core safety signal. The description does not add detail about the replaceExistingPhoto side effect, though the schema documents it; this is a minor gap rather than a contradiction.

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?

Two sentences with no filler: the use case and file formats come first, then the encoding rule and the negative boundary. Every sentence contributes to correct invocation.

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?

For a 10-parameter tool, the input schema covers each parameter and an output schema exists, so the description need only provide intent mapping and behavioral boundaries, which it does. The only omitted nuance is the destructive replacement behavior, but this is signaled by destructiveHint and documented on replaceExistingPhoto.

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 100%, so the baseline is 3. The description adds the key relationship that either dataUrl OR base64Data-plus-mimeType should be provided, which is not explicit from the JSON schema alone; this pushes it to 4.

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?

The description uses a specific verb ('attach') and a concrete resource ('image to an existing Familia task or plan'), and restricts acceptable formats to JPEG/PNG/WebP. The closing 'Do not use for non-image files' differentiates it from generic attachment tools, even though no sibling name is cited.

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?

It explicitly tells the agent when to invoke: when the user asks to attach a JPEG/PNG/WebP image to a task or plan. It also provides a clear negative rule ('Do not use for non-image files'), but it does not name an alternative tool for those cases, so it stops just short of the highest bar.

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