local-mcp 3.0.121 → 3.0.123
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 +10 -2
- package/package.json +1 -1
- package/setup.js +23 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
curl -fsSL https://local-mcp.com/install?ref=npm | bash
|
|
14
|
+
curl -fsSL 'https://local-mcp.com/install?ref=npm' | bash
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Auto-detects and configures: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, and Zed. Restart your AI client once.
|
|
@@ -141,9 +141,17 @@ npx -y local-mcp@latest status # show server status
|
|
|
141
141
|
For the menu bar status icon, auto-start on login, and Cloud Relay:
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
curl -fsSL https://local-mcp.com/install?ref=npm | bash
|
|
144
|
+
curl -fsSL 'https://local-mcp.com/install?ref=npm' | bash
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
+
## Uninstall
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
curl -fsSL 'https://local-mcp.com/uninstall' | bash
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Stops all background processes, removes the LaunchAgent, deletes the app and binaries, and cleans up MCP config entries from Claude Desktop, Cursor, and other AI clients. Your emails, calendar, and other data are never stored by LMCP and remain completely untouched.
|
|
154
|
+
|
|
147
155
|
## Links
|
|
148
156
|
|
|
149
157
|
- [Website](https://local-mcp.com?ref=npm)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "local-mcp",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.123",
|
|
4
4
|
"description": "LMCP — connect Claude Desktop, Cursor, Windsurf to Mail, Calendar, Contacts, Teams, OneDrive on macOS. Privacy-first: all data stays on your Mac.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
package/setup.js
CHANGED
|
@@ -244,6 +244,29 @@ async function runSetup(opts = {}) {
|
|
|
244
244
|
} catch { /* config not created yet — will be created on first run */ }
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
// Interactive email prompt — only if TTY and no email from env (LMC-833)
|
|
248
|
+
// Lets the activation nudge reach this machine. Optional, non-blocking.
|
|
249
|
+
if (!email && process.stdin.isTTY) {
|
|
250
|
+
try {
|
|
251
|
+
const rl = require('readline').createInterface({ input: process.stdin, output: process.stdout })
|
|
252
|
+
const ans = await new Promise(res => {
|
|
253
|
+
rl.question('\n Email for support & update notifications (optional, press Enter to skip): ', a => {
|
|
254
|
+
rl.close()
|
|
255
|
+
res((a || '').trim())
|
|
256
|
+
})
|
|
257
|
+
})
|
|
258
|
+
if (ans && ans.includes('@')) {
|
|
259
|
+
email = ans
|
|
260
|
+
try {
|
|
261
|
+
const cfg = _readJson(cfgFile)
|
|
262
|
+
if (!cfg.license_email) { cfg.license_email = email; _writeJson(cfgFile, cfg) }
|
|
263
|
+
} catch {}
|
|
264
|
+
// Email will be sent to the backend on the next heartbeat via license_email
|
|
265
|
+
console.log(` ✓ Email saved`)
|
|
266
|
+
}
|
|
267
|
+
} catch { /* non-fatal — install continues without email */ }
|
|
268
|
+
}
|
|
269
|
+
|
|
247
270
|
// Health check — verify binary works before showing success
|
|
248
271
|
const healthOk = _runHealthCheck()
|
|
249
272
|
|