Skip to main content
Glama

Change a feature flag

set_flag
Destructive

Turn a flag on or off and/or change its rollout percentage. Creates the flag (off) if it doesn't exist and create=true. A flag controls what real users see, so confirm with the person 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": {
      "key": "<key>"
    },
    "name": "set_flag"
  }
}

Input Schema

NameRequiredDescriptionDefault
keyYes
createNo
enabledNo
rollout_pctNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=false and destructiveHint=true, and the description adds meaningful context on top: the create-if-missing behavior gated on create=true, and the real-user blast radius requiring confirmation. It still omits reversibility and the effect of omitting optional fields, which would be useful for a destructive mutation.

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?

Three short sentences with the core action front-loaded and the safety warning placed last where it is most likely to be read before invoking. The 'and/or' phrasing is slightly loose but conveys optionality efficiently; no filler sentences.

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?

Given a four-parameter destructive mutation with no output schema, the definition covers purpose, side effects, and the human-confirmation requirement. Remaining gaps are defaults for the optional fields and what the call returns, which are minor but not trivial for an agent deciding how to compose the arguments.

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 0%, so the description must carry the parameter burden. It does explain the meaning of create, enabled, and rollout_pct at a high level, but leaves the key parameter unstated, gives no defaults for the optional flags, and does not describe interactions such as what happens when rollout_pct is supplied without enabled. Partial compensation, not full.

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?

The description uses a concrete verb and resource pair: turn a flag on/off and/or change its rollout percentage, plus the create-on-miss side effect. It is unambiguous what the tool mutates. It does not explicitly name the sibling alternatives (list_flags, check_flags_for_user), but the set/list/check distinction is evident from the names.

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

Usage Guidelines3/5

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

The only usage guidance is procedural: 'confirm with the person first' because flags control what real users see. That is a valuable caution, but it does not state when to use set_flag versus check_flags_for_user or list_flags, nor any preconditions beyond create=true. Usage is implied rather than spelled out.

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.