Skip to main content
Glama
veluralabs

Zoho Mail MCP

by veluralabs

zoho_mark_threads_not_spam

Marks complete email threads as not spam in Zoho Mail, moving incorrectly flagged conversations back to the inbox.

Instructions

Mark whole threads as not spam.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
folderIdNoFolder ID (from zoho_list_folders). Pass as a string — Zoho IDs are 64-bit and lose precision as JSON numbers.
threadIdYes
isArchiveNoSet true when the targets are archived emails
isFolderSpecificNoRestrict the action to one folder (then folderId is required)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already supply the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), so the description is not the sole carrier here. However, it adds no behavioral context of its own — nothing about what happens to the thread afterward, whether it returns to the inbox, or any permission/rate considerations. It essentially restates the name.

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 zero filler and the core action front-loaded. It is efficient, though its brevity is part of the under-specification problem rather than a virtue here.

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 state-changing tool with 4 parameters and no output schema, the description leaves key questions unanswered: which folder the thread lands in after being un-spammed and how batch/multi-thread behavior works. Annotations cover safety but not outcome semantics.

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 75% and the schema already explains folderId's origin (zoho_list_folders), the 64-bit string caveat, and that isFolderSpecific requires folderId. The description contributes nothing about parameters, but the baseline of 3 applies since the schema does the heavy lifting.

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?

States a specific verb+resource ('Mark ... as not spam') with the scope qualifier 'whole threads', which implicitly distinguishes it from the email-level sibling zoho_mark_emails_not_spam. It does not name any sibling explicitly, so the differentiation must be inferred from the wording.

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 zoho_mark_emails_not_spam or zoho_mark_threads_spam, no prerequisites, and no note on whether spam-marked threads must be restored to a particular folder. The agent gets no routing help from the description.

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