MCP server for sending emails via Gmail
Single tool 'send_email' has a properly structured JSON Schema with all required parameters typed and described. However, the tool description is minimal (24 chars: 'Send an email via Gmail'), falling below the 50-200 char LLM-optimized baseline. Parameter descriptions are present but generic ('Email address to send to', 'Subject of the email', 'Body content of the email'). No output schema is documented, callers cannot predict the response structure. Error handling returns unstructured text ('success' boolean + 'messageId' or 'error' field) without recovery guidance. No mention of prerequisites (credentials, OAuth token), rate limits, or idempotency. The tool modifies state (sends email) but the description does not explicitly warn of irreversibility.
Send an email via Gmail
Tool description is too short (24 chars). LLM cannot determine when to select this tool vs alternatives or understand prerequisites. Baseline: 50 - 200 chars.
Output schema is not documented. Callers cannot predict response structure (success/messageId/error fields). LLMs must infer from code, risking misuse.
No error recovery guidance. Errors return raw messages ('Credentials file not found', 'Token file not found') without actionable next steps for the LLM.
Tool description does not state that this operation is irreversible (sends email). Agents need to know which calls have side effects and cannot be safely retried.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
No idempotency guarantee documented. If the agent retries after a network timeout, will the email be sent twice? Agents need explicit idempotency semantics.