Skip to main content
Glama
addy-mcp

addy-mcp

set_username_option

Idempotent

Toggle a username option such as active, catch_all, or can_login on or off to control mail forwarding, alias auto-creation, or login access.

Instructions

Turn a username option on or off.

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": {
      "username_id": "<username_id>",
      "option": "<option>",
      "enabled": "<enabled>"
    },
    "name": "set_username_option"
  }
}

Input Schema

NameRequiredDescriptionDefault
optionYes'active': whether its aliases forward mail. 'catch_all': auto-create aliases for any address at the username. 'can_login': whether the username can be used to log in to the account.
enabledYes
username_idYesThe id (UUID) of the item

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

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, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond restating the title; in particular it does not disclose that enabling 'catch_all' auto-creates aliases for any address, which is a materially surprising side effect documented only inside the schema.

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?

A single short sentence with the action front-loaded and no filler. It is efficient, though its brevity borders on under-specification for a tool with three required parameters and a side-effecting enum.

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 mutation tool with no output schema and no indication of what the response returns, the description leaves out the consequences of specific options and any permission or state requirements. The most important behavioral detail, that catch_all creates aliases, lives only in the schema.

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 67%, and the 'option' enum is fully explained in the schema itself, including the meaning of active, catch_all, and can_login. The description's 'on or off' only loosely signals the boolean 'enabled' parameter, which lacks a schema description, so it compensates minimally.

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 gives a specific verb and resource: toggling a username-level option on or off. It does not differentiate from sibling tools such as set_alias_option or set_domain_option, so an agent must infer the target scope from the tool name alone.

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 use this versus the many sibling set_*_option tools, no prerequisite or permission notes, and no stated conditions. The only routing signal is the word 'username' embedded in the name.

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