Skip to main content
Glama

contacts_remove_label

Remove a label from a contact to manage contact groups. Requires user approval and returns the label removal result.

Instructions

Remove a label from a contact. Returns {resource_name, label_removed}, with a note of 'label not found' if no label has that name (nothing changes then). Use contacts_add_label to put a label on a contact. Requires user approval.

Input Schema

NameRequiredDescriptionDefault
reasonYesOne sentence: why are you calling this tool right now?
label_nameYesName of the label (contact group) to remove, matched without regard to case. The label itself is not deleted.
resource_nameYesResource name of the contact ('people/c12345'), from contacts_search or contacts_list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / label_name / description
      Added value: +"Name of the label (contact group) to remove, matched without regard to case. The label itself is not deleted."
    • addedInput schema / properties / resource_name / description
      Added value: +"Resource name of the contact ('people/c12345'), from contacts_search or contacts_list."
  2. First observedv5.3.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare non-read-only, non-idempotent, non-destructive, which correctly signals mutation without deletion. The description adds valuable specifics: return shape {resource_name, label_removed}, behavior on missing label ('nothing changes then'), and a 'Requires user approval' constraint. One gap: it doesn't explain why idempotentHint=false (repeated calls could error), but overall good coverage above annotations.

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 tight sentences covering action, return value, edge case, sibling reference, and approval requirement. Front-loaded with the core action. Slightly dense but no wasted words; could separate the approval requirement for better scannability.

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?

For a 3-param mutation with no output schema, the description covers return structure, edge-case behavior, sibling tooling, and approval requirement. It stops short of explaining permission requirements or error conditions beyond 'label not found', but given annotations and full schema coverage, it is largely complete.

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 100%, so all three parameters are fully documented in the schema (including case-insensitivity of label_name and the fact that the label itself isn't deleted). The description does not add syntax or usage details beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb ('remove') and resource ('a label from a contact'), and explicitly names the inverse sibling 'contacts_add_label' to clarify direction. An agent can immediately distinguish this from add_label or gmail_remove_label.

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

Usage Guidelines4/5

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

References 'contacts_add_label' as the complementary operation, giving directional context. However, it does not explicitly state when to use this tool vs. alternatives like contacts_update (which might also modify labels) or provide preconditions/exclusions.

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

Deploy Server

Other Tools