apple-notes-mcp 2.7.4 → 2.8.0

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.
@@ -60,8 +60,8 @@ the MCP runtime from your Homebrew/dev Node, which can keep updating freely.
60
60
  curl -O https://nodejs.org/dist/$VER/node-$VER-$ARCH.tar.gz
61
61
  curl -O https://nodejs.org/dist/$VER/SHASUMS256.txt
62
62
  grep " node-$VER-$ARCH.tar.gz$" SHASUMS256.txt | shasum -a 256 -c - # must print OK
63
- tar -xzf node-$VER-$ARCH.tar.gz
64
- ln -sfn node-$VER-$ARCH node-current
63
+ mkdir -p node-current
64
+ tar -xzf node-$VER-$ARCH.tar.gz --strip-components=1 -C node-current
65
65
  ```
66
66
 
67
67
  2. Confirm it's Developer-ID signed:
@@ -98,12 +98,36 @@ the MCP runtime from your Homebrew/dev Node, which can keep updating freely.
98
98
  - *Automation*: the first time the server drives an app you'll get a one-time
99
99
  `"node" wants to control "<App>"` prompt — click **Allow**.
100
100
 
101
- Both grants are keyed to the official Node's stable signature, so you should
102
- not be asked again including after future Node updates. You can delete the
103
- stale "node" rows from the Full Disk Access list.
101
+ ⚠️ **A TCC grant is keyed to the binary's resolved *path*, not only to its
102
+ signature.** Because the steps above unpack Node into a fixed directory
103
+ (`~/mcp-runtime/node-current`) rather than a versioned one, that path never
104
+ moves and the grants survive Node updates — see "Updating" below. If you
105
+ instead point `node-current` at a `node-vX.Y.Z-…` directory, every update
106
+ changes the resolved path, presents a brand-new ungranted identity, and you
107
+ will be re-prompted for all of it.
108
+
109
+ You can delete any stale "node" rows from the Full Disk Access list.
104
110
 
105
111
  ### Updating the dedicated Node later
106
112
 
107
- Drop a newer official LTS tarball into `~/mcp-runtime/`, repoint the
108
- `node-current` symlink, and restart your client. The signing identity is
109
- unchanged, so existing grants carry over — no re-approval.
113
+ Replace the **contents** of the same directory do not create a new one and do
114
+ not repoint anything:
115
+
116
+ ```bash
117
+ VER=v24.19.0 ARCH=darwin-arm64
118
+ cd ~/mcp-runtime
119
+ curl -O https://nodejs.org/dist/$VER/node-$VER-$ARCH.tar.gz
120
+ curl -O https://nodejs.org/dist/$VER/SHASUMS256.txt
121
+ grep " node-$VER-$ARCH.tar.gz$" SHASUMS256.txt | shasum -a 256 -c - # must print OK
122
+ rm -rf node-current && mkdir -p node-current
123
+ tar -xzf node-$VER-$ARCH.tar.gz --strip-components=1 -C node-current
124
+ ```
125
+
126
+ The path is unchanged and the official builds are Developer-ID signed with a
127
+ requirement that pins identifier + Team ID (no cdhash), so **both** halves of
128
+ the grant still match: existing grants carry over with no re-approval.
129
+
130
+ ⚠️ **Restart your MCP client afterwards.** Replacing the binary unlinks the one
131
+ any already-running server is executing; macOS then cannot validate that path,
132
+ so those processes fail with *"Permission denied"* until they are restarted.
133
+ Nothing is wrong with your grants — a freshly launched server works fine.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apple-notes-mcp",
3
- "version": "2.7.4",
3
+ "version": "2.8.0",
4
4
  "description": "MCP server for Apple Notes - create, search, update, and manage notes via Claude and other AI assistants",
5
5
  "type": "module",
6
6
  "main": "build/index.js",