Skip to main content
Glama

Set your preferences

set_preferences

Update personalization settings for meme discovery and generation, including formats, languages, categories, exclusions, caption tone, display name, and humor styles; omitted fields keep current values.

Instructions

Updates personalization. All fields optional; omitted fields keep their current values.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "set_preferences"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatsNo
languagesNo
categoriesNo
exclusionsNo
captionToneNo
displayNameNo
humorStylesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.6/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full behavioral burden, and it does disclose one genuinely useful trait: partial-update semantics, where omitted fields keep their current values. It says nothing about how the nested 'exclusions' object behaves (merge vs. replace), what validation failures look like, or whether changes are reversible, so the mutation profile is only partly covered.

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 sentences, front-loaded with the action and followed by the key merge rule, with no filler. Brevity is a virtue here, though the terseness leaves the field-level meaning entirely to the schema.

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

Completeness1/5

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

For a 7-parameter mutation tool with a nested object, zero schema description coverage, no annotations, and no output schema, the description is far too thin. An agent can determine that it is a partial update but not what any individual field means or how nested values are treated, which is inadequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 7 parameters, including a nested object with keywords/regexes and an enum-backed captionTone, so the description must compensate and does not. It adds only the blanket statement that all fields are optional; it never explains what formats, languages, categories, exclusions, or humorStyles control, nor the accepted value shapes.

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

Purpose3/5

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

The description gives a verb ('Updates') and an abstract resource ('personalization'), which is understandable but vague. It never names what is actually being personalized (formats, languages, categories, exclusions, caption tone, display name, humor styles) and never distinguishes itself from the sibling get_preferences beyond the implicit write/read split. An agent must open the schema to learn what 'personalization' contains.

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 explicit guidance on when to call this versus get_preferences, and no mention of prerequisites such as authentication or the need to read current preferences first. The only usable signal is the implied 'use this to change preferences', which an agent could infer from the name alone.

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