MCP server for outreach email campaign management, validation, and analysis
Six tools with inconsistent quality. Tool names lack action verbs (audit-emails, check-copy, check-repetition, find-emails, preflight-campaign, check-update). Descriptions vary from adequate (find-emails: 180 chars) to minimal (check-update: 120 chars). Input schemas present for all tools but lack type definitions for some parameters (e.g., 'files' in check-repetition has no type). No output schemas documented. Error handling absent, no guidance on retryability, user-fixable errors, or recovery paths. No tool annotations (readOnlyHint/destructiveHint). Parameters lack constraints (enums, ranges, patterns). Composition is reasonable (each tool has one responsibility), but naming and schema completeness are weak.
Content audit of an outreach sequence, answers one question per email: what in this text costs you replies. Does not look at open rates, click rates or any campaign statistic.
Mechanical checks on outreach/sequence.md, run by the outreach-write skill. Exits 1 when a FAIL is found, so it works as a gate before a launch.
Find the sentences your per contact copy repeats across contacts. When a hundred sequences are written by ten agents in parallel, no agent can see what the others wrote, so the same closing question comes back twenty times.
Says whether this checkout is behind the published repository, in one line. Cheap: one network call to the remote, nothing is fetched or written.
Emelia email finder with the fallback cascade. One row can be looked up three different ways: companyName + companyWebsite, companyName only, or the trade name. Queries sources in order and stops at the first hit.
Read a campaign back from Emelia and check it can actually send. Validates step bodies, variables, opt-out links, and contact field resolution.
Tool names lack action verbs. 'audit-emails', 'check-copy', 'check-repetition', 'preflight-campaign', 'check-update' do not start with clear verbs (get_, create_, update_, search_, list_). LLMs cannot infer intent from these names alone.
No output schemas documented. LLMs cannot plan downstream calls or extract results. Baseline: 100% of A+ tools have documented return types.
No error handling guidance. Tools do not indicate retryability, user-fixable errors, or recovery paths. Baseline: error responses must tell LLM what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools marked READ_ONLY or WRITE in metadata but not in schema. Current spec (2026-07-28) expects tool annotations.