Skip to main content
Glama
c0webster

Hardened Google Workspace MCP

by c0webster

modify_gmail_message_labels

Add or remove labels from Gmail messages to organize, archive, or delete emails. Use this tool to manage email categorization and inbox organization through label modifications.

Instructions

Adds or removes labels from a Gmail message. To archive an email, remove the INBOX label. To delete an email, add the TRASH label.

Args: user_google_email (str): The user's Google email address. Required. message_id (str): The ID of the message to modify. add_label_ids (Optional[List[str]]): List of label IDs to add to the message. remove_label_ids (Optional[List[str]]): List of label IDs to remove from the message.

Returns: str: Confirmation message of the label changes applied to the message.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_google_emailYes
message_idYes
add_label_idsNoLabel IDs to add to the message.
remove_label_idsNoLabel IDs to remove from the message.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by explaining how to achieve archiving and deletion through label manipulation, which is crucial context beyond basic parameter documentation. However, it doesn't mention permissions, rate limits, or error handling.

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?

The description is well-structured with a clear purpose statement, usage examples, and parameter documentation. However, the Args and Returns sections are somewhat redundant with the schema and output schema, making it slightly longer than necessary.

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 mutation tool with no annotations, the description does a good job explaining key behaviors (archiving/deleting via labels). The output schema exists, so return values don't need explanation. However, it could better address error cases or permissions given the tool's complexity.

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 50% (only add_label_ids and remove_label_ids have descriptions in the schema). The description adds minimal param semantics in the Args section, mostly restating what's in the schema. It doesn't explain label ID formats or provide examples, so it doesn't fully compensate for the coverage gap.

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?

The description clearly states the specific action ('Adds or removes labels from a Gmail message') and identifies the resource ('a Gmail message'). It distinguishes this tool from siblings like 'manage_gmail_label' (which manages labels themselves) and 'batch_modify_gmail_message_labels' (which handles multiple messages).

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool for specific operations: 'To archive an email, remove the INBOX label' and 'To delete an email, add the TRASH label.' This gives clear alternatives to other tools like 'delete_event' or general mutation tools.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/c0webster/hardened-google-workspace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server