Skip to main content
Glama

Server Details

Triage support mail across every connected domain via API key–gated Streamable HTTP MCP.

Ownership verified
Status
Healthy
Uptime
7.7% over 45 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct resource+action: get vs list conversations are clearly separated (full read vs index), and reply_to_conversation vs send_email are explicitly disambiguated in the descriptions ('for answering existing mail use reply_to_conversation instead'). No two tools could plausibly be confused.

Naming Consistency5/5

All five names follow a strict verb_noun snake_case pattern: get_conversation, list_conversations, list_domains, reply_to_conversation, send_email. Verbs are consistent and predictable (get/list/reply/send).

Tool Count4/5

Five tools is a tight, well-scoped surface for an email server and each earns its place. It is on the lean side, with no search or management operations, but nothing is redundant or missing from the core send/read loop.

Completeness4/5

Core email lifecycle is covered: list/read conversations, list domains, send new mail, and reply in-thread. Minor gaps exist (no search, delete/archive, or mark read/unread), though the descriptions imply some of these are intentional API limitations rather than oversights.

Available Tools

5 tools
get_conversationAInspect

Read a full conversation: every message in it, oldest context included, as plain text. Pass the id from list_conversations. Reading does not mark anything as read. A conversation with spam: true cannot be replied to, and only a person can mark it Not spam in the Mailyond dashboard, so point out anything that looks like a real message caught as spam.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe conversation id from list_conversations.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers real behavioral context: reading does not mark anything as read, and spam: true conversations cannot be replied to and can only be unmarked by a person in the dashboard. It omits auth requirements, rate limits, and pagination behavior, keeping it short of a 5.

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 tight sentences, front-loaded with what the tool returns, then how to source the id, then the side-effect and spam caveats. Every sentence adds distinct value with no filler.

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 single-param read tool with no output schema, the description covers return format (plain text, full message history), the id source, and the relevant side effects and spam constraint. Nothing an agent needs to call it correctly is missing.

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 100% and the single parameter's schema text already says 'The conversation id from list_conversations.' The description restates rather than extends that, so the baseline 3 applies.

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 and resource ('Read a full conversation') with explicit scope ('every message in it, oldest context included') and return format ('as plain text'). An agent can distinguish this from list_conversations without opening either schema.

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?

Tells the agent where the required id comes from ('Pass the id from list_conversations'), which implicitly routes it to the sibling list tool first. It also gives concrete follow-up guidance about spam conversations, but does not state explicit when-not conditions.

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

list_conversationsAInspect

List email conversations across every domain on this account, newest first. Use it to find replies and other mail that came in, or mail that has not been answered. Returns one entry per conversation with its latest message. The default inbox folder holds conversations with received mail; spam and conversations we only sent to are left out unless you ask for that folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many conversations (default 15).
cursorNoThe nextCursor from a previous call, to get the next page.
domainNoOnly this domain, e.g. "acme.com". Omit for all domains.
folderNoinbox (default): received mail. sent: conversations a person or reply_to_conversation wrote in. spam: mail flagged as spam.
sourceNoWith folder "sent": dashboard (default) lists conversations a person or reply_to_conversation wrote in. api lists conversations holding a send_email or other API send, such as the messages you sent yourself.
unreadOnlyNoOnly conversations with at least one unread message.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does deliver useful behavior: return granularity ('one entry per conversation with its latest message'), default ordering, and the default inbox filtering that hides spam and sent-only threads. It omits auth/permission requirements and pagination behavior, but the essentials for predicting results are present.

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-loaded with the core operation, then usage, then scope caveats. Every sentence adds distinct information with no redundancy or filler.

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 six-parameter list tool with no output schema, the description explains the return shape and the default filtering behavior that most affects results. Remaining details (source flag semantics, paging nuance) live in the schema, so coverage is adequate though not exhaustive.

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 100%, with defaults, enums, and formats already documented per parameter. The description adds little beyond the schema here -- its 'all domains' and folder-default remarks restate what the schema fields already say -- so the 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 and resource ('List email conversations'), plus account-wide scope and a default sort ('newest first'). An agent can distinguish this list operation from get_conversation (single conversation) and the send/reply siblings without opening any schema.

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?

Gives concrete usage contexts -- 'find replies and other mail that came in, or mail that has not been answered' -- and clarifies the default folder scope plus what is excluded (spam, sent-only) unless requested. It does not name the sibling tools or state when to prefer them, so it stops short of full when/when-not routing.

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

list_domainsAInspect

List the domains this API key can read and send on, with their verification status. Call this first when you need a domain name for another tool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses that results are scoped to the API key's read/send permissions and include verification status, which is genuinely useful, but says nothing about ordering, pagination, empty-result behavior, or that it is a non-mutating read.

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?

Two sentences, no filler. The capability statement comes first and the sequencing advice second, so the reader gets the 'what' before the 'when'.

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 zero-parameter listing tool with no output schema, the description covers purpose, scope, returned fields, and invocation ordering. It could say a bit more about result shape (e.g. whether an empty list is possible), but nothing essential to calling it correctly is missing.

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?

The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. No parameter-level explanation is needed.

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 (List) and resource (domains), plus the scope ('this API key can read and send on') and the returned content ('verification status'). This distinguishes it cleanly from the conversation/email siblings, which operate on messages rather than domains.

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?

Explicitly prescribes sequencing: 'Call this first when you need a domain name for another tool.' That tells the agent when to reach for it and positions it as a prerequisite step, though it does not name which sibling consumes the domain or describe when not to call it.

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

reply_to_conversationAInspect

Reply inside an existing conversation. The from address is the connected domain the conversation is already on, and threading headers are set automatically. Leave "to" empty to reply to whoever wrote in. Ask the user before sending anything they have not seen.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoComma-separated cc addresses.
idYesThe conversation id from list_conversations.
toNoOverride the recipient. Defaults to the other party in the conversation.
textYesThe plain-text reply body.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the sender identity ('from address is the connected domain the conversation is already on'), automatic threading-header behavior, and a human-confirmation prerequisite before irreversible sends. It does not cover failure modes or rate limits, but the core behavioral traits are present.

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 short sentences, front-loaded with the core action, then the identity/threading behavior, then the safety rule. No filler and each sentence carries distinct information.

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 4-parameter write tool with no annotations and no output schema, the description covers identity, threading, recipient defaults, and the confirmation requirement. Return/error behavior is unaddressed, but the agent has enough to call it correctly.

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 100%, so the schema already documents id, to, cc, and text. The description's note that leaving 'to' empty replies to the inbound author largely restates the schema's stated default, and it adds nothing for cc or text. Baseline 3 applies.

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 and resource ('Reply inside an existing conversation'), which implicitly separates it from send_email (a new message) and get_conversation (a read). It never names those siblings explicitly, so the differentiation is inferable rather than stated.

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?

Gives a concrete conditional instruction ('Leave "to" empty to reply to whoever wrote in') and a usage policy ('Ask the user before sending anything they have not seen'). It never says when to use this versus send_email, so an exclusion or alternative is missing.

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

send_emailAInspect

Send a new email from one of your connected domains. Use list_domains to see which from addresses are available. For answering existing mail use reply_to_conversation instead, so the thread stays intact. Ask the user before sending anything they have not seen.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoComma-separated cc addresses.
toYesRecipient address, or several comma-separated.
fromYesAn address on a connected domain, e.g. "support@acme.com".
textYesThe plain-text body.
replyToNoReply-To address.
subjectYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses the identity constraint (from must be on a connected domain), the thread-integrity side effect of the alternative path, and a required user-confirmation gate. It does not state whether sending is immediate/irreversible, what happens if the domain is unverified, or any rate limit, leaving some gaps for a mutation tool.

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, each doing distinct work: purpose, discovery path, alternative path plus consent rule. The core purpose is front-loaded and there is no filler.

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 send/mutation tool with no annotations and no output schema, the description covers the key decision points (valid senders, when to reply instead, user confirmation). It stops short of describing failure modes or delivery semantics, which is the main remaining gap given the absence of an output schema.

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 83%, so the schema already documents the parameters and the baseline is 3. The description adds only the constraint that 'from' must be an address on a connected domain and points at list_domains for discovery — useful but largely duplicative of the schema's own 'An address on a connected domain' note.

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 and resource ('Send a new email') plus the scope constraint ('from one of your connected domains'). It explicitly differentiates itself from the sibling reply_to_conversation, so an agent can route correctly without opening any schema.

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?

Names both alternatives and the conditions that select them: list_domains to discover valid from addresses, reply_to_conversation when the thread already exists. It also states a consent precondition ('Ask the user before sending anything they have not seen'), which is exactly the kind of when-to-use guidance that prevents misuse.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedget_conversation
    • First observedlist_conversations
    • First observedlist_domains
    • First observedreply_to_conversation
    • First observedsend_email

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server providing read and send access to a single IMAP/SMTP mailbox over Streamable HTTP with GitHub OAuth authentication, featuring recipient allowlists for security, email reading/searching/threading, attachments, drafts, folder management, and sending/reply tools.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Sendmux is an email inbox API and email API for AI agents. Use this MCP server to let authorised agents work with Sendmux mailboxes, inbound email, clean JSON parsing, webhooks, outbound sending, provider routing, logs, billing, and team controls.
    32
    65
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP production gateway — Streamable HTTP proxy to stdio/HTTP backends with API-key auth, per-key rate limiting, TTL cache, per-backend circuit breaker, Prometheus metrics.
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Gives AI agents a self-hosted Cloudflare mailbox they can use to receive, search, wait for, read, send, reply to and forward email, with attachments and threads, over MCP or REST behind a single bearer token.
    5
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources