Cozi MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COZI_EMAIL | Yes | Your Cozi Family Organizer account email address | |
| COZI_PASSWORD | Yes | Your Cozi Family Organizer account password |
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 | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| family_membersA | List family members. Use the |
| get_listsA | Summarize all lists (no items). Optionally filter by 'shopping' or 'todo'. Returns: [{id, title, type, item_count, completed_count}]. |
| get_list_itemsA | Items in one list. Excludes completed items by default. Returns: [{id, text, status, position?}]. |
| create_listA | Create a list ('shopping' or 'todo'). Returns: {id, title, type}. |
| rename_listB | Rename a list; its items stay as they are. Returns: {id, title, type}. |
| delete_listC | Delete a list. Returns true on success. |
| add_itemC | Add an item to a list. Returns: {id, text}. |
| update_itemA | Update an item's text and/or completion status. Pass |
| remove_itemsC | Remove items from a list. Returns true on success. |
| get_calendarA | Appointments for one month. Returns: [{id, subject, day, all_day, start?, end?, end_day?, attendees?, location?, notes?, reminders?, kind?, read_only?, source?, recurring?, recurrence?, series_start?, series_end?, skipped_days?}]. |
| search_calendarA | Find appointments by words in their subject, across months (Cozi's own search, the one in its app). Use it for "when is the dentist?" instead of paging through months. Returns: {appointments: [{...same fields as get_calendar, last_day?, next_days?}], more?}. A recurring series is one entry with |
| todayA | Current date, weekday and time on the user's machine. Returns: {date, weekday, time, timezone}. Call it before turning 'tomorrow' or 'this Saturday' into the ISO dates the calendar tools take when you have not called another Cozi tool yet; every Cozi tool result also carries this time. |
| create_appointmentA | Create a calendar appointment. |
| update_appointmentA | Partial-update an appointment. The Cozi PUT semantics replace ALL fields, so this tool first fetches the existing appointment from the (year, month) page and merges your changes — only fields you pass are altered. To switch a timed appointment to all-day pass all_day=true; to switch to timed pass new start/end. Passing |
| delete_appointmentA | Delete an appointment. Returns true on success; errors if the id is not on the (year, month) page. A recurring series ( |
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 15 tools
Each tool targets a clear resource+action: lists (get_lists, create_list, rename_list, delete_list), list items (get_list_items, add_item, update_item, remove_items), and calendar (get_calendar, search_calendar, create/update/delete_appointment), plus helpers family_members and today. The only mild overlap is between update_item's completion status and remove_items, and between get_calendar and search_calendar, but the descriptions make the boundaries usable.
The set mostly follows a verb_noun pattern (create_list, get_calendar, update_appointment, delete_list). Minor deviations exist: noun-only names (family_members, today) and inconsistent verbs for similar operations (rename_list vs update_item), plus the plural remove_items.
15 tools is well-scoped for a two-domain server (family calendar + lists), with each tool earning its place across list CRUD, item CRUD, and appointment CRUD/search. No redundant or filler tools.
Covers full CRUD for lists, list items, and appointments including recurrence scoping and multi-day events. Minor gaps remain: no tool to reorder list items despite a `position` field being returned, and no explicit way to change a list's type or move items between lists.