Model Context Protocol server that exposes Monica CRM data and actions to assistants like Claude Desktop.
Monica MCP has well-structured schemas with proper type definitions and enums, but descriptions lack depth and guidance. Tool names follow verb_noun convention (monica_manage_*), but descriptions are often generic and fail to explain WHEN to use each tool vs. alternatives. Parameter descriptions exist but are minimal (avg ~40 chars vs. baseline 72). No output schemas documented. Error handling is absent from visible code. Security: credentials injected via env vars (good), but no audit logging visible. Composition is reasonable, tools are single-purpose, but descriptions don't guide multi-step workflows.
Verify that the configured Monica credentials work.
List, inspect, create, update, or delete activities (meetings, events, shared interactions). Provide either activityTypeId or activityTypeName.
List, inspect, create, update, or delete Monica activity types (e.g., Meeting, Coffee, Meal). Use this to expand the catalog with custom activity names before logging activities.
List, get, create, update, or delete contact addresses. Use this simplified tool instead of monica_manage_contact when managing addresses. Provide contactId and addressPayload with name, street, city, province, postalCode, and countryName (country lookup is automatic).
List, get, create, update, or delete contact fields like email addresses, phone numbers, social media handles, etc. Use this simplified tool instead of monica_manage_contact when managing contact fields. Provide contactId and fieldPayload with data and contactFieldTypeName (e.g., "Email", "Phone").
Descriptions lack actionable guidance. 'List, get, create, update, or delete...' is mechanical and doesn't explain WHEN to use this tool vs. alternatives or what the LLM should expect. Baseline: 194 chars avg; these average ~120 chars and lack context.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does create_contact return contact_id?). Baseline: 100% of A+ tools document return types.
Parameter descriptions are minimal (avg ~40 chars vs. baseline 72). E.g., 'The contact ID' lacks context on format, range, or how to obtain it. Should explain: 'The numeric contact ID (integer > 0). Obtain via monica_search_contacts or from a previous response.'
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2025-06-18+ | v2 |
Create, update, or delete a contact profile. Use this simplified tool instead of monica_manage_contact when working with contact profiles. Provide firstName, lastName, and optional fields like nickname, description, genderName, birthdate, etc. Gender is optional - omit if unknown.
List, inspect, create, update, or delete Monica tasks and reminders. Choose itemType="task" for to-dos or itemType="reminder" for stay-in-touch nudges.
No error handling guidance visible. If a contact_id is invalid or a required field is missing, what does the tool return? How should the LLM recover? Baseline: errors must guide recovery.
Tool names use 'manage' (generic verb) instead of specific actions. 'monica_manage_contact_profile' could be split into 'monica_create_contact_profile', 'monica_update_contact_profile', 'monica_delete_contact_profile' for clarity. Baseline: 90% of A+ tools start with specific action verbs (get, create, update, delete, search).