mcp-omnifocus 0.1.0 → 0.1.1
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 +27 -3
- package/dist/providers/url-scheme.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# MCP OmniFocus
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/mcp-omnifocus)
|
|
4
|
+
|
|
3
5
|
MCP server for OmniFocus with auto-detection of Pro/Standard version.
|
|
4
6
|
|
|
5
7
|
## Features
|
|
@@ -22,22 +24,44 @@ MCP server for OmniFocus with auto-detection of Pro/Standard version.
|
|
|
22
24
|
|
|
23
25
|
## Installation
|
|
24
26
|
|
|
27
|
+
### Via npm (recommended)
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx mcp-omnifocus
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### From source
|
|
34
|
+
|
|
25
35
|
```bash
|
|
26
|
-
|
|
36
|
+
git clone https://github.com/avlihachev/mcp-omnifocus.git
|
|
37
|
+
cd mcp-omnifocus
|
|
27
38
|
npm install
|
|
28
39
|
npm run build
|
|
29
40
|
```
|
|
30
41
|
|
|
31
|
-
## Claude
|
|
42
|
+
## Claude Desktop Configuration
|
|
32
43
|
|
|
33
44
|
Add to `~/.claude/claude_desktop_config.json`:
|
|
34
45
|
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"mcpServers": {
|
|
49
|
+
"omnifocus": {
|
|
50
|
+
"command": "npx",
|
|
51
|
+
"args": ["mcp-omnifocus"]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Or if installed from source:
|
|
58
|
+
|
|
35
59
|
```json
|
|
36
60
|
{
|
|
37
61
|
"mcpServers": {
|
|
38
62
|
"omnifocus": {
|
|
39
63
|
"command": "node",
|
|
40
|
-
"args": ["/
|
|
64
|
+
"args": ["/path/to/mcp-omnifocus/dist/index.js"]
|
|
41
65
|
}
|
|
42
66
|
}
|
|
43
67
|
}
|
|
@@ -77,7 +77,8 @@ export class UrlSchemeProvider {
|
|
|
77
77
|
if (input.project) {
|
|
78
78
|
params.set("project", input.project);
|
|
79
79
|
}
|
|
80
|
-
|
|
80
|
+
// URLSearchParams encodes spaces as '+', but OmniFocus expects '%20'
|
|
81
|
+
const url = `omnifocus:///add?${params.toString().replace(/\+/g, '%20')}`;
|
|
81
82
|
await execFileAsync("open", [url]);
|
|
82
83
|
return {
|
|
83
84
|
success: true,
|