MCP server for personal knowledge and communication management. Provides comprehensive tools for managing emails, social media, projects, and personal data insights with communication pattern analysis, network analysis, content analysis, and productivity tracking.
This server has significant definition quality issues. While tool names follow a reasonable verb_noun pattern (send_email, analyze_email_patterns, post_social_media), the descriptions lack specificity and depth. Most descriptions are under 150 characters and fail to clearly distinguish when to use one tool vs another (e.g., analyze_email_patterns vs analyze_social_engagement both have generic 'analyze' descriptions). Input schemas are present and generally well-formed with proper types, but lack critical validation details, many numeric/string parameters have no constraints (e.g., no bounds on timeframe interpretation, no description of what 'custom' report_type requires). Most critically, parameter descriptions are superficial and lack dependency hints or recovery guidance. Output schemas are completely undocumented, there is no specification of what these tools actually return, forcing LLMs to guess at field names. Error handling is completely absent from the tool definitions, no guidance on what happens when an email send fails, when contacts are not found, or when analysis data is unavailable.
Analyze email communication patterns, response times, and relationship insights
Analyze social media engagement metrics, trends, and audience insights
Generate comprehensive insights reports combining data from all sources
Manage project contexts, tasks, and deadlines with intelligent prioritization
Create and post content to various social media platforms with optimal timing
Send emails through configured email provider with smart composition assistance
No output schemas documented. All tools lack specification of what they return (field names, types, structure). Forces LLMs to hallucinate return values and breaks tool chaining. Critical for production use.
Parameter descriptions lack constraint specifications. Numeric fields (timeframe durations, limits, page numbers) have no bounds. String enums lack explanation of what each value means. Allows LLMs to pass invalid values.
Generic, undifferentiated descriptions. 'Analyze email communication patterns, response times, and relationship insights' (analyze_email_patterns) vs 'Analyze social media engagement metrics, trends, and audience insights' (analyze_social_engagement) are nearly identical in structure. LLMs cannot clearly distinguish when to use which tool.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Track and analyze personal productivity metrics, habits, and goals
No error guidance. No indication of what happens if send_email fails (network error? authentication failure?), what recovery actions exist, or how to retry. Error handling is completely absent from tool definitions.
Undocumented parameter dependencies. manage_project_context has an 'action' enum (create, update, delete, list, prioritize) but no explanation of which other parameters are required or optional for each action. 'project_id' is 'required for update/delete' but not clearly marked as optional for create/list.
No pagination or result limit guidance. Tools like analyze_email_patterns and analyze_social_engagement could return hundreds of items. No specification of max result count, pagination strategy (page/offset/cursor), or what happens when results exceed a limit.
Destructive operations (send_email, delete via manage_project_context, post_social_media) lack confirmation or dry-run mechanisms. Agents can irreversibly send emails or delete projects without confirmation.
Unclear identifier handling. Tools accept 'contacts' (as email strings) and 'platforms' (as string enum), but no guidance on whether display names, usernames, or IDs are accepted. For manage_project_context, 'project_id' type is unclear, is it a UUID, string key, or integer?