@noteplanco/noteplan-mcp 1.1.6 → 1.1.8
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/dist/noteplan/embeddings.d.ts +8 -0
- package/dist/noteplan/embeddings.d.ts.map +1 -1
- package/dist/noteplan/embeddings.js +3 -3
- package/dist/noteplan/embeddings.js.map +1 -1
- package/dist/noteplan/file-reader.d.ts +6 -0
- package/dist/noteplan/file-reader.d.ts.map +1 -1
- package/dist/noteplan/file-reader.js +15 -0
- package/dist/noteplan/file-reader.js.map +1 -1
- package/dist/noteplan/file-writer.d.ts.map +1 -1
- package/dist/noteplan/file-writer.js +86 -17
- package/dist/noteplan/file-writer.js.map +1 -1
- package/dist/noteplan/file-writer.test.d.ts +2 -0
- package/dist/noteplan/file-writer.test.d.ts.map +1 -0
- package/dist/noteplan/file-writer.test.js +896 -0
- package/dist/noteplan/file-writer.test.js.map +1 -0
- package/dist/noteplan/filter-store.d.ts.map +1 -1
- package/dist/noteplan/filter-store.js +13 -1
- package/dist/noteplan/filter-store.js.map +1 -1
- package/dist/noteplan/frontmatter-parser.d.ts +10 -1
- package/dist/noteplan/frontmatter-parser.d.ts.map +1 -1
- package/dist/noteplan/frontmatter-parser.js +59 -6
- package/dist/noteplan/frontmatter-parser.js.map +1 -1
- package/dist/noteplan/frontmatter-parser.test.js +576 -1
- package/dist/noteplan/frontmatter-parser.test.js.map +1 -1
- package/dist/noteplan/markdown-parser.d.ts +6 -1
- package/dist/noteplan/markdown-parser.d.ts.map +1 -1
- package/dist/noteplan/markdown-parser.js +25 -46
- package/dist/noteplan/markdown-parser.js.map +1 -1
- package/dist/noteplan/markdown-parser.test.d.ts +2 -0
- package/dist/noteplan/markdown-parser.test.d.ts.map +1 -0
- package/dist/noteplan/markdown-parser.test.js +690 -0
- package/dist/noteplan/markdown-parser.test.js.map +1 -0
- package/dist/noteplan/template-docs.d.ts +35 -0
- package/dist/noteplan/template-docs.d.ts.map +1 -0
- package/dist/noteplan/template-docs.js +184 -0
- package/dist/noteplan/template-docs.js.map +1 -0
- package/dist/noteplan/unified-store.d.ts +2 -0
- package/dist/noteplan/unified-store.d.ts.map +1 -1
- package/dist/noteplan/unified-store.js +22 -6
- package/dist/noteplan/unified-store.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +661 -241
- package/dist/server.js.map +1 -1
- package/dist/tools/attachments.d.ts +151 -0
- package/dist/tools/attachments.d.ts.map +1 -0
- package/dist/tools/attachments.js +421 -0
- package/dist/tools/attachments.js.map +1 -0
- package/dist/tools/attachments.test.d.ts +2 -0
- package/dist/tools/attachments.test.d.ts.map +1 -0
- package/dist/tools/attachments.test.js +561 -0
- package/dist/tools/attachments.test.js.map +1 -0
- package/dist/tools/calendar.d.ts +7 -7
- package/dist/tools/notes.d.ts +148 -48
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +366 -29
- package/dist/tools/notes.js.map +1 -1
- package/dist/tools/notes.test.d.ts +2 -0
- package/dist/tools/notes.test.d.ts.map +1 -0
- package/dist/tools/notes.test.js +800 -0
- package/dist/tools/notes.test.js.map +1 -0
- package/dist/tools/plugins.d.ts.map +1 -1
- package/dist/tools/plugins.js +1 -0
- package/dist/tools/plugins.js.map +1 -1
- package/dist/tools/reminders.d.ts +4 -4
- package/dist/tools/search.d.ts +2 -2
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +32 -4
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/tasks.d.ts +10 -10
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +14 -27
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/templates.d.ts +130 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +217 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/templates.test.d.ts +2 -0
- package/dist/tools/templates.test.d.ts.map +1 -0
- package/dist/tools/templates.test.js +48 -0
- package/dist/tools/templates.test.js.map +1 -0
- package/dist/tools/ui.d.ts +2 -0
- package/dist/tools/ui.d.ts.map +1 -1
- package/dist/tools/ui.js +24 -0
- package/dist/tools/ui.js.map +1 -1
- package/dist/utils/applescript.d.ts.map +1 -1
- package/dist/utils/applescript.js +21 -0
- package/dist/utils/applescript.js.map +1 -1
- package/dist/utils/confirmation-tokens.test.d.ts +2 -0
- package/dist/utils/confirmation-tokens.test.d.ts.map +1 -0
- package/dist/utils/confirmation-tokens.test.js +159 -0
- package/dist/utils/confirmation-tokens.test.js.map +1 -0
- package/dist/utils/version.d.ts +3 -0
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +71 -23
- package/dist/utils/version.js.map +1 -1
- package/docs/templates.db.gz +0 -0
- package/docs/x-callback-url.md +318 -0
- package/package.json +1 -1
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# NotePlan x-callback-url Reference
|
|
2
|
+
|
|
3
|
+
NotePlan supports the `noteplan://x-callback-url/` URL scheme for automation, deep linking, and integration with other apps. These URLs work on both macOS and iOS.
|
|
4
|
+
|
|
5
|
+
## Base URL Format
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
noteplan://x-callback-url/<action>?<param1>=<value1>&<param2>=<value2>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
All parameter values must be **percent-encoded** (URL-encoded). Use `%20` for spaces, `%0A` for newlines, `%23` for `#`, etc.
|
|
12
|
+
|
|
13
|
+
## x-callback-url Support
|
|
14
|
+
|
|
15
|
+
All actions support the standard [x-callback-url](http://x-callback-url.com) parameters:
|
|
16
|
+
- **x-success** — URL to open when the action completes successfully. For `noteInfo`, the callback receives `?path=<path>&name=<name>`.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Note Targeting Parameters
|
|
21
|
+
|
|
22
|
+
Many actions need to identify which note to act on. Use **one** of these parameters:
|
|
23
|
+
|
|
24
|
+
| Parameter | Description | Example |
|
|
25
|
+
|-----------|-------------|---------|
|
|
26
|
+
| `noteDate` | Date of a calendar note. Accepts `YYYYMMDD`, `YYYY-MM-DD`, `today`, `tomorrow`, `yesterday` | `noteDate=20250217` |
|
|
27
|
+
| `noteTitle` | Title of a project note (case-sensitive by default) | `noteTitle=My%20Note` |
|
|
28
|
+
| `fileName` | Filename/path of a note (with extension) | `fileName=Projects/todo.md` |
|
|
29
|
+
| `id` | Supabase note ID | `id=abc123` |
|
|
30
|
+
|
|
31
|
+
Additional targeting options:
|
|
32
|
+
- **caseSensitive** — `true` (default) or `false`, applies to `noteTitle` lookups
|
|
33
|
+
- **heading** / **subheading** — Jump to a specific heading within the note
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Actions
|
|
38
|
+
|
|
39
|
+
### openNote
|
|
40
|
+
|
|
41
|
+
Open an existing note. If the note doesn't exist, it creates one (using `noteTitle` as the title).
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
noteplan://x-callback-url/openNote?noteTitle=Meeting%20Notes
|
|
45
|
+
noteplan://x-callback-url/openNote?noteDate=today
|
|
46
|
+
noteplan://x-callback-url/openNote?fileName=Projects/roadmap.md
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
| Parameter | Description |
|
|
50
|
+
|-----------|-------------|
|
|
51
|
+
| `noteDate` / `noteTitle` / `fileName` | Which note to open (see Note Targeting) |
|
|
52
|
+
| `heading` | Scroll to and highlight this heading |
|
|
53
|
+
| `subWindow` | `yes` to open in a new window (macOS) |
|
|
54
|
+
| `splitView` | `yes` to open in split view (macOS) |
|
|
55
|
+
| `reuseSplitView` | `yes` to reuse an existing split view |
|
|
56
|
+
| `useExistingSubWindow` | `yes` to reuse an existing sub window (macOS) |
|
|
57
|
+
| `view` | `daily` or `week` — override the view for calendar notes (macOS) |
|
|
58
|
+
| `timeframe` | `day`, `week`, `month`, `quarter`, `year` |
|
|
59
|
+
| `parent` | Teamspace/space parent identifier |
|
|
60
|
+
| `stayInSpace` | `yes` to stay in the current teamspace context |
|
|
61
|
+
| `highlightStart` | Character offset to highlight |
|
|
62
|
+
| `highlightLength` | Length of highlight range |
|
|
63
|
+
| `editorID` | Target a specific editor pane |
|
|
64
|
+
| `showEventsOnly` | `yes` to show only calendar events (iOS) |
|
|
65
|
+
| `shouldOpenTrashedNotes` | `yes` to allow opening trashed notes |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### addText
|
|
70
|
+
|
|
71
|
+
Append or prepend text to an existing note.
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
noteplan://x-callback-url/addText?noteDate=today&text=*%20Buy%20groceries&mode=append&openNote=no
|
|
75
|
+
noteplan://x-callback-url/addText?noteTitle=Journal&text=Had%20a%20great%20day&mode=append
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
| Parameter | Required | Description |
|
|
79
|
+
|-----------|----------|-------------|
|
|
80
|
+
| `noteDate` / `noteTitle` / `fileName` | Yes | Which note to modify |
|
|
81
|
+
| `text` | Yes | The text to add (percent-encoded) |
|
|
82
|
+
| `mode` | No | `append` (default) or `prepend` |
|
|
83
|
+
| `openNote` | No | `yes` to open the note after adding text, `no` (default) to stay in current app |
|
|
84
|
+
|
|
85
|
+
**Tips:**
|
|
86
|
+
- Use `%0A` for newlines in the text parameter
|
|
87
|
+
- Prefix tasks with `*%20` for bullet/task format (e.g., `text=*%20My%20task`)
|
|
88
|
+
- Use `mode=prepend` to add at the top of the note (after the heading for calendar notes)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### addNote
|
|
93
|
+
|
|
94
|
+
Create a new project note.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
noteplan://x-callback-url/addNote?noteTitle=Weekly%20Review&text=##%20Wins&openNote=yes
|
|
98
|
+
noteplan://x-callback-url/addNote?noteTitle=Meeting&text=Attendees&folder=Work
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
| Parameter | Required | Description |
|
|
102
|
+
|-----------|----------|-------------|
|
|
103
|
+
| `noteTitle` | Yes | Title for the new note (a `#` heading is auto-prepended if missing) |
|
|
104
|
+
| `text` | No | Body content of the note |
|
|
105
|
+
| `folder` | No | Folder to create the note in (e.g., `Projects`, `Work/Active`) |
|
|
106
|
+
| `openNote` | No | `yes` to open after creation |
|
|
107
|
+
| `subWindow` | No | `yes` to open in a new window (macOS) |
|
|
108
|
+
| `splitView` | No | `yes` to open in split view (macOS) |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### addQuickTask (iOS only)
|
|
113
|
+
|
|
114
|
+
Opens the quick-add task editor, optionally pre-targeted to a specific note.
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
noteplan://x-callback-url/addQuickTask?destination=today
|
|
118
|
+
noteplan://x-callback-url/addQuickTask?destination=tomorrow&heading=Tasks&position=beginning
|
|
119
|
+
noteplan://x-callback-url/addQuickTask?destination=customnote¬eTitle=Inbox
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
| Parameter | Required | Description |
|
|
123
|
+
|-----------|----------|-------------|
|
|
124
|
+
| `destination` | No | `today` (default), `tomorrow`, `yesterday`, `thisWeek`, `nextWeek`, `thisMonth`, `nextMonth`, `thisQuarter`, `nextQuarter`, `thisYear`, `nextYear`, or `customnote` |
|
|
125
|
+
| `timeframe` | No | `day` (default), `week`, `month`, `quarter`, `year` — sets the note timeframe |
|
|
126
|
+
| `noteTitle` | No | Required when `destination=customnote` — the project note title |
|
|
127
|
+
| `heading` | No | Target heading section in the note |
|
|
128
|
+
| `position` | No | `beginning` (default) or `end` |
|
|
129
|
+
| `content` | No | Pre-fill the task content |
|
|
130
|
+
| `input` | No | `text` (default), `voice`, or `drawing` |
|
|
131
|
+
| `lineType` | No | `task` (default), `bullet`, `quote`, `empty`, `checklist` |
|
|
132
|
+
| `skipPostProcessing` | No | `true` (default) or `false` — skip AI post-processing for voice |
|
|
133
|
+
| `postProcessing` | No | Pre-selected post-processing mode for voice |
|
|
134
|
+
| `fast` | No | `true` to skip cache loading (used by widgets) |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### deleteNote
|
|
139
|
+
|
|
140
|
+
Move a note to trash (project notes) or clear content (calendar notes).
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
noteplan://x-callback-url/deleteNote?noteTitle=Old%20Note
|
|
144
|
+
noteplan://x-callback-url/deleteNote?noteDate=20250101
|
|
145
|
+
noteplan://x-callback-url/deleteNote?fileName=Projects/archive.md
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
| Parameter | Required | Description |
|
|
149
|
+
|-----------|----------|-------------|
|
|
150
|
+
| `noteDate` / `noteTitle` / `fileName` | Yes | Which note to delete |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### search
|
|
155
|
+
|
|
156
|
+
Open the search view with a keyword or open a saved filter.
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
noteplan://x-callback-url/search?text=meeting%20notes&view=calendar
|
|
160
|
+
noteplan://x-callback-url/search?filter=Overdue%20Tasks
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
| Parameter | Required | Description |
|
|
164
|
+
|-----------|----------|-------------|
|
|
165
|
+
| `text` | No* | Search keyword |
|
|
166
|
+
| `filter` | No* | Name of a saved filter/review to open |
|
|
167
|
+
| `view` | No | `calendar` or `notes` — which view to search in |
|
|
168
|
+
|
|
169
|
+
*One of `text` or `filter` is required.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### selectTag
|
|
174
|
+
|
|
175
|
+
Filter notes by a tag (hashtag or mention).
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
noteplan://x-callback-url/selectTag?name=%23project
|
|
179
|
+
noteplan://x-callback-url/selectTag?name=%40waiting
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
| Parameter | Required | Description |
|
|
183
|
+
|-----------|----------|-------------|
|
|
184
|
+
| `name` | Yes | The tag to filter by, including the `#` or `@` prefix |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### runPlugin
|
|
189
|
+
|
|
190
|
+
Execute a plugin command.
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
noteplan://x-callback-url/runPlugin?pluginID=jgclark.NoteHelpers&command=jump%20to%20heading
|
|
194
|
+
noteplan://x-callback-url/runPlugin?pluginID=my.plugin&command=doThing&arg0=hello&arg1=world
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
| Parameter | Required | Description |
|
|
198
|
+
|-----------|----------|-------------|
|
|
199
|
+
| `pluginID` | Yes | The plugin identifier |
|
|
200
|
+
| `command` | Yes | The command name to execute |
|
|
201
|
+
| `arg0`, `arg1`, ... | No | Positional arguments passed to the plugin command |
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### installPlugin
|
|
206
|
+
|
|
207
|
+
Install or update a plugin from the online repository.
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
noteplan://x-callback-url/installPlugin?plugin_id=jgclark.NoteHelpers
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
| Parameter | Required | Description |
|
|
214
|
+
|-----------|----------|-------------|
|
|
215
|
+
| `plugin_id` | Yes | Plugin ID to install (also accepts `pluginID`, `pluginId`, `id`) |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### openView
|
|
220
|
+
|
|
221
|
+
Open a named view in NotePlan.
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
noteplan://x-callback-url/openView?name=review
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
| Parameter | Required | Description |
|
|
228
|
+
|-----------|----------|-------------|
|
|
229
|
+
| `name` | Yes | The view name to open |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
### toggleSidebar
|
|
234
|
+
|
|
235
|
+
Toggle sidebar visibility.
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
noteplan://x-callback-url/toggleSidebar
|
|
239
|
+
noteplan://x-callback-url/toggleSidebar?forceCollapse=yes
|
|
240
|
+
noteplan://x-callback-url/toggleSidebar?forceOpen=yes
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
| Parameter | Required | Description |
|
|
244
|
+
|-----------|----------|-------------|
|
|
245
|
+
| `forceCollapse` | No | `yes` to force the sidebar closed |
|
|
246
|
+
| `forceOpen` | No | `yes` to force the sidebar open |
|
|
247
|
+
| `animated` | No | `no` to skip animation |
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
### setTheme
|
|
252
|
+
|
|
253
|
+
Set the active theme.
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
noteplan://x-callback-url/setTheme?name=Nord&mode=dark
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
| Parameter | Required | Description |
|
|
260
|
+
|-----------|----------|-------------|
|
|
261
|
+
| `name` | Yes | Theme filename |
|
|
262
|
+
| `mode` | No | `light`, `dark`, or `auto` (default) |
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### closePluginWindow (macOS only)
|
|
267
|
+
|
|
268
|
+
Close plugin HTML windows.
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
noteplan://x-callback-url/closePluginWindow?windowID=my-window
|
|
272
|
+
noteplan://x-callback-url/closePluginWindow?title=Dashboard
|
|
273
|
+
noteplan://x-callback-url/closePluginWindow
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
| Parameter | Required | Description |
|
|
277
|
+
|-----------|----------|-------------|
|
|
278
|
+
| `windowID` | No | Specific window ID to close |
|
|
279
|
+
| `title` | No | Close window matching this title |
|
|
280
|
+
|
|
281
|
+
If no parameters are given, **all** plugin windows are closed.
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### noteInfo
|
|
286
|
+
|
|
287
|
+
Returns information about the currently open note via the `x-success` callback.
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
noteplan://x-callback-url/noteInfo?x-success=myapp://callback
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
The `x-success` URL receives `?path=<encoded_path>&name=<encoded_name>`.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Encoding Examples
|
|
298
|
+
|
|
299
|
+
| Content | Encoded |
|
|
300
|
+
|---------|---------|
|
|
301
|
+
| `Buy groceries` | `Buy%20groceries` |
|
|
302
|
+
| `# Heading` | `%23%20Heading` |
|
|
303
|
+
| Newline | `%0A` |
|
|
304
|
+
| `Task & notes` | `Task%20%26%20notes` |
|
|
305
|
+
| `[Link](url)` | `%5BLink%5D(url)` |
|
|
306
|
+
|
|
307
|
+
### Multi-line text example
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
noteplan://x-callback-url/addText?noteDate=today&text=%23%23%20Morning%0A-%20Coffee%0A-%20Read%20news&mode=prepend&openNote=no
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
This prepends to today's note:
|
|
314
|
+
```
|
|
315
|
+
## Morning
|
|
316
|
+
- Coffee
|
|
317
|
+
- Read news
|
|
318
|
+
```
|