MCP Server for Email Intelligence System. Exposes email search and retrieval tools via Model Context Protocol.
Server has 9 well-named, read-only tools with complete input schemas and descriptions. Naming follows verb_noun pattern (query_, get_, list_). All tools have 50-200 char descriptions and typed parameters with descriptions. However, output schemas are not documented in the source, LLMs cannot predict return structure. Error handling is minimal (basic try/except returning {"error": str(e)}). No enum constraints on string parameters like sort_by, sort_order, granularity, mode. Parameters lack range/format constraints (e.g., limit unbounded, date formats not validated). No pagination guidance in descriptions despite limit parameters. Missing idempotent/readOnly annotations. Composition is sound, tools are single-purpose and chainable via IDs.
Get profile information and email history for a contact by name or email address.
Retrieve a single email by its ID with full details.
Get a timeline of mentions of a keyword or semantic query across emails, grouped by time granularity.
Get context and recent emails for a specific project by name.
Get a structured arc/summary of a conversation thread showing message progression and key points.
Retrieve a complete conversation thread by thread ID.
List all projects in the project registry.
Output schemas not documented. LLMs cannot predict return structure (fields, types, nesting). Breaks downstream tool chaining and forces agents to guess field names.
String parameters lack enum constraints. sort_by, sort_order, granularity, mode accept free-form strings, LLMs will hallucinate invalid values. No validation in descriptions.
Numeric parameters unbounded. limit, snippet_length, max_messages lack min/max constraints. LLMs may pass absurd values (limit=999999) causing timeouts or memory exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
List conversation threads sorted by various criteria.
Query email database with semantic search, exact keywords, category/project filters, date range, sender/recipient filters, and attachment filters. Supports pagination, sorting, and field projection.
Error handling is generic. All errors return {"error": str(e)} with no recovery guidance. LLMs cannot distinguish retryable vs fatal errors or know what to do next.
No tool annotations. readOnlyHint missing despite all tools being read-only. Agents cannot infer safety/idempotency without explicit hints.