A personal assistant agent built with Mastra that integrates with multiple MCP servers (Zapier) to manage Gmail, Google Calendar, Linear, Buffer, and GitHub. Provides memory-enhanced assistance with email management, task tracking, social media drafting, and calendar coordination.
This is a Mastra-based workflow server with 2 tools. Both tools have descriptions and input schemas present in the source code (src/mastra/workflows/create-buffer-draft.ts), but quality is uneven. The naming is descriptive but not consistently verb-led. Schemas use Zod with type declarations and descriptions, which is good. However, output schema documentation is minimal, error handling guidance is absent, and parameter descriptions lack actionable constraints. The server appears to be in an experimental/prototype stage rather than production-ready. Average tool quality is 48/100.
Add the generated post to the Buffer drafts
Create a social media post draft in Buffer account
Generate a social media post
Output schemas not documented. Neither tool explicitly defines what it returns to the agent. The code references outputSchema in generateSocialMediaPost (z.object({ post: z.string() })), but add-to-buffer-drafts has no return type visible.
Tool descriptions are too short (34 and 39 chars respectively). Baseline for A+ tools is 50-200 chars. Current descriptions lack WHEN to use the tool, WHY it exists, and WHAT the downstream impact is (both are write operations, this should be flagged in description).
Parameter descriptions lack actionable constraints. 'The topic of the post' does not specify length limits, content guidelines, or what topics are appropriate. 'The generated post' (in add-to-buffer-drafts) does not mention character limits (LinkedIn is 3000 chars per code, but this is not documented in the tool parameter).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No error handling or recovery guidance. Both tools lack description of what errors are possible, whether they are retryable, and how to recover. E.g., 'If Buffer API times out, retry with exponential backoff' or 'If post exceeds length limit, call generate_social_media_post again with stricter constraints.'
No explicit idempotency or mutation semantics. Both tools are write operations (generate and add to drafts), but descriptions do not state whether they are idempotent, have side effects, or can be safely retried. The agent cannot reason about failure handling.
Tool composition is unclear. The workflow chains generate-social-media-post → add-to-buffer-drafts, but the output of the first tool is not documented as compatible with the input of the second. The agent must infer that the 'post' field from generate-social-media-post maps to the 'post' parameter of add-to-buffer-drafts.