Skip to main content
Glama
Email MCP Server

Email MCP Server

by 123jixinyu

get_email_status

Read-only

Check an email's read, flag, and label status without fetching the full message. Use it to confirm unread state or verify the result of a mark_email operation.

Instructions

Get the current read/flag/label state of an email without fetching its body. Much cheaper than get_email when you only need to check whether an email is unread, flagged, or which labels it has. Also useful to confirm the result of a mark_email call. Does NOT mark the email as seen.

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": {
      "account": "<account>",
      "emailId": "<emailId>"
    },
    "name": "get_email_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
accountYesAccount name from list_accounts
emailIdYesEmail ID from list_emails or search_emails
mailboxNoMailbox path (default: INBOX)INBOX

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.3

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already provide readOnlyHint and destructiveHint, but the description adds valuable behavioral context: it does not mark the email as seen and is cheaper than fetching a full email. This goes beyond annotation hints to clarify side effects and performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three succinct sentences front-load the primary purpose, then add usage guidance and a side-effect caveat. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read tool with fully specified params and good annotations, the description covers purpose, usage, side-effect nuance, and alternative. The absence of an output schema is mitigated by naming the returned state dimensions (read/flag/label).

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?

All three parameters are described in the schema with clear provenance (account from list_accounts, emailId from list_emails/search_emails, mailbox path default). The description doesn't add new parameter-level 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?

The description clearly states the tool retrieves email state metadata (read/flag/label) without fetching the body, differentiating it from get_email. The verb 'Get' and specific resource target make the purpose unambiguous.

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?

It explicitly recommends using this tool over get_email when only state is needed, and mentions confirming mark_email results. This provides clear when-to-use guidance and names an alternative.

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