Skip to main content
Glama
concurrent2024

mcp-email-server

Search email

search_emails
Read-only

Find and filter email messages by sender, subject, date, folder, unread, or flagged status, returning newest-first summaries to quickly locate emails for further reading.

Instructions

Find messages, newest first, returning short summaries rather than full bodies.

Every filter is combined with AND, and omitting all of them returns the most recent messages in the folder. Reading a message costs a separate read_email call, using the uid from these results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results.
sinceNoOnly messages sent on or after this date.
beforeNoOnly messages sent strictly before this date.
folderNoFolder to search.INBOX
to_containsNoMatch the To header against this substring.
unread_onlyNoOnly unread messages.
flagged_onlyNoOnly flagged/starred messages.
from_containsNoMatch the From header against this substring.
text_containsNoMatch anywhere in the headers or body.
subject_containsNoMatch the subject against this substring.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description adds meaningful behavior: newest-first ordering, summary-only results, AND-combined filters, and empty-query behavior. It also clarifies the relationship to read_email via uid. This goes well beyond the structured annotations without contradicting them.

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 sentences front-load the core purpose, then compactly convey filter behavior and the necessary next step. Every sentence earns its place, and there is no redundancy with the schema.

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 10-parameter search tool, the description plus rich schema and output schema cover the essentials: order, result shape, filter semantics, default behavior, and follow-up action. It is not fully exhaustive—e.g., it does not mention pagination beyond limit—but the available structured data fills most gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining how filters combine (AND) and what happens when no filters are provided, which is not stated in individual parameter descriptions. This is a meaningful supplement to the schema.

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?

Description names a specific verb ('Find messages') and resource, and differentiates from sibling tools by explicitly stating the result is short summaries, not full bodies. It also names the companion read_email call, so the agent understands where search ends and retrieval begins.

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?

The description provides clear usage context: filters are ANDed, omitting all filters returns recent messages, and full message bodies require a separate read_email call. It does not explicitly enumerate when not to use this tool versus siblings like wait_for_new_emails, but the context is strong enough for an agent to choose correctly.

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/concurrent2024/mcp-email-server'

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