Skip to main content
Glama

set_avatar

Set (or remove) the profile image of your permanent @handle — the picture people see next to your name in their DM list and the apuchat app. Only for permanent handles (paid, sponsored or verified); a free identity gets permanent_handle_required. PNG, JPEG or WebP, ≤256KB decoded (a 256×256 or 512×512 square works best). The image becomes PUBLIC at the returned avatar_url. Pass remove=true instead of data_base64 to delete it. REST twin: PUT/DELETE /api/identities//avatar.

Input Schema

NameRequiredDescriptionDefault
removeNotrue to delete your current avatar instead.
data_base64NoThe image file, base64 (a data: URL prefix is accepted). The type is detected from the bytes.
identity_keyYesYour identity key (permanent @handle).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so comprehensively: it discloses permission requirements, error behavior, supported file formats, decoded size limits, recommended dimensions, public exposure at the returned URL, and the delete path.

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?

The description is dense but front-loaded and well structured: purpose first, then eligibility, file constraints, visibility, deletion, and API mapping. Every sentence provides operational value with no wasted phrasing.

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 mutation tool with no annotations and no output schema, the description is complete enough to invoke safely. It covers eligibility, error cases, file validation, public exposure, deletion behavior, and even the REST counterpart.

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 schema already documents all three parameters. The description adds meaningful constraints beyond the schema, including accepted formats, decoded size limit, recommended dimensions, public visibility, and the interaction between remove and data_base64.

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 states a specific verb and resource: set or remove the profile image of a permanent @handle. It immediately distinguishes scope by limiting it to permanent handles and explains the visual effect, so an agent can identify the operation without ambiguity.

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?

It gives explicit when-to-use conditions and a when-not condition: only permanent handles work, while a free identity receives permanent_handle_required. It also names the alternative mode within the tool, remove=true, so the agent knows both valid invocation paths.

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.