Skip to main content
Glama
moellerm1968

MailMCP

by moellerm1968

MailMCP

MCP-Server für den Zugriff auf ein E-Mail-Postfach via IMAP/SMTP. Geschrieben in Node.js / TypeScript. Läuft als stdio-Prozess direkt auf dem Host.

Features

  • Alle Ordner des Postfachs auflisten

  • E-Mails in einem beliebigen Ordner auflisten (neuste zuerst)

  • Vollständigen Inhalt einer E-Mail lesen (Text, HTML, Anhänge)

  • E-Mails nach Betreff, Absender oder Body durchsuchen

  • E-Mail in anderen Ordner verschieben

  • E-Mails senden (inkl. CC, BCC, HTML, Anhänge als Base64)

  • Lokale Datei direkt als E-Mail-Anhang versenden

  • Konfigurierbarer INBOX-Ordner

Related MCP server: IMAP/SMTP Email MCP Server

Verfügbare Tools

Tool

Beschreibung

list_folders

Alle IMAP-Ordner auflisten

list_emails

E-Mails in einem Ordner auflisten (mit Filter: ungelesen)

get_email

Vollständige E-Mail per UID lesen

search_emails

E-Mails nach Stichwort durchsuchen

move_email

E-Mail in anderen Ordner verschieben

send_email

E-Mail senden (To, Subject, Text, optional CC/BCC/HTML/Anhänge als Base64)

send_local_file

Lokale Datei vom Host-Dateisystem als Anhang versenden

get_inbox_config

Aktuelle Serverkonfiguration anzeigen

Setup

1. Abhängigkeiten installieren & bauen

npm install
npm run build

2. Konfiguration

cp .env.example .env

Werte in .env anpassen:

Variable

Beschreibung

Standard

MAIL_HOST

IMAP-Server

MAIL_PORT

IMAP-Port

993

MAIL_SSL

IMAP SSL

true

MAIL_USER

E-Mail-Adresse

MAIL_PASSWORD

Passwort

MAIL_INBOX

Standard-Posteingang

INBOX

MAIL_MAX_EMAILS

Max. E-Mails pro Abfrage

50

SMTP_HOST

SMTP-Server

SMTP_PORT

SMTP-Port

587

SMTP_SSL

SMTP SSL (true = Port 465)

false

SMTP_FROM_NAME

Absendername

Die .env-Datei wird automatisch geladen — es sind keine Umgebungsvariablen im MCP-Client nötig.

MCP-Integration (mcporter / Claude / VS Code)

{
  "mcpServers": {
    "mailmcp": {
      "command": "node /pfad/zu/mailmcp/dist/server.js"
    }
  }
}

Dateistruktur

mailmcp/
├── src/
│   ├── server.ts        # MCP Server & Tool-Definitionen
│   ├── imap-client.ts   # IMAP-Verbindung & E-Mail-Parsing
│   ├── smtp-client.ts   # SMTP-Versand via nodemailer
│   └── config.ts        # Konfiguration via .env
├── package.json
├── tsconfig.json
├── .env                 # Credentials (nicht einchecken!)
├── .env.example
└── .gitignore

Available Tools

8 tools
get_emailA

Liest den vollständigen Inhalt einer E-Mail anhand ihrer UID. Gibt Betreff, Absender, Empfänger, Datum, Text-Body, HTML-Body und Dateianhänge zurück.

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYesDie UID der E-Mail (aus list_emails / search_emails).
folderNoOrdner, in dem sich die E-Mail befindet (optional, Standard: INBOX).

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It clearly indicates a read operation ('Liest') and lists the returned fields, but it does not address potential side effects such as marking the email as read, auth requirements, error behavior, or non-existent emails.

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?

The entire description is a single sentence that front-loads the primary action and follows it with a concrete list of returned fields. Every word contributes value, with no repetition 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?

Since there is no output schema, the description usefully enumerates the returned fields, which is important for an agent to understand what it will receive. It does not cover edge cases or error handling, but for a straightforward single-email fetch with two parameters, the provided information is largely sufficient.

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 both parameters. The description adds useful context for the uid parameter by pointing to its origin in list_emails/search_emails, but does not add meaningful detail about the folder parameter beyond what the schema provides.

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 uses a specific verb ('Liest') and resource ('E-Mail anhand ihrer UID'), and clearly distinguishes this tool from siblings by emphasizing it returns the full content including subject, sender, recipient, date, text/HTML bodies, and attachments. This makes its purpose unambiguous and differentiated from list/search tools.

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

Usage Guidelines3/5

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

The description implies usage is appropriate when the full content of an email is needed and notes the UID comes from list_emails/search_emails. However, it does not explicitly state when to prefer this tool over alternatives or provide exclusion criteria.

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

get_inbox_configA

Zeigt die aktuelle Serverkonfiguration an (Host, User, INBOX-Ordner). Passwort wird nicht zurückgegeben.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It adds a valuable limitation by stating the password is not returned, which is a meaningful behavioral disclosure. The verb 'zeigt an' also implies a read-only operation, though it does not explicitly rule out side effects.

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?

The description is a single sentence, front-loads the primary action, and uses a parenthetical to list relevant details. Every word contributes meaning; there is no filler or repetition.

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 parameterless configuration getter, the description gives enough context about what the tool returns and even notes a security-relevant omission. With no output schema, it does not specify the exact response structure, but the listed fields are sufficient for an agent to understand the tool's purpose and expected output.

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 has zero parameters and schema coverage is 100%, so the schema fully documents everything there is to know about inputs. With no parameters, the baseline is 4; the description correctly avoids inventing parameter details.

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 uses a specific verb ('zeigt an') and a clear resource ('aktuelle Serverkonfiguration'), then enumerates the key contents (Host, User, INBOX-Ordner). This clearly differentiates it from sibling tools that operate on emails rather than configuration.

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

Usage Guidelines3/5

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

The config-focused purpose implies when to use the tool, and the sibling names make it clear this is not for email operations. However, the description does not explicitly state when to use it versus alternatives or mention any exclusions, so guidance remains implicit rather than explicit.

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

list_emailsA

Listet E-Mails in einem Ordner auf (neuste zuerst). Gibt UID, Betreff, Absender, Datum, Lesestatus und Anhänge zurück. Standardmäßig wird der konfigurierte INBOX-Ordner verwendet.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximale Anzahl zurückgegebener E-Mails (Standard: 50, Max: 200)
folderNoOrdnername (optional, Standard: konfiguriertes INBOX)
only_unreadNoNur ungelesene E-Mails zurückgeben (Standard: false)

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. It discloses meaningful behavior: chronological ordering, the exact fields returned, and the default folder behavior. It does not mention errors, auth, or read-safety, but for a listing operation this is reasonably transparent.

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 compact sentences with no filler. The first sentence leads with the action and ordering, the second covers return fields and default behavior. Every sentence contributes useful 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?

The description covers the essential return values and default folder behavior, which is sufficient for a simple list operation with no output schema. It lacks explicit guidance on alternatives and edge cases like invalid folders or pagination, but the core invocation context is present.

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 all three parameters. The description adds the default-folder context and output fields but does not add significant meaning beyond the schema for limit or only_unread.

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 verb and resource: 'Listet E-Mails in einem Ordner auf'. It also specifies ordering ('neueste zuerst') and the returned fields (UID, Betreff, Absender, Datum, Lesestatus, Anhänge), which distinguishes this from siblings like get_email and search_emails.

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

Usage Guidelines3/5

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

The description implies usage context by explaining the default INBOX folder and optional folder override, but it does not explicitly state when to choose this over alternatives like search_emails or get_email. No exclusions or branch conditions are provided.

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

list_foldersA

Listet alle verfügbaren E-Mail-Ordner auf dem IMAP-Server auf.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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 burden of behavioral disclosure. The verb 'Listet' implies a read-only operation and the scope ('all available email folders on the IMAP server') is stated, but there is no mention of return format, pagination, hierarchy, or potential side effects. For a simple list operation this is minimally adequate.

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?

A single, clear sentence with no wasted words. The action and object are front-loaded, making it easy for an agent to parse quickly.

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, read-only listing tool, the description is largely complete: it states what is returned (all email folders on the IMAP server). It does not specify the output structure, but given the simplicity and absence of an output schema, the description is sufficient for an agent to know the tool's purpose and call it successfully.

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 has zero parameters, so the input schema is trivially complete. The description correctly adds no parameter-specific detail because none is needed; the baseline of 4 for a no-parameter tool 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?

The description uses a specific verb ('Listet') and a precise resource ('alle verfügbaren E-Mail-Ordner auf dem IMAP-Server'), clearly conveying that this tool enumerates email folders. It is immediately distinguishable from siblings like list_emails because the resource is different.

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?

No guidance is provided about when to use this tool versus alternatives such as list_emails or get_inbox_config. There is no mention of typical use cases, prerequisites, or exclusions, leaving the agent to infer usage from the tool name.

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

move_emailB

Verschiebt eine E-Mail anhand ihrer UID in einen anderen Ordner.

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYesDie UID der zu verschiebenden E-Mail.
source_folderNoQuellordner (optional, Standard: konfiguriertes INBOX).
target_folderYesZielordner, z.B. "INBOX.Archiv" oder "INBOX.Spam".

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Verschiebt' does imply a mutating relocation, but the description does not disclose side effects (e.g., whether the source copy is removed), permissions needed, or error behavior.

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?

A single front-loaded sentence with no filler; every word contributes to stating the action and its key input (UID).

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

Completeness3/5

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

For this low-complexity tool the schema covers all parameters, but the lack of annotations and output schema leaves gaps about behavioral side effects and success/failure reporting. The description is minimally adequate but not rich.

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 clear descriptions for uid, source_folder, and target_folder. The description adds no parameter detail beyond what the schema already provides, 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?

The German description states a specific operation ('Verschiebt... in einen anderen Ordner') on a specific resource (email by UID), which clearly differentiates it from sibling tools like list_emails, get_email, and send_email.

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?

No guidance is given about when to use move_email instead of alternatives, nor any prerequisites (e.g., target folder must exist) or exclusions. The only usage signal is the implied action from the tool name and description.

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

search_emailsC

Durchsucht einen Ordner nach E-Mails anhand eines Suchbegriffs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximale Anzahl zurückgegebener Ergebnisse (Standard: 20)
queryYesSuchbegriff
folderNoOrdner, in dem gesucht werden soll (optional, Standard: INBOX).
search_inNoSuchfeld: subject, from, body oder all (Standard: all).

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states that the tool searches, but it does not disclose matching behavior, ordering, default scope, read-only guarantees, or any limitations beyond what the schema already shows.

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 a single concise sentence with no filler. It is front-loaded with the primary action and resource, though additional behavioral details could make it more informative without harming conciseness.

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?

There is no output schema, no annotations, and only a minimal one-sentence description. An agent gets enough to start calling the tool but lacks information about return format, default search behavior, or when this tool is preferable to list_emails.

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 parameters (query, limit, folder, search_in) are already documented. The description adds no meaning beyond the schema in this area.

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?

The description uses a specific verb ('Durchsucht'), names the resource (emails in a folder), and introduces the search-term aspect. It conveys the core purpose clearly, though it does not explicitly name or contrast sibling tools like list_emails.

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?

The description gives no explicit guidance on when to prefer this tool over list_emails or other siblings. Usage context is only implied by the tool name and the notion of searching, not stated.

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

send_emailC

Sendet eine E-Mail via SMTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC-Empfänger (optional, kommagetrennt).
toYesEmpfänger-Adresse(n), kommagetrennt bei mehreren.
bccNoBCC-Empfänger (optional, kommagetrennt).
htmlNoHTML-Inhalt der E-Mail (optional, ergänzt text).
textYesReiner Text-Inhalt der E-Mail.
subjectYesBetreff der E-Mail.
reply_toNoReply-To Adresse (optional).
attachmentsNoDateianhänge (optional).

TDQS

C2.9/5.0
Behavior2/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 only mentions the mechanism (SMTP) but does not describe side effects, irreversibility, authentication requirements, rate limits, or delivery semantics. This is a minimal statement rather than a behavioral explanation.

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?

The description is a single short sentence with no filler or redundancy. It is front-loaded and every word contributes to the core message.

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?

Although the input schema is fully documented, this is a side-effectful send action with no annotations and no output schema. The description does not explain expected outcomes, failure modes, or when to prefer it over send_local_file, leaving meaningful context 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 every parameter, including optional cc, bcc, html, reply_to, and attachments, has a description. The tool description adds no parameter-level detail, so the baseline of 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?

The description states a clear action and resource: 'Sendet eine E-Mail via SMTP' (sends an email via SMTP). It is specific enough to identify the tool's core purpose, but it does not explicitly differentiate it from the sibling send_local_file.

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 send_email versus alternatives, no mention of prerequisites such as SMTP configuration or permissions, and no exclusions. The only usage signal is the tool name and the one-line action.

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

send_local_fileA

Liest eine lokale Datei vom Server-Dateisystem und verschickt sie als E-Mail-Anhang via SMTP. Betreff und Text-Body sind optional und werden aus dem Dateinamen abgeleitet, wenn nicht angegeben.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC-Empfänger (optional, kommagetrennt).
toYesEmpfänger-Adresse(n), kommagetrennt bei mehreren.
bccNoBCC-Empfänger (optional, kommagetrennt).
fromNoAbsender-Adresse (optional, Standard: konfigurierter SMTP-Absender).
textNoText-Body der E-Mail (optional).
subjectNoBetreff (optional, Standard: Dateiname).
file_pathYesAbsoluter oder relativer Pfad zur Datei auf dem Server-Dateisystem.

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 transparency burden. It discloses the key behavior: reading a local file and sending it via SMTP, and it adds valuable detail that subject and text-body are optional and default to the filename. It does not cover edge cases like file-not-found, permissions, or whether the send is irreversible, but the core side effect is clearly stated.

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?

The description is two compact clauses with no filler: purpose first, then default behavior. Every sentence provides useful 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?

The tool has 7 parameters and no output schema or annotations, so the description must supply operational context. It explains the overall workflow and the default derivations for optional fields, which is sufficient for an agent to invoke it correctly. It could mention response/error behavior, but that's not common for a send operation and the schema already covers parameter meaning.

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 coverage is 100%, so the baseline is 3. The description adds extra semantics by explaining that subject and text are optional and derived from the filename when not provided, which is not in the schema. It thus enhances understanding of these two parameters beyond their field descriptions.

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 states a specific action: reads a local file from the server filesystem and sends it as an email attachment via SMTP. This clearly distinguishes it from siblings like send_email, since it explicitly targets local file attachments. The verb 'liest' (reads) and 'verschickt' (sends) 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 Guidelines3/5

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

The description implies the tool is for sending an existing server-side file as an attachment, with subject/body derived from the filename if omitted. It does not explicitly say when to prefer this over send_email or any other sibling, nor does it mention conditions where it should not be used. The usage context must be inferred from the tool name and purpose.

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. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • First observedget_email
    • First observedget_inbox_config
    • First observedlist_emails
    • First observedlist_folders
    • First observedmove_email
    • First observedsearch_emails
    • First observedsend_email
    • First observedsend_local_file

TDQS

A3.7/5.0
Disambiguation5/5

Each tool addresses a distinct email operation: listing folders, listing messages, reading a single message, searching, sending, moving, sending a local file, and viewing config. The only mild overlap is send_email and send_local_file, but they are clearly differentiated by attachment source and defaults.

Naming Consistency5/5

All tools follow a consistent lowercase verb_noun pattern: list_folders, list_emails, get_email, search_emails, send_email, move_email, send_local_file, and get_inbox_config. The naming style is uniform and predictable.

Tool Count5/5

Eight tools is well-scoped for an email MCP server. The set covers core email operations without unnecessary redundancy or bloat.

Completeness4/5

The core email workflow is covered: listing folders and emails, reading, searching, sending, moving, and handling local file attachments. Obvious gaps like deleting emails, marking read/unread, or creating folders are missing, but agents can still accomplish most common tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to read, search, compose, and send emails by connecting to any IMAP/SMTP provider. It supports comprehensive mailbox management, including draft handling and message deletion, directly through natural language.
    10
    407
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with email accounts via IMAP and SMTP, supporting mailbox listing, email search, retrieval, sending, and management.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to send, read, and manage emails via SMTP and IMAP, with support for attachments, threads, and mailbox organization.
    16
    42
    1
    MIT

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/moellerm1968/localEmailMCPServer'

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