Skip to main content
Glama

face_expression

Apply named facial expressions or FACS dial values to a Genesis figure, clearing prior expression first. Control strength and custom dials for precise character emotion.

Instructions

Sets a facial expression (smile, sad, angry, surprised, wink...) from the FACS face dials, or face dials by name; clears the previous expression first.

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": {
      "figure": "<figure>"
    },
    "name": "face_expression"
  }
}

Input Schema

NameRequiredDescriptionDefault
resetNoClear face dials and face bones first.
figureYesFigure label (Genesis 9 or Genesis 8 / 8.1).
valuesNoFace dials to set after the expression, {label or name: value}, e.g. {"Brow Inner Up Left": 0.4}.
strengthNoMultiplies the expression: 0.5 subtle, 1 full.
expressionNoNamed expression; neutral only clears the face. Left/right (smirk, wink) are the figure's own.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the description's job is to add mutation context, and it does: it discloses that the previous expression is cleared first, which tells the agent this is a state-replacing write. It does not explain whether the reset is reversible or what the strength multiplier interacts with beyond the schema, so it stops short of full disclosure.

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?

Two short clauses with no filler, and the clearing behavior is front-loaded as the first thing after the action. The phrasing 'from the FACS face dials, or face dials by name' is slightly redundant but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and five parameters, the description covers the core action and the clearing side effect but omits what the agent should expect when neither expression nor values is supplied, and it does not mention the figure requirement beyond the schema. Adequate but not fully self-sufficient for a mutation tool.

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 description coverage is 100%, so each parameter is already documented including the values format and the strength range. The description only restates that dials can be given by label or name, adding negligible meaning beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb and resource ('Sets a facial expression') and names both input modes: a named expression or FACS face dials by label/name. It is clearly distinct from siblings like eye_color or eyes_look_at, though it never explicitly contrasts itself with any of them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. that a figure must be loaded), and no named alternative for related tasks such as gaze or eye color. The only implied guidance is that you may supply a named expression or raw dials, which is really parameter description rather than usage policy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.