← 返回目录
O

OmniFocus MCP Server

社区
让 AI 助手通过自然语言管理你的 OmniFocus 任务与项目
分类
其他 第 30 / 230
Stars
★ 252 非常热门
传输方式
stdio(本地进程)
运行环境
Node.js 20+ · 预编译二进制
凭据
无需凭据
许可证
MIT
最近提交
工具数
12
66FMRS · C

这是一个成熟度较高的第三方 OmniFocus MCP 服务器,工具覆盖面广,含 12 个工具和多种资源,支持批量操作、透视与标签管理,以及把自然语言重复规则编译成 ICS 规则。共享守护进程设计解决了多客户端并发调用 AppleEvent 超时的问题,并带有回退机制。主要限制是仅适用于 macOS 并需要 OmniFocus 与自动化权限,且由第三方维护。使用前应了解删除操作与重复任务历史行的风险。

最强项 · 文档质量 16/20 最弱项 · 可靠性 11/20

可靠性
11/20
安全与权限
12/20
维护活跃度
13/20
文档质量
16/20
安装易用性
14/20
查看各项评分依据
可靠性 11/20
只做静态审查,仅凭 README 提供的证据。README 声称 CI 会做类型检查、单元测试与构建,并给出了 npm test / npm run build / npm run test:integration 命令,说明存在测试基础设施,但未提供任何 CI 工作流原文或已提交的测试文件内容,无法核实测试是否覆盖关键路径(osascript 调用、query 过滤器、批量操作、重复任务安全性)。工具数量自述 12 个且行为描述较细(edit_item 至少需要一个字段、未知键报错、过去发生的重复项需 allowPastOccurrence 才可改),这些说明错误处理有设计,但仍属自述。安装路径依赖 macOS + OmniFocus + Node 20 + AppleEvents 自动化授权,运行环境错误面较大;共享 daemon 有掉线重连、握手重放、standalone 回退等机制描述,但均为文档声明而无源码佐证。依据静态校准规则,缺少可验证执行证据时可靠性不得高于 12,故给 11。
安全与权限 12/20
未触及红线:没有恶意代码、凭据窃取、隐蔽外传或默认不可逆危险操作的证据。数据面为本地 OmniFocus 数据库,通过 osascript/JXA/OmniJS 在本机操作,无外部网络端口,daemon 使用 0700 目录下的 Unix domain socket 并由文件系统权限约束,不设 token,这一设计在单机场景下合理。但存在明显的权限与确认缺口:README 明确提供 remove_item、batch_remove_items 以及 edit_item 的批量改写能力,却未描述任何删除前确认、dry-run 或影响范围提示机制;错误处理上仅对过去发生的重复项默认拒绝,删除与批量变更属于可造成数据损失的操作却无确认语义。macOS 自动化授权为一次性授予,范围较宽。凭据处理无问题(本地无凭证),亦未泄露令牌。综合给 12 分。
维护活跃度 13/20
仓库未归档,241 星、8 个未关闭 issue,MIT 许可,具备 GitHub Actions CI 徽章与 issue 链接,说明有持续维护与问题入口。README 中对升级后新旧 daemon 并存、in-band 升级提示、空闲退出、重连等行为有较新且细致的描述,反映项目处于活跃迭代状态。但缺乏可见的发布节奏、版本管理策略、依赖更新机制与安全响应渠道说明,治理结构(是否有明确 owner、SLA)不清晰。按锚点属“活跃但治理/版本化有缺口”,给 13 分。
文档质量 16/20
文档质量是本次最突出的优势。README 分层清晰:安装(Claude Desktop、Claude Code、其他 MCP 客户端)、12 个工具的参数表、query 过滤器的完整枚举、repeating 规则的字段与两种 method 的语义差异、资源 URI 列表与模板补全、共享 daemon 的故障语义、环境变量表及默认值、Roadmap 中的已知限制(不支持定位型月度规则、月份日期、COUNT/UNTIL 终结点)、以及测试与集成测试的运行方式。限制与边界披露充分,示例(batch_add_items JSON、repeat JSON)可复核。扣分点在于:query 完整参考与示例被外链到 QUERY_TOOL_REFERENCE.md / QUERY_TOOL_EXAMPLES.md,本次素材未包含其内容;未给出 daemon 故障排查的具体排错步骤(仅提示用 OMNIFOCUS_MCP_NO_DAEMON);未提供成本/资源占用说明;亦无鉴权说明(本地场景本无鉴权)。给 16 分。
安装易用性 14/20
安装路径清晰:macOS + OmniFocus 前置条件明确,Node 20+,Claude Desktop 给出完整 claude_desktop_config.json 片段,Claude Code 给出一行 `claude mcp add omnifocus -- npx -y omnifocus-mcp` 命令,并说明其他客户端统一以 stdio 启动 `npx -y omnifocus-mcp`。首次运行会弹一次自动化授权,交互成本低。扣分项:平台强绑定 macOS 且必须本机装有 OmniFocus,无替代路径;未展示 npm 包已发布的可验证证据(仅有 npm 徽章,无法在静态素材中核实发布状态);共享 daemon 与 Unix socket 路径引入了额外环境假设(HOME 可写、非受限沙箱),虽提供 OMNIFOCUS_MCP_NO_DAEMON 回退,但排障仍属手动。按静态校准上限 15,给 14 分。

静态评测 · 未实际运行收录于 2026-09-18

查看 FMRS 评分方法 →

选型与风险

能访问什么连接数据库

适合谁

  • 使用 macOS 和 OmniFocus、希望用自然语言操作任务数据库的用户
  • 需要让 AI 助手批量整理和重排任务的 OmniFocus 用户
  • 愿意授予 macOS 自动化权限、并能排查 AppleEvent 超时问题的进阶用户

不适合谁

  • Windows 或 Linux 用户(服务器依赖 macOS 上的 OmniFocus)
  • 希望在无 macOS 自动化权限的沙箱环境中运行的用户
  • 期待 Omni Group 官方支持的用户(本项目为第三方开源项目)

所需权限

  • 需要 macOS 自动化(AppleEvents)权限来控制 OmniFocus
  • 需要通过 osascript 读写本机 OmniFocus 数据库
  • 共享守护进程在 ~/.omnifocus-mcp/ 下的 0700 权限 Unix 域套接字上监听,访问由文件系统权限控制,不使用网络端口或令牌

风险与副作用

  • 授予自动化权限后,服务器可以读取和修改本机 OmniFocus 数据库,包括删除任务和项目;删除操作可能需要谨慎确认。
  • 对重复任务的已完成历史行(过去发生实例)执行编辑或删除会级联影响当前重复链,默认会被拒绝,除非显式允许。
  • 共享守护进程崩溃或被手动终止时,客户端连接可能受影响;新版本会重连并重放初始化握手。
  • 升级后可能短暂同时存在新旧两个守护进程,已连接旧守护进程的客户端会在工具结果中收到升级提示。
  • 并发 osascript 调用过多可能导致 AppleEvent 超时。

安装接入

准备工作

运行环境:Node.js 20+ · 预编译二进制

其他可选配置项(4 个)
OMNIFOCUS_MCP_NO_DAEMON 可选 设为 1 可跳过共享守护进程,为每个客户端运行独立服务器;怀疑守护进程出问题时首先尝试。
OMNIFOCUS_MCP_SOCKET 可选 覆盖守护进程套接字路径(默认 ~/.omnifocus-mcp/daemon-<version>.sock),用于运行隔离实例。
OMNIFOCUS_MCP_IDLE_TIMEOUT_MINUTES 可选 无客户端流量后守护进程退出前的空闲分钟数,默认 30,设 0 禁用超时。
OMNIFOCUS_MCP_MAX_CONCURRENT_OSASCRIPT 可选 并发 osascript 调用上限,默认 4;出现 AppleEvent 超时可调低。
  1. 确认使用 macOS 并已安装 OmniFocus,同时安装 Node.js 20 或更高版本。
  2. 在 Claude Desktop 的 ~/Library/Application Support/Claude/claude_desktop_config.json 中加入 mcpServers 配置:command 为 npx,args 为 ["-y", "omnifocus-mcp"]。
  3. 重启 Claude Desktop。使用 Claude Code 时运行:claude mcp add omnifocus -- npx -y omnifocus-mcp。其他 MCP 客户端同样通过 stdio 启动 npx -y omnifocus-mcp。
  4. 服务器首次访问 OmniFocus 时,macOS 会请求自动化权限,允许一次即可。
claude_desktop_config.json
{
  "mcpServers": {
    "omnifocus": {
      "command": "npx",
      "args": ["-y", "omnifocus-mcp"]
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "omnifocus": {
      "command": "npx",
      "args": [
        "-y",
        "omnifocus-mcp"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add omnifocus -- npx -y omnifocus-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 Claude Desktop 添加配置并重启后,客户端工具列表中应出现 query_omnifocus 等工具;也可直接提问“我的收件箱里有什么”来验证连接。

常见排障

  1. 怀疑守护进程有问题时,设置环境变量 OMNIFOCUS_MCP_NO_DAEMON=1,跳过守护进程并为每个客户端运行独立服务器。
  2. 仍遇到 AppleEvent 超时,可调低 OMNIFOCUS_MCP_MAX_CONCURRENT_OSASCRIPT(默认 4)。
  3. 需要隔离实例时,用 OMNIFOCUS_MCP_SOCKET 覆盖套接字路径。
  4. 连接空闲过久守护进程会自行退出,可通过 OMNIFOCUS_MCP_IDLE_TIMEOUT_MINUTES(默认 30,0 表示禁用)调整。
  5. 升级后若出现两个守护进程,等待旧守护进程在最后一个客户端断开后退出即可。
  6. 若守护进程无法启动(特殊沙箱、只读主目录),服务器会回退为在进程内运行独立服务器。
  7. 首次使用若未弹出授权提示,检查 macOS 的自动化权限设置,必要时撤销后重新授予。

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 显示我这周到期的所有已标记任务
  • 统计每个项目里各有多少任务
  • 把这段会议记录分析一下,为分配给我的行动项在 OmniFocus 的 'Product Development' 项目里创建任务
  • 我想给每个任务都加上一个精力等级标签,先列出所有没有该标签的任务并给出建议

工具能力 12

query_omnifocus 只读
使用精确筛选条件查询任务、项目或文件夹,比导出整个数据库更快更轻量。
dump_database 只读
获取数据库的完整状态,适合全面分析。
add_omnifocus_task 写入
创建一个新任务,可指定项目、父任务、备注、日期、标签、预估时间和重复规则。
add_project 写入
创建一个新项目,可指定文件夹、是否顺序执行、日期、标签、预估时间和重复规则。
edit_item 写入
编辑已有任务或项目,也是移动条目的方式(可移动到项目或收件箱)。
remove_item 破坏性
删除一个任务或项目。
batch_add_items 写入
在一次操作中创建多个任务和项目,支持临时 ID 引用实现层级嵌套。
batch_remove_items 破坏性
在一次操作中删除多个任务或项目。
展开其余 4 个工具
list_perspectives 只读
列出可用的透视,包括内置透视和自定义透视。
get_perspective_view 只读
获取指定透视中可见的条目。
list_tags 只读
列出所有标签及其层级、启用状态和任务数量。
create_tag 写入
创建一个标签,可选择嵌套在已有父标签下。

使用场景

把课程大纲 PDF 转成包含任务、标签、延迟日期和截止日期的完整项目
把会议记录转成行动项清单并写入指定项目
以对话方式审查和重组标签、项目与文件夹
查询标记任务、本周到期任务或某项目中的下一步行动
批量创建或删除数十个条目
查看收件箱、今日日程、标记条目或某个透视的内容

支持客户端

Claude Desktop
Claude Code

依据项目文档列出,未经本站实测。

详细介绍

OmniFocus MCP Server 是一个 Model Context Protocol 服务器,用于把 OmniFocus 数据库连接到 Claude 及其他兼容 MCP 的 AI 助手。它是第三方开源项目(MIT 许可),并非 Omni Group 官方产品。服务器通过 osascript、JXA 以及 Omni Automation 与 OmniFocus 通信,基于官方 MCP TypeScript SDK 构建,并通过 stdio 与客户端通信。它提供 12 个工具,可以查询、创建、编辑和删除任务与项目,支持批量操作、透视(perspective)查看、标签管理,以及用自然语言描述重复规则(服务器会编译成 ICS 重复规则)。还提供资源(如 omnifocus://inbox、omnifocus://today、omnifocus://flagged、omnifocus://stats)供客户端作为上下文附加。服务器启动时使用共享后台守护进程(Unix 域套接字,位于 0700 权限目录),以统一限制并发 osascript 调用数量。要求 macOS 上安装 OmniFocus 以及 Node.js 20 或更高版本。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 670 · 工具数 11 与当前对比 →

源版本 f6988cd65531 数据同步于 2026-11-02 查看 FMRS 评分方法