This MCP server lets your LLM use mailjs to create temporary email addresses and receive emails.
This server has 13 tools with explicit schemas and descriptions visible in source code. However, multiple critical issues significantly impact quality: (1) Tool naming is inconsistent, 'create_domain' should be 'get_domain' (file shows getDomain() implementation); (2) Several parameter descriptions are minimal or missing context; (3) No output schemas are documented, LLMs cannot predict what fields to expect from responses; (4) Error handling returns generic object literals without actionable recovery guidance; (5) Parameter interdependencies are undocumented (e.g., get_message requires a token that must be obtained via login, but this dependency is not surfaced); (6) No pagination support despite get_messages potentially returning large lists; (7) Security: login tools accept credentials as parameters, which violates secret-injection pattern. Average tool score across all 13 is 42, reflecting these systematic gaps.
get domain for temporary email accounts by id
Creates a new random temporary email account
Deletes a specific account given the Account ID
Deletes the account you are currently logged in with and then logs you out
Deletes a specific message given the Message ID
Fetches a specific message by its ID
Fetches all messages from the temporary email service
Tool naming mismatch: 'create_domain' (schema name) vs getDomain() (implementation), misleading LLMs about what the tool does. Schema says 'create' but function is a getter.
Credentials (email, password) exposed as tool parameters in register_account, login, and login_with_token. Violates secret-injection pattern, credentials appear in agent traces and logs.
No output schemas documented for any tool. LLMs cannot predict response structure, get_messages, getDomain, me, etc. return opaque data. This forces LLMs to guess field names for downstream tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 55 | - | v1 |
Lists all domains available for temporary email accounts
Logs in to the temporary email service with email and password, usually automatically called after account creation
Logs in to the temporary email service using a token
Marks a specific message as read or unread
Fetches the current user's information (the one who is logged in)
Tries to register a new account with the provided email and password
Error handling returns generic objects with 'error' + 'details' fields, with no actionable recovery guidance. E.g., 'Error creating account' tells LLM nothing about why it failed or what to try next.
Parameter 'token' in get_message is required but no guidance on how to obtain it. Dependency undocumented, LLM must infer it comes from login first. Should note: 'If you don't have a token, call login() first.'
get_messages has no pagination support. If API returns thousands of messages, response will blow context window. Should accept page/limit parameters and return total count.
Tool descriptions are minimal (55-65 chars avg) and lack actionable context. E.g., 'Fetches the current user's information' doesn't explain when to call it vs login() or what fields it returns.
No distinction between destructive and read-only operations in tool naming/descriptions. delete_me, delete_account, and delete_message lack confirmation or dry-run support, agents risk accidental deletion.