Monica CRM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Optional pino log level (fatal|error|warn|info|debug|trace|silent) | info |
| MONICA_BASE_URL | No | The base URL of your Monica CRM instance (defaults to https://app.monicahq.com; change for self-hosted instances) | https://app.monicahq.com |
| MONICA_API_TOKEN | Yes | Your Monica CRM API token | |
| MONICA_TOKEN_TYPE | No | The type of token authentication to use (one of: bearer (default), apiKey, legacy) | bearer |
| MONICA_USER_TOKEN | No | Required only when MONICA_TOKEN_TYPE=legacy |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| monica_contactsA | People in Monica, the personal CRM. Actions: • search — find contacts by name, nickname, email or other text. Start here when a person is mentioned. • list — browse all contacts, a page at a time. • get — one contact's profile (birthdate, job, how you met, addresses, relationships, tags) plus their contact details, recent notes, activities and reminders; choose more with include. • create — add a contact. Only first_name is required. • update — change any profile field; fields left out are kept, null clears one. • delete — remove a contact and everything attached to it (confirm: true). Everywhere a contact is needed, a name works as well as an id; if a name matches several people, the error lists them with ids. |
| monica_contact_infoA | A contact's details: contact fields (email, phone, social profiles…), postal addresses, and tags. Choose kind, then: • list — the contact's fields, addresses or tags. • add — a field (type by name, e.g. Email, Phone, Instagram, plus value), an address, or tags (by name; new tags are created). • update — a field or address by its id. • remove — a field or address by id, or tags from the contact by name (confirm: true for fields and addresses). Field types: monica_reference kind=contact_field_types; new types can be added there. |
| monica_relationshipsA | How contacts are related. A relationship reads 'contact is of other', e.g. contact=Alice, type=parent, other=Bob means Alice is Bob's parent; Monica records the reverse (Bob is Alice's child) itself. • list — a contact's relationships. • add — relate two contacts. • update — change a relationship's type. • remove — delete a relationship (confirm: true). Types include partner, spouse, date, ex, parent, child, sibling, grandparent, uncle, cousin, friend, bestfriend, colleague, boss, mentor (monica_reference kind=relationship_types). |
| monica_notesA | Notes about contacts: things to remember about someone. • list — a contact's notes, or the most recent notes across everyone. • get — one note in full. • create / update — write a note about a contact; favorite pins it. • delete — remove a note (confirm: true). |
| monica_activitiesA | Things done together with contacts (a coffee, a trip, a dinner). • list — a contact's activities, or the most recent across everyone. • get — one activity. • create — log an activity with one or more contacts, a summary and a date (today by default), optionally typed (e.g. 'ate at a restaurant', 'went to a bar'; monica_reference kind=activity_types). • update — change any of it; contacts, if given, replace the list. • delete — remove an activity (confirm: true). |
| monica_callsA | Phone calls with contacts. • list — a contact's calls, or the most recent across everyone. • create — log a call (date: today by default) with what was said. • update / delete — by id (delete needs confirm: true). |
| monica_conversationsA | Message threads with contacts (texts, emails, chats), kept as conversations of messages. • list — a contact's conversations, or the most recent across everyone. • get — one conversation with its messages. • create — record a conversation on a channel (a contact field type such as Email, Phone, Whatsapp, Telegram) with its messages. • add_message — append a message to a conversation. • delete — remove a conversation (confirm: true). |
| monica_remindersA | Reminders about contacts (call Mum on Sunday, a birthday card every year). Monica emails them when due. • list — upcoming reminders, soonest first: a contact's, or everyone's within the next |
| monica_tasksA | To-dos tied to a contact (return their book, send the photos). • list — open tasks (or done ones with done: true), a contact's or everyone's. • create — a task for a contact. • update — change it, or mark it done / not done. • delete — remove it (confirm: true). |
| monica_gifts_debtsA | Gifts (ideas, given, received) and money owed between you and contacts. Choose kind, then: • list — a contact's, or everyone's. • create — gift: name, status (idea, offered, received), optional value, url, comment, date. debt: amount, direction (i_owe or they_owe), reason. • update — by id; a debt can be marked settled. • delete — by id (confirm: true). |
| monica_journalA | The journal: dated entries about your own days, not tied to a contact. • list — recent entries. • get — one entry. • create — write an entry (date: today by default). • update — change it. • delete — remove it (confirm: true). |
| monica_referenceA | Monica's reference lists, which other tools match names against: genders, countries, currencies, activity_types, relationship_types, contact_field_types, tags. • list — a list, optionally filtered by text. • create / rename / delete — your own activity types (e.g. 'climbing'), contact field types (e.g. Instagram, with an optional protocol such as https://instagram.com/), and tags. Deleting needs confirm: true. |
| monica_mediaA | Documents and photos attached to contacts. Choose kind, then: • list — a contact's, or everyone's. • upload — a file for a contact, from base64 content plus a filename (or, when this server runs on the same machine over stdio, a local path). • delete — by id (confirm: true). |
| monica_statusA | Check the connection to Monica: the signed-in user, the instance and how many contacts it holds. Useful when other tools fail. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool maps to a distinct CRM resource (contacts, notes, activities, calls, conversations, reminders, tasks, gifts/debts, journal, media, reference, status). The only apparent overlap—tags/contact field types across monica_contact_info and monica_reference—is clearly bounded: one attaches to a contact, the other manages global reference lists. No two tools appear to do the same thing.
All tool names use snake_case with a consistent monica_ prefix. Although the pattern is resource-noun rather than verb_noun, the convention is uniform and predictable across the set; minor singular/plural variation is not confusing.
14 tools is well-scoped for a personal CRM; each resource area earns its own tool without obvious redundancy. It sits comfortably within the ideal 3–15 range.
Core CRM lifecycle is broadly covered: contacts, notes, activities, calls, conversations, reminders, tasks, gifts/debts, journal, relationships, and media all support list/get/create/update/delete where appropriate. Minor gaps exist (e.g., no get for calls/reminders/tasks, no update for conversations/media), but they are not dead ends for typical agent workflows.