Cold outreach MCP — write personalized cold emails, LinkedIn DMs, prospect research briefs, and outreach scoring
Four tools with complete Zod schemas and descriptions. Naming is action-verb based (research_, write_, score_) and clear. Descriptions are adequate (100-200 chars) but lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameters are well-typed with enums for constrained inputs (goal, tone, sequence_position, type, channel). However, output schemas are undocumented, responses are free-text LLM generations with no structured field definitions, forcing agents to parse unstructured text. Error handling is absent; no guidance on retryability or failure modes. No tool annotations (readOnlyHint, destructiveHint). Missing dependency hints (e.g., 'call research_prospect first to gather context for write_cold_email').
Analyze a prospect (company or individual) and generate a concise research brief with key talking points, pain points, and personalization hooks for outreach.
Score and critique a cold email or LinkedIn message. Identifies what will hurt reply rates and gives specific rewrites for weak sections.
Write a personalized cold email with high reply potential. Uses proven frameworks (PAS, AIDA, pattern interrupt) tailored to the prospect and offer.
Write a short, natural LinkedIn direct message for cold outreach, connection requests, or follow-ups. Optimized for LinkedIn's casual tone and short attention spans.
Output schemas undocumented. All four tools return free-text LLM responses with no structured field definitions. Agents cannot extract specific data (scores, recommendations, email subject lines) without parsing unstructured text, increasing hallucination risk and token waste.
No error handling or recovery guidance. Tools call external LLM API (Groq) with no timeout, rate-limit, or failure handling. If API fails, agent receives raw error with no actionable next step.
Missing tool composition hints. No description guidance on tool sequencing (e.g., 'Call research_prospect first to gather context, then write_cold_email'). Agents must infer the workflow.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No tool annotations. Tools lack readOnlyHint (all are read-only, no side effects), idempotentHint (all are idempotent), or destructiveHint. Agents cannot infer safety properties.
Descriptions lack WHEN-to-use guidance. E.g., write_cold_email and write_linkedin_dm both generate outreach copy but serve different channels. Descriptions do not explain when to choose one vs. the other.