Cozi MCP Server

Cozi MCP Server

Enables management of Cozi Family Organizer shopping lists and todo lists through natural language. Supports creating, editing, and organizing family lists with real-time sync to the Cozi platform.

Category
访问服务器

README

Cozi MCP Server

npm version License: MIT

Model Context Protocol (MCP) server for Cozi Family Organizer. Enables Claude and other MCP clients to manage shopping lists and todo lists through the Cozi API.

⚠️ Important Disclaimer

This is an UNOFFICIAL MCP server. Cozi does not provide a public API. This implementation uses the unofficial @brandcast_app/cozi-api-client which is based on reverse engineering.

Use at your own risk:

  • The API may change without notice
  • Your Cozi account could be suspended for using unofficial clients
  • This server is provided AS-IS with no warranties
  • Not affiliated with or endorsed by Cozi

Features

  • 📝 List Management: Create, read, and delete shopping/todo lists
  • Item Operations: Add, edit, complete, and remove items
  • 🔄 Real-time Sync: Changes are immediately reflected in Cozi
  • 🤖 Claude Integration: Use natural language to manage your Cozi lists
  • 🔐 Secure: Credentials stored in environment variables

Installation

Via npm (Recommended)

npm install -g @brandcast_app/cozi-mcp-server

Via npx (No installation)

npx @brandcast_app/cozi-mcp-server

From Source

git clone https://github.com/BrandCast-Signage/cozi-mcp-server.git
cd cozi-mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cozi": {
      "command": "npx",
      "args": ["-y", "@brandcast_app/cozi-mcp-server"],
      "env": {
        "COZI_USERNAME": "your@email.com",
        "COZI_PASSWORD": "your-password"
      }
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "cozi": {
      "command": "cozi-mcp-server",
      "env": {
        "COZI_USERNAME": "your@email.com",
        "COZI_PASSWORD": "your-password"
      }
    }
  }
}

Environment Variables

  • COZI_USERNAME (required): Your Cozi account email
  • COZI_PASSWORD (required): Your Cozi account password
  • DEBUG (optional): Set to "true" to enable debug logging

Available Tools

The server exposes the following MCP tools:

List Operations

cozi_get_lists

Get all Cozi lists (shopping and todo) with their items.

Returns: Array of lists with items

Example:

User: Show me all my Cozi lists

cozi_get_list

Get a specific list by ID with all its items.

Parameters:

  • listId (string): The ID of the list

Example:

User: Show me the details of list abc123

cozi_create_list

Create a new Cozi list.

Parameters:

  • title (string): The title of the new list
  • type (string): Either "shopping" or "todo"

Example:

User: Create a new shopping list called "Costco Run"

cozi_delete_list

Delete a list permanently.

Parameters:

  • listId (string): The ID of the list to delete

Example:

User: Delete the Costco Run list

Item Operations

cozi_add_item

Add a new item to a list.

Parameters:

  • listId (string): The list ID
  • text (string): The item text

Example:

User: Add "organic milk" to my shopping list

cozi_edit_item

Edit an existing item's text.

Parameters:

  • listId (string): The list ID
  • itemId (string): The item ID
  • text (string): The new text

Example:

User: Change "milk" to "whole milk" in my shopping list

cozi_mark_item_complete

Mark an item as complete/done.

Parameters:

  • listId (string): The list ID
  • itemId (string): The item ID

Example:

User: Mark "milk" as done

cozi_mark_item_incomplete

Mark an item as incomplete/not done.

Parameters:

  • listId (string): The list ID
  • itemId (string): The item ID

Example:

User: Uncheck "milk" from my list

cozi_remove_item

Remove an item from a list permanently.

Parameters:

  • listId (string): The list ID
  • itemId (string): The item ID

Example:

User: Remove "milk" from my shopping list

Usage Examples

With Claude Desktop

Once configured, you can interact with Cozi through natural language:

View Lists:

You: What's on my shopping list?
Claude: [Uses cozi_get_lists to fetch and display your lists]

Add Items:

You: Add bananas, apples, and bread to my shopping list
Claude: [Uses cozi_add_item for each item]

Manage Tasks:

You: I finished buying milk, mark it as done
Claude: [Uses cozi_mark_item_complete]

Create Lists:

You: Create a new todo list for weekend chores
Claude: [Uses cozi_create_list]

Development

Building

npm run build

Watch Mode

npm run watch

Testing Locally

  1. Build the project:
npm run build
  1. Run the server:
COZI_USERNAME=your@email.com COZI_PASSWORD=yourpass node dist/index.js
  1. The server will start and wait for MCP protocol messages on stdin/stdout

Testing with MCP Inspector

npx @modelcontextprotocol/inspector npx -y @brandcast_app/cozi-mcp-server

Then set environment variables in the inspector UI.

API Client

This server is built on top of @brandcast_app/cozi-api-client. If you need direct API access without MCP, use the client library directly.

Troubleshooting

Authentication Fails

  • Verify COZI_USERNAME and COZI_PASSWORD are correct
  • Check that your Cozi account is active
  • Try logging in to the Cozi website to verify credentials

Server Not Starting

  • Ensure Node.js >= 18.0.0 is installed
  • Check that environment variables are properly set
  • Enable debug mode: DEBUG=true

Tools Not Appearing in Claude

  • Restart Claude Desktop after configuration changes
  • Check config file syntax (valid JSON)
  • Verify the server path/command is correct

Security Notes

  • Store credentials securely in environment variables
  • Never commit credentials to version control
  • Consider using a dedicated Cozi account for automation
  • The server runs locally and does not send data anywhere except to Cozi

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file for details.

Credits

Related Projects

Support

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选