
familyorg
io.github.CloudCorpRecords/familyorg
Cozi family members, lists and shared calendar, as MCP tools.
Documentation
familyorg
Run a Cozi family account from an MCP client: who is in the family,
the shopping and to-do lists everyone shares, and the family calendar
with its appointments. familyorg is a clean-room rebuild of the
documented surface of the unofficial cozi_mcp server, under a new
name: fresh code written from the public tool spec, no copied code or
branding.
This is an unofficial client. It is not affiliated with Cozi.
Tools (full documented set, 15)
Reads: family_members, get_lists, get_list_items, today,
get_calendar, search_calendar.
Writes: create_list, rename_list, delete_list, add_item,
update_item, remove_items, create_appointment,
update_appointment, delete_appointment.
Notes on individual tools:
get_liststakes an optionallist_typeofshoppingortodo;get_list_itemstakes alist_idand an optionalinclude_completed.todayanswers from the local clock only. It needs no Cozi credentials and makes no network call.create_appointmenttakessubject,start, andend, plus optionalattendees,all_day,notes,location,repeat,reminders, andnotify.repeatis a generic object describing the recurrence (for example a frequency, an interval, weekdays, a monthly rule, and an until date).update_appointmentanddelete_appointmentare keyed byappointment_id,year, andmonth; updates send only the fields provided, and both accept scoping fields such asscopeandoccurrence_dayfor recurring appointments.
Setup
Authentication follows the Cozi web API pattern: a username and password are exchanged at login for a token, which is then sent with each request.
export COZI_USERNAME=you@example.com
export COZI_PASSWORD=your-password
Optionally override the API base with COZI_API_URL
(default https://rest.cozi.com). Without the username or password,
every tool except today fails with an error naming the missing
variable.
Set COZI_READ_ONLY=true to run in read-only mode: the nine write
tools disappear from the MCP tool list, and any write call is refused.
The request and response shaping against rest.cozi.com is a
reconstruction from the documented tool surface; it has not been
verified against a live Cozi account.
CLI
npx @reneturcios/familyorg get_calendar '{"year":2026,"month":11}'
npx @reneturcios/familyorg today '{}'
npx @reneturcios/familyorg mcp # stdio MCP server
Each tool name is a subcommand taking one JSON object argument.
MCP client config
{
"mcpServers": {
"familyorg": {
"command": "npx",
"args": ["-y", "@reneturcios/familyorg", "mcp"],
"env": {
"COZI_USERNAME": "you@example.com",
"COZI_PASSWORD": "your-password"
}
}
}
}
Docker
docker run -i -e COZI_USERNAME -e COZI_PASSWORD ghcr.io/cloudcorprecords/familyorg
Development
npm install
npm run build
npm test
License
MIT
@reneturcios/familyorgnpm install @reneturcios/familyorgghcr.io/cloudcorprecords/familyorg:0.1.0docker pull ghcr.io/cloudcorprecords/familyorg:0.1.0:undefinedRelated Servers
io.github.CloudCorpRecords/abandoncheck
Judge whether a dependency is maintained, from factual signals: releases, commits, archival.
io.github.CloudCorpRecords/actionbridge
Zapier exposed actions as MCP tools via a generic action runner.
io.github.CloudCorpRecords/actionpin
GitHub Actions supply-chain hardener: audit workflows for unpinned actions and build a SHA pin plan.