mcp-macos 2.0.2 → 2.0.4

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 CHANGED
@@ -4,7 +4,15 @@
4
4
 
5
5
  A Model Context Protocol (MCP) server that gives Claude genuine access to your macOS personal data — **Reminders**, **Calendar**, **Notes**, **Mail**, **Messages**, and **Contacts**. Six apps, working together: ask Claude about tomorrow's meeting and it pulls the calendar event, finds related emails, and creates a prep note — from your phone, your desktop, or the web.
6
6
 
7
- Use with Claude Desktop locally, or Claude iOS/web remotely via Cloudflare Tunnel.
7
+ Use with Claude Desktop locally, or Claude iOS/web remotely via Cloudflare Tunnel. **Requires a Mac** — for always-on remote access, a Mac Mini or Mac Studio is recommended.
8
+
9
+ <div align="center">
10
+ <h3>One prompt. Three apps. Real data.</h3>
11
+
12
+ <img src="https://github.com/user-attachments/assets/81ac3db6-0b1c-4312-a93f-5808f14f939b" alt="Demo: Claude reading iMessages, searching Mail, and pulling Contacts from an iPhone" width="350" />
13
+
14
+ <em>Claude reading iMessages, searching Mail, and pulling Contacts — from an iPhone, via Cloudflare Tunnel to a Mac Mini.</em>
15
+ </div>
8
16
 
9
17
  ## Quick Start
10
18
 
@@ -4,6 +4,13 @@
4
4
  */
5
5
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
6
6
  import type { NotesFoldersToolArgs, NotesToolArgs } from '../../types/index.js';
7
+ /**
8
+ * Converts plain text to HTML for Apple Notes' body property.
9
+ * Apple Notes stores body as HTML — assigning plain text collapses newlines.
10
+ * This converts \n to <br> (which Apple normalizes to <div> elements)
11
+ * and escapes HTML entities to prevent injection.
12
+ */
13
+ export declare function plainTextToHtml(text: string): string;
7
14
  export declare function handleReadNotes(args: NotesToolArgs): Promise<CallToolResult>;
8
15
  export declare function handleCreateNote(args: NotesToolArgs): Promise<CallToolResult>;
9
16
  export declare function handleUpdateNote(args: NotesToolArgs): Promise<CallToolResult>;
@@ -7,6 +7,21 @@ import { handleAsyncOperation } from '../../utils/errorHandling.js';
7
7
  import { buildScript, executeJxa, executeJxaWithRetry, sanitizeForJxa, } from '../../utils/jxaExecutor.js';
8
8
  import { CreateNoteSchema, CreateNotesFolderSchema, DeleteNoteSchema, ReadNotesSchema, UpdateNoteSchema, } from '../../validation/schemas.js';
9
9
  import { extractAndValidateArgs, formatListMarkdown } from './shared.js';
10
+ /**
11
+ * Converts plain text to HTML for Apple Notes' body property.
12
+ * Apple Notes stores body as HTML — assigning plain text collapses newlines.
13
+ * This converts \n to <br> (which Apple normalizes to <div> elements)
14
+ * and escapes HTML entities to prevent injection.
15
+ */
16
+ export function plainTextToHtml(text) {
17
+ if (!text)
18
+ return '';
19
+ return text
20
+ .replace(/&/g, '&amp;')
21
+ .replace(/</g, '&lt;')
22
+ .replace(/>/g, '&gt;')
23
+ .replace(/\r\n|\r|\n/g, '<br>');
24
+ }
10
25
  // --- JXA Script Templates ---
11
26
  const LIST_NOTES_SCRIPT = `
12
27
  (() => {
@@ -108,10 +123,10 @@ const APPEND_NOTE_SCRIPT = `
108
123
  if (notes.length === 0) throw new Error("Note not found");
109
124
  const n = notes[0];
110
125
  const titleToSet = "{{hasName}}" === "true" ? "{{newName}}" : n.name();
111
- const existing = n.plaintext();
112
- const combined = existing + "\\n" + "{{newBody}}";
113
- if (combined.length > {{maxBodyLength}}) throw new Error("Combined note body exceeds {{maxBodyLength}} characters (existing: " + existing.length + " + new: " + "{{newBody}}".length + " = " + combined.length + ")");
114
- n.body = combined;
126
+ const existingPlain = n.plaintext();
127
+ if (existingPlain.length + {{rawNewBodyLength}} + 1 > {{maxBodyLength}}) throw new Error("Combined note body exceeds {{maxBodyLength}} characters (existing: " + existingPlain.length + " + new: " + {{rawNewBodyLength}} + ")");
128
+ const existingHtml = n.body();
129
+ n.body = existingHtml + "<br>" + "{{newBody}}";
115
130
  n.name = titleToSet;
116
131
  %%moveToFolder%%
117
132
  return JSON.stringify({id: n.id(), name: n.name(), folder: n.container().name()});
@@ -237,7 +252,7 @@ export async function handleCreateNote(args) {
237
252
  const validated = extractAndValidateArgs(args, CreateNoteSchema);
238
253
  const script = buildScript(CREATE_NOTE_SCRIPT, {
239
254
  title: validated.title,
240
- body: validated.body ?? '',
255
+ body: plainTextToHtml(validated.body ?? ''),
241
256
  folder: validated.folder ?? 'Notes',
242
257
  });
243
258
  const result = await executeJxa(script, 10000, 'Notes');
@@ -258,12 +273,13 @@ export async function handleUpdateNote(args) {
258
273
  newName: validated.title ?? '',
259
274
  };
260
275
  if (useAppend) {
261
- scriptParams.newBody = validated.body ?? '';
276
+ scriptParams.newBody = plainTextToHtml(validated.body ?? '');
277
+ scriptParams.rawNewBodyLength = String((validated.body ?? '').length);
262
278
  scriptParams.maxBodyLength = String(VALIDATION.MAX_NOTE_LENGTH);
263
279
  }
264
280
  else {
265
281
  scriptParams.hasBody = validated.body !== undefined ? 'true' : 'false';
266
- scriptParams.newBody = validated.body ?? '';
282
+ scriptParams.newBody = plainTextToHtml(validated.body ?? '');
267
283
  }
268
284
  // Build script with data fields (sanitized by buildScript)
269
285
  // moveToFolder uses %% placeholder to avoid double-sanitization (contains pre-sanitized JXA code)
@@ -1 +1 @@
1
- {"version":3,"file":"notesHandlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/notesHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notesHandlers.js","sourceRoot":"","sources":["../../../src/tools/handlers/notesHandlers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-macos",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "description": "MCP server that provides native integration with Apple Reminders, Calendar, Notes, Mail, and Messages on macOS.",
5
5
  "author": "Kyle Jensen",
6
6
  "contributors": [
@@ -68,19 +68,19 @@
68
68
  "exit-on-epipe": "^1.0.1",
69
69
  "express": "^5.2.1",
70
70
  "express-rate-limit": "^8.2.1",
71
- "hono": "^4.11.8",
71
+ "hono": "^4.11.9",
72
72
  "jose": "^6.1.3",
73
73
  "tsx": "^4.21.0",
74
74
  "zod": "^4.3.6"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@babel/preset-env": "^7.29.0",
78
- "@biomejs/biome": "2.3.14",
78
+ "@biomejs/biome": "2.3.15",
79
79
  "@semantic-release/changelog": "^6.0.3",
80
80
  "@semantic-release/git": "^10.0.1",
81
81
  "@types/express": "^5.0.6",
82
82
  "@types/jest": "^30.0.0",
83
- "@types/node": "^25.2.1",
83
+ "@types/node": "^25.2.3",
84
84
  "@types/supertest": "^6.0.3",
85
85
  "babel-jest": "^30.2.0",
86
86
  "babel-plugin-transform-import-meta": "^2.3.3",