omnifocus-mcp-server 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +151 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
|
-
#
|
|
1
|
+
# OmniFocus MCP
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/omnifocus-mcp-server)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
> ✔️ Turn prompts into projects.
|
|
7
|
+
|
|
8
|
+
Feature-complete [Model Context Protocol](https://modelcontextprotocol.io/) server for [OmniFocus](https://www.omnigroup.com/omnifocus). Full read/write access to tasks, projects, folders, tags, and perspectives — 50 tools, 2 resources, and 3 prompts.
|
|
9
|
+
|
|
10
|
+
Uses [Omni Automation](https://omni-automation.com/) (OmniJS) under the hood, executing scripts via JXA and `osascript`. This is why macOS is required.
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
- [Examples](#examples)
|
|
17
|
+
- [Install](#install)
|
|
18
|
+
- [Requirements](#requirements)
|
|
19
|
+
- [Security](#security)
|
|
20
|
+
- [Tools](#tools)
|
|
21
|
+
- [Resources](#resources)
|
|
22
|
+
- [Prompts](#prompts)
|
|
23
|
+
- [Troubleshooting](#troubleshooting)
|
|
24
|
+
- [Development](#development)
|
|
25
|
+
- [License](#license)
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
> "Create a project called 'Q3 Launch' in my Work folder with subtasks for design review, copy writing, and QA — all due next Friday, assigned sequentially."
|
|
30
|
+
|
|
31
|
+
> "What's overdue? Flag anything due this week that isn't flagged yet."
|
|
32
|
+
|
|
33
|
+
> "Move all tasks tagged 'waiting' in the 'Website Redesign' project to a new 'Blocked' project."
|
|
34
|
+
|
|
35
|
+
> "Run my weekly review — go through stale projects, process inbox, and summarize what needs attention."
|
|
36
|
+
|
|
37
|
+
> "How many tasks do I have tagged 'errand'? List the ones that are available."
|
|
4
38
|
|
|
5
39
|
## Install
|
|
6
40
|
|
|
@@ -38,6 +72,73 @@ Or add to `.claude/settings.json`:
|
|
|
38
72
|
}
|
|
39
73
|
```
|
|
40
74
|
|
|
75
|
+
<details>
|
|
76
|
+
<summary><strong>Cursor</strong></summary>
|
|
77
|
+
|
|
78
|
+
Add to `.cursor/mcp.json` in your project or `~/.cursor/mcp.json` globally:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"mcpServers": {
|
|
83
|
+
"omnifocus": {
|
|
84
|
+
"command": "npx",
|
|
85
|
+
"args": ["-y", "omnifocus-mcp-server"]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
</details>
|
|
92
|
+
|
|
93
|
+
<details>
|
|
94
|
+
<summary><strong>Windsurf</strong></summary>
|
|
95
|
+
|
|
96
|
+
Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"mcpServers": {
|
|
101
|
+
"omnifocus": {
|
|
102
|
+
"command": "npx",
|
|
103
|
+
"args": ["-y", "omnifocus-mcp-server"]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
</details>
|
|
110
|
+
|
|
111
|
+
<details>
|
|
112
|
+
<summary><strong>Codex CLI</strong></summary>
|
|
113
|
+
|
|
114
|
+
Add to `~/.codex/config.toml`:
|
|
115
|
+
|
|
116
|
+
```toml
|
|
117
|
+
[mcp_servers.omnifocus]
|
|
118
|
+
command = "npx"
|
|
119
|
+
args = ["-y", "omnifocus-mcp-server"]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
</details>
|
|
123
|
+
|
|
124
|
+
<details>
|
|
125
|
+
<summary><strong>Gemini CLI</strong></summary>
|
|
126
|
+
|
|
127
|
+
Add to `~/.gemini/settings.json`:
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"mcpServers": {
|
|
132
|
+
"omnifocus": {
|
|
133
|
+
"command": "npx",
|
|
134
|
+
"args": ["-y", "omnifocus-mcp-server"]
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
</details>
|
|
141
|
+
|
|
41
142
|
## Requirements
|
|
42
143
|
|
|
43
144
|
- macOS (OmniFocus is macOS-only)
|
|
@@ -45,7 +146,13 @@ Or add to `.claude/settings.json`:
|
|
|
45
146
|
- Node.js >= 18
|
|
46
147
|
- Automation permission granted in System Settings > Privacy & Security > Automation
|
|
47
148
|
|
|
48
|
-
##
|
|
149
|
+
## Security
|
|
150
|
+
|
|
151
|
+
This server has **full read/write access** to your OmniFocus database. It can create, modify, and delete tasks, projects, folders, and tags. Only connect it to AI clients and models you trust.
|
|
152
|
+
|
|
153
|
+
No data leaves your machine — all communication happens locally via `osascript`.
|
|
154
|
+
|
|
155
|
+
## Tools
|
|
49
156
|
|
|
50
157
|
### Tasks (23)
|
|
51
158
|
|
|
@@ -69,7 +176,7 @@ Or add to `.claude/settings.json`:
|
|
|
69
176
|
| `get_inbox_tasks` | Get all inbox tasks |
|
|
70
177
|
| `get_flagged_tasks` | Get all available flagged tasks |
|
|
71
178
|
| `get_today_completed_tasks` | Get tasks completed today |
|
|
72
|
-
| `get_task_count` | Count tasks matching filters
|
|
179
|
+
| `get_task_count` | Count tasks matching filters — use instead of `list_tasks` when you only need a number, not the full task data |
|
|
73
180
|
| `convert_task_to_project` | Convert a task into a project, preserving subtasks |
|
|
74
181
|
| `batch_create_tasks` | Create multiple tasks at once with subtask hierarchies |
|
|
75
182
|
| `batch_complete_tasks` | Complete multiple tasks at once |
|
|
@@ -138,9 +245,42 @@ Or add to `.claude/settings.json`:
|
|
|
138
245
|
|
|
139
246
|
| Prompt | Description |
|
|
140
247
|
|--------|-------------|
|
|
141
|
-
| `weekly-review` |
|
|
142
|
-
| `inbox-processing` | Process inbox items using GTD methodology |
|
|
143
|
-
| `daily-planning` |
|
|
248
|
+
| `weekly-review` | Walk through your GTD weekly review: check projects due for review, process leftover inbox items, reassess flagged tasks, and get a structured summary. Marks projects as reviewed when done. |
|
|
249
|
+
| `inbox-processing` | Process inbox items one-by-one using GTD methodology — delete non-actionable items, do anything under 2 minutes, and organize the rest into projects with tags and dates. |
|
|
250
|
+
| `daily-planning` | Build a prioritized plan for today based on due dates, flagged items, and what you've already completed. Surfaces overdue tasks and estimates your workload. |
|
|
251
|
+
|
|
252
|
+
## Troubleshooting
|
|
253
|
+
|
|
254
|
+
### "Not authorized" or no response from OmniFocus
|
|
255
|
+
|
|
256
|
+
Make sure Automation permissions are granted. Go to **System Settings > Privacy & Security > Automation** and ensure your terminal app (Terminal, iTerm, etc.) is allowed to control OmniFocus.
|
|
257
|
+
|
|
258
|
+
### Changes not taking effect after rebuild
|
|
259
|
+
|
|
260
|
+
If you're developing locally, multiple MCP server processes may be running (from Claude Desktop, Claude Code, etc.). Kill them all and restart:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
pkill -f "omnifocus-mcp-server"
|
|
264
|
+
# or if running from source:
|
|
265
|
+
pkill -f "omnifocus/mcp/dist/index.js"
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Stale `npx` cache
|
|
269
|
+
|
|
270
|
+
If `npx` is running an old version, clear the cache:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
npx clear-npx-cache
|
|
274
|
+
# then re-run your MCP client
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### OmniFocus 3 compatibility
|
|
278
|
+
|
|
279
|
+
OmniFocus 3 works if Omni Automation is enabled. Go to **OmniFocus > Preferences > General** and check "Omni Automation". Some features (like certain perspective types) may behave differently.
|
|
280
|
+
|
|
281
|
+
### Tool calls are slow
|
|
282
|
+
|
|
283
|
+
Each tool call runs an `osascript` process to communicate with OmniFocus. This typically takes 200-500ms per call. Batch tools (`batch_create_tasks`, `batch_complete_tasks`, `batch_delete_tasks`) are much faster for bulk operations than calling individual tools in a loop.
|
|
144
284
|
|
|
145
285
|
## Development
|
|
146
286
|
|
|
@@ -160,6 +300,10 @@ Tests against a real OmniFocus instance (creates and cleans up test items):
|
|
|
160
300
|
OMNIFOCUS_LIVE=1 npm run test:integration
|
|
161
301
|
```
|
|
162
302
|
|
|
303
|
+
### Contributing
|
|
304
|
+
|
|
305
|
+
PRs welcome. Please run `npm test` before submitting and include tests for new tools.
|
|
306
|
+
|
|
163
307
|
## License
|
|
164
308
|
|
|
165
309
|
MIT
|