An MCP server for reading, listing, and managing emails via IMAP protocol. Supports listing unread/read emails, retrieving email content, moving emails between folders, deleting emails, and marking emails as spam.
Server has 6 tools with clear verb-noun naming (list_*, get_*, move_*, delete_*) and German descriptions. All tools have descriptions (10-200 chars, within baseline). However, input schemas are incomplete: list_unread_emails and list_folders have empty input objects ({}), missing maxCount/limit parameters that would enable pagination. get_email, move_email, delete_email have basic schemas but lack output schema documentation. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Error handling returns plain strings rather than structured error objects with recovery guidance. Parameter descriptions exist but lack format constraints (e.g., uid type is uint but described as integer). Overall: functional but below production baseline for agent composition.
Verschiebt eine E-Mail anhand ihrer UID aus dem Posteingang in den Papierkorb. Es wird nichts endgültig gelöscht.
Liest eine E-Mail anhand ihrer UID aus dem Posteingang: Header, Text-Inhalt und Anhang-Namen. Verändert die Mail nicht (auch das Gelesen-Flag bleibt unberührt).
Listet alle Ordner des Postfachs auf (z.B. als Ziel für move_email).
Listet bereits gelesene E-Mails im Posteingang auf (UID, Betreff, Absender, Datum), neueste zuerst. Die UID wird für get_email, move_email, delete_email usw. benötigt.
Listet ungelesene E-Mails im Posteingang auf (UID, Betreff, Absender, Datum). Die UID wird für move_email, delete_email, mark_as_spam usw. benötigt.
Verschiebt eine E-Mail anhand ihrer UID aus dem Posteingang in einen anderen Ordner. Ordnernamen liefert list_folders.
list_unread_emails and list_folders have empty input schemas ({}), preventing pagination and limiting scalability. Large mailboxes will return all results, exhausting context.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. Responses are plain text strings, not typed objects.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, REVERSIBLE). Agents cannot distinguish safe from destructive operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Error responses are unstructured plain text (e.g., 'Keine Mail mit UID {uid} im Posteingang gefunden.'). No recovery guidance or error classification. LLMs cannot determine if errors are retryable or user-fixable.
Parameter descriptions lack format constraints. uid is uint but described as 'integer'; targetFolder is string with no validation hints. LLMs cannot self-correct invalid inputs.