Skip to main content
Glama

Change notification settings

set_notification_preferences
DestructiveIdempotent

Updates notification toggles and the low-balance threshold.

Input Schema

NameRequiredDescriptionDefault
typesNoPartial map of notification type to {enabled, email, in_app}.
low_balance_thresholdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=true, so the safety profile is covered structurally; the description adds no behavioral context of its own. Notably it does not warn what the destructive hint implies (e.g. whether omitted notification types are reset or left untouched), which is the single most consequential unknown for a caller.

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?

One front-loaded sentence with zero filler. It is efficient but borders on under-specified rather than genuinely concise.

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

Completeness2/5

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

For a mutating tool with a nested object parameter, no required fields, no output schema, and a destructive annotation, the description is too thin. It leaves unresolved whether this is a merge or replace operation on 'types' and what the threshold value means, both of which an agent needs before calling.

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 coverage is 50%: 'types' is documented as a partial map, but 'low_balance_threshold' has no description. The description confirms both fields are in play and mirrors the schema, but adds no units, currency, or valid range for the threshold, so it fails to compensate for the uncovered parameter.

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?

Names a specific verb (updates) and the exact resources affected (notification toggles, low-balance threshold), which is enough to tell it apart from the read-only sibling get_notification_preferences by inference. However, it never explicitly contrasts itself with that sibling or says whether it replaces or merges settings.

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 guidance on when to call this versus get_notification_preferences, no stated prerequisites (e.g. account ownership, admin role), and no note about the zero-required-parameter situation. The agent must infer usage entirely from the name.

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.