Standalone Model Context Protocol Service providing integration with Google Calendar, Gmail, Salesforce, and meeting preparation tools
This MCP server exposes 10 tools for sales/meeting preparation across Google Calendar, Gmail, Salesforce, and internal databases. Quality is mixed: tool naming follows verb_noun conventions (search_threads, lookup_account), but description quality is inconsistent, parameter descriptions are sparse, and output schemas are not documented. No tool implements error recovery guidance, and sensitive operations (prep.save.v1) lack confirmation patterns. The server has basic auth but no per-tool permission declarations or audit trail patterns.
Retrieve upcoming calendar events for a user
Research company information by name or domain
Look up call history by contact email or company name
Search prep notes in the database
Read a specific Gmail thread by ID
Search Gmail threads for a user
Generate a comprehensive meeting preparation document by orchestrating multiple data sources
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract the right data from responses.
prep.save.v1 is a destructive WRITE operation but lacks confirmation/dry-run pattern and does not declare side effects in description.
Multiple tools (lookup_account, lookup_opportunity, search_prep_notes, call_history) accept mutually exclusive parameters (e.g., accountId OR name OR domain) but do not document precedence or what happens if multiple are supplied.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Save meeting preparation document with sections
Look up Salesforce account information by ID, name, or domain
Look up Salesforce opportunity information by ID, contact ID, or account ID
No error recovery guidance in any tool description. When a lookup fails (user not found, event not found), LMMs are given no direction on what to do next.
Parameter descriptions lack format/constraint details. Ranges (daysAhead 1-365, limit 1-50) mentioned in text but not enforced in schema. LLMs cannot parse untyped constraint descriptions reliably.
prep.save.v1 input parameter 'sections' is documented as an object containing 'snapshot, lastContact, priorities, risks, questions, agenda' but has no formal nested schema definition. LLM cannot validate structure.
No per-tool permission declarations or scope requirements (e.g., 'read:gmail', 'write:database'). Agents cannot be configured with least-privilege access.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. prep.save.v1 should be marked destructive; read tools should be marked readOnly.
Pagination not explicitly supported in search/list tools. db.search_prep_notes and db.call_history mention default limit but no offset/cursor mechanism documented. LLMs cannot retrieve results beyond the default limit.