MCP server supporting MailPace Send API for transactional emails
Single tool 'send-email' has a well-structured Zod schema with comprehensive parameters and proper type definitions. Description is adequate (56 chars) but minimal. Parameter descriptions are present and mostly clear, though some lack actionable constraints (e.g., 'to' field has no format validation hint). Error handling returns structured JSON with success/failure flags and messages, which is good. However, output schema is not formally documented, the tool returns a text JSON string rather than structured content. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite this being a destructive write operation. Missing guidance on retry behavior and idempotency for a transactional email tool.
Send a transactional email via MailPace
Tool description is minimal (56 chars). Should explain WHEN to use this tool, what happens on success/failure, and any prerequisites (e.g., 'from' must be a verified sender domain). Current description 'Send a transactional email via MailPace' lacks context for LLM selection.
Output schema not formally documented. Tool returns JSON-stringified text content rather than structured response object. LLMs cannot parse the messageId and status fields reliably without explicit schema documentation.
Missing tool annotations. 'send-email' is a destructive write operation (sends irreversible emails) but lacks destructiveHint annotation. LLMs cannot determine if this tool is safe to retry or requires confirmation.
'to' parameter lacks format validation hint. Description says 'Recipient email address' but does not specify email format requirement. Zod schema enforces it, but LLMs cannot read JSON Schema, they rely on description text.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No idempotency guidance. Transactional email tools should document whether repeated calls with identical parameters produce duplicate sends or are idempotent. Agents retry on ambiguous failures, this is critical for email.