@noteplanco/noteplan-mcp 1.1.7 → 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.
Files changed (60) hide show
  1. package/dist/noteplan/embeddings.d.ts +8 -0
  2. package/dist/noteplan/embeddings.d.ts.map +1 -1
  3. package/dist/noteplan/embeddings.js +3 -3
  4. package/dist/noteplan/embeddings.js.map +1 -1
  5. package/dist/noteplan/file-reader.d.ts +6 -0
  6. package/dist/noteplan/file-reader.d.ts.map +1 -1
  7. package/dist/noteplan/file-reader.js +15 -0
  8. package/dist/noteplan/file-reader.js.map +1 -1
  9. package/dist/noteplan/file-writer.d.ts.map +1 -1
  10. package/dist/noteplan/file-writer.js +13 -1
  11. package/dist/noteplan/file-writer.js.map +1 -1
  12. package/dist/noteplan/file-writer.test.js +4 -0
  13. package/dist/noteplan/file-writer.test.js.map +1 -1
  14. package/dist/noteplan/frontmatter-parser.d.ts +2 -2
  15. package/dist/noteplan/frontmatter-parser.d.ts.map +1 -1
  16. package/dist/noteplan/frontmatter-parser.js +9 -12
  17. package/dist/noteplan/frontmatter-parser.js.map +1 -1
  18. package/dist/noteplan/frontmatter-parser.test.js +92 -0
  19. package/dist/noteplan/frontmatter-parser.test.js.map +1 -1
  20. package/dist/noteplan/markdown-parser.d.ts.map +1 -1
  21. package/dist/noteplan/markdown-parser.js +4 -2
  22. package/dist/noteplan/markdown-parser.js.map +1 -1
  23. package/dist/noteplan/markdown-parser.test.js +37 -0
  24. package/dist/noteplan/markdown-parser.test.js.map +1 -1
  25. package/dist/noteplan/template-docs.d.ts +35 -0
  26. package/dist/noteplan/template-docs.d.ts.map +1 -0
  27. package/dist/noteplan/template-docs.js +184 -0
  28. package/dist/noteplan/template-docs.js.map +1 -0
  29. package/dist/noteplan/unified-store.d.ts +2 -0
  30. package/dist/noteplan/unified-store.d.ts.map +1 -1
  31. package/dist/noteplan/unified-store.js +22 -6
  32. package/dist/noteplan/unified-store.js.map +1 -1
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +275 -55
  35. package/dist/server.js.map +1 -1
  36. package/dist/tools/calendar.d.ts +2 -2
  37. package/dist/tools/notes.d.ts +81 -22
  38. package/dist/tools/notes.d.ts.map +1 -1
  39. package/dist/tools/notes.js +267 -21
  40. package/dist/tools/notes.js.map +1 -1
  41. package/dist/tools/notes.test.js +202 -0
  42. package/dist/tools/notes.test.js.map +1 -1
  43. package/dist/tools/plugins.d.ts.map +1 -1
  44. package/dist/tools/plugins.js +1 -0
  45. package/dist/tools/plugins.js.map +1 -1
  46. package/dist/tools/search.d.ts +2 -2
  47. package/dist/tools/search.d.ts.map +1 -1
  48. package/dist/tools/search.js +32 -4
  49. package/dist/tools/search.js.map +1 -1
  50. package/dist/tools/templates.d.ts +64 -3
  51. package/dist/tools/templates.d.ts.map +1 -1
  52. package/dist/tools/templates.js +73 -1
  53. package/dist/tools/templates.js.map +1 -1
  54. package/dist/utils/version.d.ts +1 -0
  55. package/dist/utils/version.d.ts.map +1 -1
  56. package/dist/utils/version.js +67 -23
  57. package/dist/utils/version.js.map +1 -1
  58. package/docs/templates.db.gz +0 -0
  59. package/docs/x-callback-url.md +318 -0
  60. package/package.json +1 -1
@@ -3,14 +3,19 @@ import { z } from 'zod';
3
3
  import * as store from '../noteplan/unified-store.js';
4
4
  import { runAppleScript, escapeAppleScript, APP_NAME } from '../utils/applescript.js';
5
5
  import { getNotePlanVersion, MIN_BUILD_RENDER_TEMPLATE } from '../utils/version.js';
6
+ import { tryEmbedQuery, searchTemplateDocs, textSearchTemplateDocs, getDocChunk } from '../noteplan/template-docs.js';
6
7
  export const templatesSchema = z.object({
7
- action: z.enum(['list', 'render']).describe('Action to perform'),
8
+ action: z.enum(['list', 'render', 'search_docs', 'get_doc']).describe('Action to perform'),
8
9
  templateTitle: z.string().optional().describe('Template title — used by render (loads a saved template by title)'),
9
10
  content: z.string().optional().describe('Raw template content string — used by render (renders arbitrary template code for debugging)'),
10
11
  folder: z.string().optional().describe('Template subfolder — used by list (default: @Templates)'),
11
12
  limit: z.number().min(1).max(200).optional().default(50).describe('Maximum results — used by list'),
12
13
  offset: z.number().min(0).optional().default(0).describe('Pagination offset — used by list'),
13
14
  cursor: z.string().optional().describe('Cursor from previous page — used by list'),
15
+ query: z.string().optional().describe('Search query — used by search_docs'),
16
+ includeContent: z.boolean().optional().describe('Include full chunk text in results — used by search_docs'),
17
+ noteTitle: z.string().optional().describe('Doc note title — used by get_doc (from search_docs results)'),
18
+ chunkIndex: z.number().optional().describe('Chunk index — used by get_doc (from search_docs results, default 0)'),
14
19
  });
15
20
  // ── Frontmatter helpers ──
16
21
  function extractFrontmatter(content) {
@@ -62,6 +67,7 @@ export function listTemplates(params) {
62
67
  const nextCursor = hasMore ? String(offset + page.length) : null;
63
68
  return {
64
69
  success: true,
70
+ tip: 'Before writing or editing templates, use action "search_docs" with a query to search the built-in documentation for syntax, helpers, DataStore API, and examples.',
65
71
  count: page.length,
66
72
  totalCount: notes.length,
67
73
  offset,
@@ -115,6 +121,7 @@ export function renderTemplate(params) {
115
121
  if (parsed.success === true) {
116
122
  return {
117
123
  success: true,
124
+ tip: 'Use action "search_docs" with a query to search the built-in documentation for template syntax, helpers, DataStore API, and examples.',
118
125
  renderedContent: parsed.rendered ?? raw,
119
126
  source: content ? 'raw_content' : 'saved_template',
120
127
  templateTitle: templateTitle || undefined,
@@ -142,4 +149,69 @@ export function renderTemplate(params) {
142
149
  };
143
150
  }
144
151
  }
152
+ // ── Get full doc chunk ──
153
+ export function getDoc(params) {
154
+ const noteTitle = params.noteTitle?.trim();
155
+ if (!noteTitle) {
156
+ return { success: false, error: 'noteTitle is required for get_doc' };
157
+ }
158
+ const chunkIndex = params.chunkIndex ?? 0;
159
+ const chunk = getDocChunk(noteTitle, chunkIndex);
160
+ if (!chunk) {
161
+ return {
162
+ success: false,
163
+ error: `No doc chunk found for noteTitle="${noteTitle}" chunkIndex=${chunkIndex}`,
164
+ };
165
+ }
166
+ return {
167
+ success: true,
168
+ noteTitle: chunk.noteTitle,
169
+ chunkIndex: chunk.chunkIndex,
170
+ totalChunks: chunk.totalChunks,
171
+ content: chunk.content,
172
+ };
173
+ }
174
+ // ── Search template docs ──
175
+ export async function searchDocs(params) {
176
+ const query = params.query?.trim();
177
+ if (!query) {
178
+ return {
179
+ success: false,
180
+ error: 'query is required for search_docs',
181
+ };
182
+ }
183
+ const searchOptions = {
184
+ limit: params.limit ?? 5,
185
+ includeContent: params.includeContent,
186
+ };
187
+ try {
188
+ const embedResult = await tryEmbedQuery(query);
189
+ if (embedResult.ok) {
190
+ // Semantic search using embeddings
191
+ const matches = searchTemplateDocs(embedResult.vector, searchOptions);
192
+ return {
193
+ success: true,
194
+ query,
195
+ count: matches.length,
196
+ embeddingSource: embedResult.source,
197
+ matches,
198
+ };
199
+ }
200
+ // No embedding source available — fall back to text search
201
+ const matches = textSearchTemplateDocs(query, searchOptions);
202
+ return {
203
+ success: true,
204
+ query,
205
+ count: matches.length,
206
+ embeddingSource: 'text',
207
+ matches,
208
+ };
209
+ }
210
+ catch (error) {
211
+ return {
212
+ success: false,
213
+ error: error instanceof Error ? error.message : 'Template doc search failed',
214
+ };
215
+ }
216
+ }
145
217
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/tools/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/tools/templates.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface NotePlanVersion {
5
5
  }
6
6
  export declare const MIN_BUILD_ADVANCED_FEATURES = 1300;
7
7
  export declare const MIN_BUILD_RENDER_TEMPLATE = 1400;
8
+ export declare const MIN_BUILD_EMBED_TEXT = 1490;
8
9
  export declare const MIN_BUILD_CREATE_BACKUP = 1492;
9
10
  export declare function getNotePlanVersion(forceRefresh?: boolean): NotePlanVersion;
10
11
  export declare function isAdvancedFeaturesAvailable(forceRefresh?: boolean): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;CAC7C;AAGD,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAG9C,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAmE5C,wBAAgB,kBAAkB,CAAC,YAAY,UAAQ,GAAG,eAAe,CAUxE;AAED,wBAAgB,2BAA2B,CAAC,YAAY,UAAQ,GAAG,OAAO,CAGzE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;CAC7C;AAGD,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAG9C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAGzC,eAAO,MAAM,uBAAuB,OAAO,CAAC;AA6G5C,wBAAgB,kBAAkB,CAAC,YAAY,UAAQ,GAAG,eAAe,CAUxE;AAED,wBAAgB,2BAA2B,CAAC,YAAY,UAAQ,GAAG,OAAO,CAGzE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAgB,mBAAmB,IAAI,MAAM,CAU5C"}
@@ -6,47 +6,91 @@ import * as path from 'path';
6
6
  export const MIN_BUILD_ADVANCED_FEATURES = 1300;
7
7
  // Build that ships the renderTemplate AppleScript command
8
8
  export const MIN_BUILD_RENDER_TEMPLATE = 1400;
9
+ // Build that ships the embedText AppleScript command
10
+ export const MIN_BUILD_EMBED_TEXT = 1490;
9
11
  // Build that ships the createBackup AppleScript command
10
12
  export const MIN_BUILD_CREATE_BACKUP = 1492;
11
13
  const CACHE_TTL_MS = 60_000;
12
14
  let cachedVersion = null;
13
15
  let cachedAt = 0;
16
+ // AppleScript may resolve the app by CFBundleName or by .app filename depending on macOS version.
17
+ // MAS installs can use the store marketing name as the .app folder name, so we try multiple names.
18
+ const APPLESCRIPT_APP_NAMES = [
19
+ 'NotePlan',
20
+ 'NotePlan 3',
21
+ 'NotePlan - To-Do List & Notes',
22
+ ];
14
23
  function detectViaAppleScript() {
15
- try {
16
- // Check if NotePlan is running first to avoid launching it as a side effect
17
- const isRunning = execFileSync('osascript', ['-e', 'application "NotePlan" is running'], {
18
- encoding: 'utf-8',
19
- stdio: ['pipe', 'pipe', 'pipe'],
20
- timeout: 3_000,
21
- }).trim();
22
- if (isRunning !== 'true')
23
- return null;
24
- const raw = execFileSync('osascript', ['-e', 'tell application "NotePlan" to getVersion'], {
25
- encoding: 'utf-8',
26
- stdio: ['pipe', 'pipe', 'pipe'],
27
- timeout: 5_000,
28
- }).trim();
29
- const parsed = JSON.parse(raw);
30
- if (typeof parsed.version === 'string' && typeof parsed.build === 'number') {
31
- return { version: parsed.version, build: parsed.build, source: 'applescript' };
24
+ for (const appName of APPLESCRIPT_APP_NAMES) {
25
+ try {
26
+ const isRunning = execFileSync('osascript', ['-e', `application "${appName}" is running`], {
27
+ encoding: 'utf-8',
28
+ stdio: ['pipe', 'pipe', 'pipe'],
29
+ timeout: 3_000,
30
+ }).trim();
31
+ if (isRunning !== 'true')
32
+ continue;
33
+ const raw = execFileSync('osascript', ['-e', `tell application "${appName}" to getVersion`], {
34
+ encoding: 'utf-8',
35
+ stdio: ['pipe', 'pipe', 'pipe'],
36
+ timeout: 5_000,
37
+ }).trim();
38
+ const parsed = JSON.parse(raw);
39
+ if (typeof parsed.version === 'string' && typeof parsed.build === 'number') {
40
+ return { version: parsed.version, build: parsed.build, source: 'applescript' };
41
+ }
42
+ }
43
+ catch (err) {
44
+ const msg = err instanceof Error ? err.message : String(err);
45
+ console.error(`[noteplan-mcp] AppleScript detection failed for "${appName}": ${msg}`);
46
+ if (msg.includes('not allowed') || msg.includes('permission') || msg.includes('1743') || msg.includes('assistive')) {
47
+ console.error('[noteplan-mcp] Hint: The parent app (e.g. Claude Desktop, Terminal) may need Automation permission for NotePlan. Check System Settings > Privacy & Security > Automation.');
48
+ return null; // Permission issue — no point trying other names
49
+ }
32
50
  }
33
51
  }
34
- catch {
35
- // App not running or command not available
36
- }
52
+ console.error('[noteplan-mcp] AppleScript: NotePlan not found running under any known name.');
37
53
  return null;
38
54
  }
39
55
  const KNOWN_APP_PATHS = [
40
56
  '/Applications/NotePlan 3.app',
41
57
  '/Applications/NotePlan.app',
58
+ '/Applications/NotePlan - To-Do List & Notes.app',
42
59
  path.join(process.env.HOME ?? '', 'Applications/NotePlan 3.app'),
43
60
  path.join(process.env.HOME ?? '', 'Applications/NotePlan.app'),
61
+ path.join(process.env.HOME ?? '', 'Applications/NotePlan - To-Do List & Notes.app'),
44
62
  // Setapp
45
63
  '/Applications/Setapp/NotePlan 3.app',
46
64
  '/Applications/Setapp/NotePlan.app',
47
65
  ];
48
66
  function detectViaPlist() {
49
- for (const appPath of KNOWN_APP_PATHS) {
67
+ // First try hardcoded known paths
68
+ const result = readVersionFromAppPath(KNOWN_APP_PATHS);
69
+ if (result)
70
+ return result;
71
+ // Fallback: use mdfind (Spotlight) to locate the app bundle dynamically
72
+ console.error(`[noteplan-mcp] Plist: app not found at known paths, trying mdfind...`);
73
+ try {
74
+ const mdfindResult = execFileSync('mdfind', ['kMDItemCFBundleIdentifier == "co.noteplan.NotePlan3" || kMDItemCFBundleIdentifier == "co.noteplan.NotePlan-setapp" || kMDItemCFBundleIdentifier == "co.noteplan.NotePlan"'], {
75
+ encoding: 'utf-8',
76
+ stdio: ['pipe', 'pipe', 'pipe'],
77
+ timeout: 5_000,
78
+ }).trim();
79
+ if (mdfindResult) {
80
+ const discoveredPaths = mdfindResult.split('\n').filter(Boolean);
81
+ console.error(`[noteplan-mcp] mdfind discovered: ${discoveredPaths.join(', ')}`);
82
+ const found = readVersionFromAppPath(discoveredPaths);
83
+ if (found)
84
+ return found;
85
+ }
86
+ }
87
+ catch (err) {
88
+ console.error(`[noteplan-mcp] mdfind fallback failed: ${err instanceof Error ? err.message : String(err)}`);
89
+ }
90
+ return null;
91
+ }
92
+ function readVersionFromAppPath(appPaths) {
93
+ for (const appPath of appPaths) {
50
94
  const plistPath = path.join(appPath, 'Contents/Info.plist');
51
95
  if (!fs.existsSync(plistPath))
52
96
  continue;
@@ -66,8 +110,8 @@ function detectViaPlist() {
66
110
  return { version, build, source: 'plist' };
67
111
  }
68
112
  }
69
- catch {
70
- // plist read failed for this path, try next
113
+ catch (err) {
114
+ console.error(`[noteplan-mcp] Plist read failed for ${appPath}: ${err instanceof Error ? err.message : String(err)}`);
71
115
  }
72
116
  }
73
117
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
Binary file
@@ -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&noteTitle=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
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noteplanco/noteplan-mcp",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "description": "MCP server for NotePlan note and task management",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",