Token导航 LogoToken导航TokenDH.com
cozi MCP logo
日程管理HTTP官方来源来源级核验

cozi MCP

MCP Server

一款非官方的Model Context Protocol服务器,允许AI助手如Claude读取和更新您的Cozi家庭组织器列表和日历。

工具数

12

提示词数

0

GitHub Stars

2

资源数

0
TypeScriptClaude日程管理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mjucius

提供方

mjucius

最后核验

2026/5/17 20:34

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

Cozi MCP服务器

非官方 模型上下文协议 服务器,让像克劳德这样的人工智能助手读取和更新您的 Cozi家庭组织者 列表和日历。

每个用户都针对自己的Cozi帐户运行自己的实例。您的凭据存储在MCP客户端的安全配置中(Claude Desktop的操作系统密钥链、Smithery的加密会话配置或您的本地环境),并且永远不会离开您的计算机——此服务器的作者无权访问您的数据。

安装

1.MCPB(建议用于Claude Desktop)

下载最新 .mcpb发布页面 双击以在Claude Desktop中安装。系统会提示您输入Cozi用户名和密码——它们安全地存储在您的操作系统密钥链中。

此路径不需要在您的计算机上安装Node、npm或Python。

2.Smithery(适用于其他MCP客户)

对于Cursor、ChatGPT风格的客户端或连接到Smithery托管服务器的web代理:

在Smithery.ai上部署→

在Smithery UI中配置您的Cozi凭据;每个会话都使用自己的凭据集独立运行。

3.npx(适用于高级用户)

将此添加到您的Claude桌面 claude_desktop_config.json (或任何其他MCP客户端配置文件):

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

需要节点20+。该软件包将在首次运行时下载。

信任与安全

Cozi没有OAuth-用户名/密码身份验证是API支持的唯一方式。此服务器诚实地处理了这一事实:

  • 按用户,按架构。 每个用户都针对自己的Cozi帐户运行自己的实例。没有共享后端,没有代理,没有多租户数据库。此服务器的作者永远看不到任何人的凭据或数据。
  • 凭据仅存在于MCP客户端的安全配置中。 Claude Desktop将它们存储在您的操作系统钥匙链中。Smithery对每个会话进行加密。npx路径从您自己设置的环境变量中读取它们。此服务器不会记录、写入磁盘或发送任何内容,除非 https://rest.cozi.com.
  • API曲面受到约束。 此服务器仅联系 rest.cozi.com 对于Cozi web应用程序使用的相同端点(身份验证、列表、日历、家庭成员)。完整的请求/响应代码位于 src/cozi/ --你可以自己审核大约500行TypeScript。
  • 开源,麻省理工学院授权。 固定特定版本(@mjucius/cozi-mcp@2.0.0)如果你想要一个稳定的目标,或者如果你想要零供应链信任,可以分叉仓库并运行自己的构建。

工具

服务器公开了12个工具。回报率很低 null/省略了空字段。

家庭

  • family_members()[{id, name, color?}] --首先调用此命令以获取预约的与会者ID。

列表

  • get_lists(list_type?)[{id, title, type, item_count, completed_count}]list_type 是可选的, 'shopping''todo'.
  • get_list_items(list_id, include_completed=false)[{id, text, status, position?}].
  • create_list(name, list_type){id, title, type}.
  • delete_list(list_id)boolean.

物品

  • add_item(list_id, text, position=0){id, text}.
  • update_item(list_id, item_id, text?, completed?){id, text, status} --通过其中之一或两者。 当两者都通过时,为非原子:首先更新文本,然后更新状态。
  • remove_items(list_id, item_ids)boolean.

日历

  • get_calendar(year, month)[{id, subject, day, all_day, start?, end?, attendees?, location?, notes?}].
  • create_appointment(subject, start, end, attendees?, all_day=false, notes='', location?)startend 是ISO日期时间(例如。 '2026-06-15T10:00:00').适用于全天活动 end 可能相等 start.
  • update_appointment(appointment_id, year, month, ...) --通过fetch进行部分更新,然后合并:pass (appointment_id, year, month) 加上任何要更改的字段。省略的字段将被保留。将定时预约切换为全天通行证 all_day=true;切换到定时通过新 start/end.
  • delete_appointment(appointment_id, year, month)boolean.

工作流提示

在创建或更新与特定与会者的约会时,请致电 family_members() 首先,使用这些 id 值在 attendees arg。日历工具的范围为 (year, month) page--传递相同的内容 year/month 当从该页面更新或删除约会时返回。

从v1迁移(Python)

v2.0是对之前Python实现的Node/TypeScript重写,以MCPB/npx/Smithery的形式分发。运行时发生了变化,工具界面也得到了整合——如果你有针对v1编写的提示,请按如下方式更新它们:

v1(Python,14个工具)v2(Node,12个工具)
get_family_membersfamily_members
get_lists_by_type(t)get_lists(list_type=t)
update_item_text(...) + mark_item(...)update_item(text?, completed?) (合并)
add_item(list_id, item_text, ...)add_item(list_id, text, ...) (参数已重命名)
update_appointment(appointment_obj)update_appointment(appointment_id, year, month, ...partial)
update_list (项目重新排序)已删除
delete_appointment(id)delete_appointment(id, year, month)
get_lists 返回嵌套项现在仅用于摘要--通过以下方式获取项 get_list_items(list_id)

旧版v1 Python源代码保留在git标签中 v1.0.0 以供参考。

发展

需要节点20+(请参见 .nvmrc).

nvm use
npm install
npm test               # vitest, 68 tests
npm run typecheck
npm run build          # tsup → dist/
npm run dev            # local stdio dev with COZI_USERNAME / COZI_PASSWORD env vars
npm run playground     # @smithery/cli local playground UI
npm run bundle:mcpb    # produces cozi-mcp.mcpb at repo root

回购布局:

cozi_mcp/
├── src/
│   ├── server.ts              # MCP server factory (Smithery default export)
│   ├── bin.ts                 # npx + MCPB stdio entry point
│   ├── instructions.ts
│   ├── cozi/                  # Inlined Cozi HTTP client (no separate npm package)
│   └── tools/                 # 12 MCP tools
├── tests/                     # vitest, mocks CoziClient at the boundary
├── manifest.json              # MCPB manifest (Claude Desktop)
├── smithery.yaml              # Smithery deploy manifest
└── package.json

Cozi HTTP客户端内联在 src/cozi/ 而不是作为单独的npm包发布——它很小,只对这个MCP服务器有用,并避免了单独依赖的供应链表面区域。如果您希望在自己的项目中使用Python等效工具,请参阅 py cozi客户端.

致谢

  • ?apikey=coziwc|v…_production 对Cozi身份验证端点的要求是从现场反向工程的 my.cozi.com web捆绑包 Wetzel402/py cozi公关#3如果没有这一发现,无论凭证有效性如何,来自服务器环境的每次登录尝试都会以误导性的401失败。

商标和隶属关系

Cozi和Cozi标志是Cozi Group股份有限公司的商标。本项目为非官方项目,不隶属于Cozi Group股份有限公司,不由其背书或赞助。使用Cozi API的风险由您自行承担,并受 Cozi的服务条款.

许可证

麻省理工学院——见 许可证.

贡献

PR欢迎。请快跑 npm testnpm run typecheck 在提交之前。

目录标签

目录标签

TypeScriptClaude日程管理家庭组织本地部署日历管理任务列表AI集成数据安全

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPoauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP