O

OmniFocus-MCP

@themotionmachine/OmniFocus-MCP
0 Stars 321 次浏览 themotionmachine 更新于 2026-08-23

一种模型上下文协议(MCP)服务器,它与OmniFocus集成,使克劳德(或其它与MCP兼容的AI助手)能够与您的任务和项目进行交互。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "omnifocus": {
      "args": [
        "-y",
        "omnifocus-mcp"
      ],
      "command": "npx"
    }
  }
}

服务介绍

OmniFocus MCP 服务器

一个与 OmniFocus 集成的 Model Context Protocol (MCP) 服务器,使 Claude(或其他兼容 MCP 的 AI 助手)能够通过自然语言对话与您的任务和项目进行交互。

OmniFocus MCP

🌟 概述

此 MCP 服务器在 AI 助手(如 Claude)和您的 OmniFocus 任务管理系统之间创建了一个桥梁。它赋予 AI 模型通过自然语言对话查看、创建、编辑和删除您 OmniFocus 数据库中的任务和项目的能力。
您可以这样使用它:

  • 将课程大纲的 PDF 转换为带有任务、标签、推迟日期和截止日期的完整指定项目。
  • 将会议记录转换为行动列表
  • 创建任务、项目和标签的可视化
  • 在单个操作中处理多个任务或项目
  • 高效地批量管理您的 OmniFocus 项目

🚀 快速开始

先决条件

  • 安装了 OmniFocus 的 macOS

连接到 Claude

  1. 在 Claude Desktop 中,将此 MCP 服务器添加到配置文件中:
~/Library/Application Support/Claude/claude_desktop_config.json
  1. 添加以下配置:
{
  "mcpServers": {
    "omnifocus": {
      "command": "npx",
      "args": ["-y", "omnifocus-mcp"]
    }
  }
}
  1. 重启 Claude Desktop

🌈 使用案例

重新组织您的项目、任务和标签

"我希望每个任务都有一个能量等级标签。显示所有没有能量等级标签的任务,并给出建议添加哪个标签。我会根据需要做出适当的更改。然后在 OmniFocus 中进行这些更改。"

从任何对话中添加任务

"好的,感谢你详细解释为什么法治很重要。在我的活动项目中添加一个每周提醒我给代表打电话的重复任务。在备注字段中包含这次对话的摘要。"

快速虚拟视图

以对话方式获取当前任务的摘要并管理它们:

"显示本周到期且不包含'鱼'的所有标记任务。"

处理会议记录或 PDF

从会议记录、学术研究文章或笔记中提取行动项:

"我粘贴了今天产品会议的记录。请分析它并在 OmniFocus 中为分配给我的任何行动项创建任务。将它们放入我的‘产品开发’项目中。"

批量操作

高效地管理多个项目:

"我有来自这个会议记录的 20 个任务。请将它们全部添加到我的‘Q2 规划’项目中,并附上合适的标签和截止日期。"

🔧 可用工具

该服务器目前提供以下工具:

dump_database

获取您当前 OmniFocus 数据库的状态。

add_omnifocus_task

向 OmniFocus 添加新任务。

参数:

  • name: 任务的名称
  • projectName: (可选) 要将任务添加到的项目的名称
  • note: (可选) 任务的附加备注
  • dueDate: (可选) 任务的截止日期,ISO 格式
  • deferDate: (可选) 任务的延期日期,ISO 格式
  • flagged: (可选) 任务是否被标记
  • estimatedMinutes: (可选) 完成任务的预计时间
  • tags: (可选) 分配给任务的标签

add_project

向 OmniFocus 添加一个新项目。

参数:

  • name: 项目的名称
  • folderName: (可选) 要将项目添加到的文件夹的名称
  • note: (可选) 项目的附加备注
  • dueDate: (可选) 项目的截止日期,ISO 格式
  • deferDate: (可选) 项目的延期日期,ISO 格式
  • flagged: (可选) 项目是否被标记
  • estimatedMinutes: (可选) 完成项目的预计时间
  • tags: (可选) 分配给项目的标签
  • sequential: (可选) 项目中的任务是否应按顺序执行

remove_item

从 OmniFocus 中移除一个任务或项目。

参数:

  • id: (可选) 要移除的任务或项目的 ID
  • name: (可选) 要移除的任务或项目的名称
  • itemType: 要移除的项目的类型 ('task' 或 'project')

edit_item

在 OmniFocus 中编辑一个任务或项目。

参数:

  • id: (可选) 要编辑的任务或项目的 ID
  • name: (可选) 要编辑的任务或项目的名称
  • itemType: 要编辑的项目的类型 ('task' 或 'project')
  • 各种用于编辑属性的参数

batch_add_items

通过单个操作向 OmniFocus 添加多个任务或项目。

参数:

  • items: 要添加的项目数组,每个项目可以包括:
    • type: 项目的类型 ('task' 或 'project')
    • name: 项目的名称
    • note: (可选) 附加备注
    • dueDate: (可选) 截止日期,ISO 格式
    • deferDate: (可选) 延期日期,ISO 格式
    • flagged: (可选) 项目是否被标记
    • estimatedMinutes: (可选) 预计完成时间
    • tags: (可选) 标签数组
    • projectName: (可选) 对于任务:要添加到的项目
    • folderName: (可选) 对于项目:要添加到的文件夹
    • sequential: (可选) 对于项目:任务是否按顺序执行

batch_remove_items

通过单个操作从 OmniFocus 中移除多个任务或项目。

参数:

  • items: 要移除的项目数组,每个项目可以包括:
    • id: (可选) 要移除的项目的 ID
    • name: (可选) 要移除的项目的名称
    • itemType: 项目的类型 ('task' 或 'project')

🛠 开发

文档待补充。

🧠 工作原理

文档待补充。

此服务器使用 AppleScript 与 OmniFocus 通信,使其能够与应用程序的原生功能进行交互。该服务器是使用 Model Context Protocol SDK 构建的,该 SDK 为 AI 模型提供了与外部工具和系统交互的标准方式。

📜 许可证

MIT

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

相关 MCP 服务