Official MCP Server for Mailtrap email testing and sending service
Scoring was not performed
Output schemas are not documented. No tool response structure is defined, forcing LLMs to infer what fields to expect from send-email, create-template, update-template, or any other tool. This breaks tool chaining and increases hallucination.
Brief descriptions (10-100 chars) lack context. 'Create a new email template' doesn't explain when to use it vs send-email, what fields are required, or what the response contains. Descriptions fall below the 194-char baseline.
No error handling guidance. If send-email fails (invalid recipient, API auth issue, rate limit), the tool throws an error but provides no recovery path. LLM receives raw error with no context on what to try next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Parameter descriptions are sparse or context-free. For example, 'category' in send-email is described as 'Email category for tracking' but does not explain valid values, constraints, or whether it's a free-form string or enum.
Destructive operations (delete-template, update-template, send-email) lack confirmation or dry-run patterns. An LLM can irreversibly delete a template with one call. No safeguard against accidental execution.
send-email lists 'from' in schema but does not mark it required. LLMs may omit it, causing API failures. Schema shows from is not in required array but appears optional.
No pagination limits documented. get-sandbox-messages accepts page and last_id but does not state max results per page, whether results are capped, or the default limit. Undocumented pagination invites context window blowout.
to parameter in send-sandbox-email accepts 'comma-separated or single' but schema defines type as string with minLength=1, not an array. Mismatch between description and schema type. LLMs may pass 'user1@test.com, user2@test.com' as a single string, causing API misinterpretation.