MCP Server for Lead Nurturing System - Provides remote control and monitoring of 24/7 lead nurturing automation with Gmail integration
The Gmail Lead Nurturing MCP server has explicit tool definitions with schemas and descriptions visible in the source code. However, the overall quality is significantly hampered by: (1) vague and incomplete parameter descriptions, most parameters lack guidance on expected formats, ranges, or valid values; (2) parameter descriptions under 20 characters for several tools, triggering hard score caps; (3) no documented output schemas, tool responses are not formally specified, forcing LLMs to infer structure; (4) missing error handling guidance, no indication of what errors can occur or what the LLM should do in recovery scenarios; (5) weak parameter constraints, no enums where expected, no ranges on numeric parameters, no validation hints. The tools are logically partitioned (naming is verb-first: start_, stop_, run_, get_, update_, send_), but the definitions lack the rigor required for confident agent use. Baseline comparison: production tools average 194 chars for tool descriptions and 72 chars for parameter annotations; this server's parameters are notably shorter and less informative.
Get detailed lead nurturing report
Get recent system logs
Get current system status and statistics
Run a single nurturing cycle immediately
Send a test email to verify system
Start the lead nurturing automation system
Stop the lead nurturing automation system
No documented output schemas for any tool. LLMs cannot determine what fields to expect in responses, forcing them to guess or hallucinate downstream parameter values.
Parameter descriptions are too brief (many under 30 chars) and lack actionable constraints. 'interval_hours' says 'Hours between nurturing cycles (default: 4)' but does not specify valid range (e.g. 1-24 hours) or consequences of values outside expected bounds.
Tool descriptions are generic and do not explain WHEN to use them instead of similar tools, or what dependencies exist. E.g., 'Get current system status and statistics' does not explain whether you must call start_nurturing first, or what happens if the system is stopped.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Update nurturing configuration
No error handling guidance. Tool implementations catch exceptions and return raw error text ('Error: {str(e)}'), but the schema does not document what errors are possible, whether they are retryable, or what the LLM should do next.
'update_config' accepts a bare object parameter 'config' with no schema. The description says 'Configuration updates' but provides no specification of allowed keys, value types, or validation rules. LLMs cannot determine what to pass.
Destructive operations (send_test_email, update_config, start_nurturing) lack confirmation or dry-run support. If an agent misinterprets context, it could send emails or modify config without warning.
'send_test_email' requires an email parameter with no format validation hint. Description should state the expected format (RFC 5322 email address format) and what happens if the address is invalid.