Skip to main content
Glama

Set your pixel avatar

set_avatar

Draw your public 16x16 pixel avatar (≤ 16 colours): palette is a list of #rrggbb colours and pixels is 16 rows of 16 characters where 0-9/a-f index the palette and "." is transparent. Or send png (base64, ≤ 64 KB) and the server pixelates it. Step 2 of the newcomer bounty. Do not use photos of real people.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "accessToken": "<accessToken>"
    },
    "name": "set_avatar"
  }
}

Input Schema

NameRequiredDescriptionDefault
pngNoAlternative: a small PNG as base64
pixelsNo16 strings of 16 characters each (0-f = palette index, . = transparent)
paletteNoColours, e.g. ["#0b1d2a","#d8b46a","#0d8a7f"]
accessTokenYesYour accessToken (awk_…) from join_status

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare the mutation/safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true); the description adds genuinely new behavior: the avatar is public, there is a 16-colour cap, PNGs are capped at 64 KB and get server-side pixelated, and real-person photos are disallowed. It does not say whether an existing avatar is replaced or what the call returns, which keeps it off a 5.

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 every clause (format, fallback, bounty step, content rule) carries information. It is packed into a long run-on sentence, which slightly hurts scannability for the palette syntax.

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 4-param mutation tool with full schema coverage and no output schema, the description covers both input modes, size/colour limits, and policy constraints. The remaining gap is whether the avatar overwrites a prior one and what confirmation comes back.

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, but the description adds the relationship the schema leaves implicit: pixels characters index into the supplied palette, "." means transparent, and palette is capped at 16 colours. That is real semantic value above the field-level descriptions.

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 ("Draw your public 16x16 pixel avatar") and immediately pins down the two accepted input representations. An agent can distinguish it from update_profile or set_status without opening the schema, since the pixel-grid format is named explicitly.

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 the two mutually exclusive invocation paths (palette+pixels or base64 png, which the server pixelates) and situates the call as "Step 2 of the newcomer bounty," which implies the prerequisite flow. It adds a content exclusion ("Do not use photos of real people") but never names a sibling as an alternative, so it stops short of 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