@iistools/grove-mcp 0.1.1 → 0.3.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.
package/README.md CHANGED
@@ -6,7 +6,27 @@ news, manage your feeds, engage with articles and discover sources.
6
6
 
7
7
  ## Install
8
8
 
9
- Add one entry to your MCP host config (`mcp.json`, `claude_desktop_config.json`):
9
+ Run this once in a terminal (Node 20 or newer):
10
+
11
+ ```bash
12
+ npx -y @iistools/grove-mcp install
13
+ ```
14
+
15
+ It finds the MCP apps on this computer (Claude Code in user scope, which its VS Code
16
+ extension also reads; Claude Desktop; Cursor; VS Code) and adds a `grove` entry to each,
17
+ with the absolute path of your `npx` and a `PATH` that holds `node`, so an app started
18
+ from the Dock finds both. It repairs a broken `grove` entry, leaves every other server
19
+ untouched, keeps a backup beside each file it changes (`<file>.bak-grove-mcp`, the first one is kept) and
20
+ prints one line per app. Restart the apps afterwards.
21
+
22
+ - `--dry-run` prints what it would change and writes nothing.
23
+ - `--client <name>` limits it to `claude-code`, `claude-desktop`, `cursor` or `vscode`
24
+ (repeatable); it also creates that app's config file when the app was not found.
25
+ - Re-run it after a Node upgrade or move: the entry names that Node's `npx`.
26
+ Under fnm it names fnm's version dir, not the per-shell link that is gone after logout.
27
+
28
+ Manual fallback, one entry for Claude Desktop and Cursor (`claude_desktop_config.json`,
29
+ `mcp.json`; VS Code uses `"servers"` instead of `"mcpServers"`):
10
30
 
11
31
  ```json
12
32
  {
@@ -16,13 +36,13 @@ Add one entry to your MCP host config (`mcp.json`, `claude_desktop_config.json`)
16
36
  }
17
37
  ```
18
38
 
19
- Claude Code, from a terminal:
39
+ Claude Code, from a terminal (`-s user` makes it work in every project):
20
40
 
21
41
  ```bash
22
- claude mcp add grove -- npx -y @iistools/grove-mcp
42
+ claude mcp add -s user grove -- npx -y @iistools/grove-mcp
23
43
  ```
24
44
 
25
- Node 20 or newer is required. There is no setup step: the first Grove tool call opens a
45
+ There is no other setup step: the first Grove tool call opens a
26
46
  sign-in with your account, and the server keeps the session for later calls.
27
47
 
28
48
  ## Example prompts
@@ -47,8 +67,11 @@ is on the "More examples" page in Grove under Settings.
47
67
 
48
68
  ## Before you start
49
69
 
50
- - **Opening a full article marks it read.** Say "summaries only" to keep your
51
- unread list intact, and ask for the full text only for the few that matter.
70
+ - **Opening an article marks nothing read** unless you ask for it (the assistant
71
+ passes `markRead`). It may take up to a minute: when a feed carries only a
72
+ teaser, Grove fetches the publisher's page itself and keeps the text. Say
73
+ "summaries only" to skip that, and ask for the full text only for the few that
74
+ matter.
52
75
  - **Article text is third-party content.** A feed can carry text written to steer
53
76
  an assistant. Grove marks the tools that change things (follow, unfollow, group
54
77
  edits, reactions) so your host asks before running them: keep those
@@ -58,13 +81,50 @@ is on the "More examples" page in Grove under Settings.
58
81
  "unsubscribe these six" are one step each; have your AI show the list first.
59
82
  - **Reactions are your taste signal:** prompts like "match against my reactions"
60
83
  read them. Your AI should like, bookmark or mark read only when you ask.
61
- - **Open only sign-in links you just triggered.** The server opens the sign-in page
62
- in your browser itself; when it cannot, the first call returns a link to open in a
63
- browser on the computer running the server, and whoever opens it first within five
64
- minutes decides which account the server is signed in as.
84
+ - **Open only sign-in links you just asked for.** The server opens the sign-in page
85
+ in your browser itself; when it cannot, the first call returns a link you can open
86
+ on any device, a phone included, and whoever opens it first within five minutes
87
+ decides which account the server is signed in as. The first answer after a sign-in
88
+ names that account. If this is not your account, stop: run `grove auth logout` if
89
+ you have the Grove CLI, or delete the profile file the answer names
90
+ (`~/Library/Preferences/grove-cli-nodejs/config.json` on macOS,
91
+ `~/.config/grove-cli-nodejs/config.json` on Linux (`$XDG_CONFIG_HOME` if set),
92
+ `%APPDATA%\grove-cli-nodejs\Config\config.json` on Windows); the server signs out on its next call.
65
93
  - Downloading all your Grove data and deleting it stay in the `grove` command-line
66
94
  tool and the web app; your AI can do neither.
67
95
 
96
+ ## Troubleshooting
97
+
98
+ - **`ENOENT … posix_spawn 'npx -y @iistools/grove-mcp'`**: the whole command line
99
+ ended up in `"command"` (a quoted `claude mcp add grove "npx -y …"`, or an app's
100
+ single command field). Run `npx -y @iistools/grove-mcp install`; it splits the
101
+ entry, also inside a single project's settings.
102
+ - **`env: node: No such file or directory`** from an app opened from the Dock or
103
+ Start menu: the app's `PATH` has no `node`. `install` writes one into the entry;
104
+ re-run it after upgrading or moving Node.
105
+ - **`npx` answers 404** on a machine whose `~/.npmrc` maps `@iistools` to a private
106
+ registry: run
107
+ `npx -y --@iistools:registry=https://registry.npmjs.org/ @iistools/grove-mcp install`;
108
+ `install` keeps that flag in the entry it writes.
109
+ - **Windows:** `install` writes the path of `npx.cmd`. If an app cannot start it, set
110
+ `"command": "cmd"` and `"args": ["/c", "npx", "-y", "@iistools/grove-mcp"]`.
111
+ - **Grove twice in one app.** Two routes can start Grove's tools: a standalone entry
112
+ (`grove`, or any other entry that runs `@iistools/grove-mcp`) and `iis mcp` with a
113
+ profile that lists `grove-mcp`. `install` never adds a second one: it prints
114
+ `skipped: grove already reaches <app> via iis mcp` or
115
+ `kept: grove reaches <app> via "<entry>"` and writes nothing, and where two routes
116
+ already exist it prints `double: …` with the entry to delete, exits 1 and deletes
117
+ nothing. `--force` writes `grove` anyway. Windows has no `iis mcp` mount of Grove today.
118
+ - **`vscode … skipped: not valid JSON`:** VS Code allows comments and trailing commas in
119
+ `mcp.json`; `install` edits only strict JSON, so it leaves that file alone (exit 1, the
120
+ other apps are still set up). Add Grove there by hand, under `"servers"`:
121
+ `"grove": { "type": "stdio", "command": "npx", "args": ["-y", "@iistools/grove-mcp"] }`.
122
+ - **Paths `install` does not know for sure:** Claude Desktop on Linux
123
+ (`~/.config/Claude/`), VS Code profiles other than the default
124
+ (`User/profiles/<id>/mcp.json`), VS Code Insiders (`Code - Insiders`) and the
125
+ Microsoft Store build of Claude Desktop. Use `--client` with the right app, or the
126
+ manual entry above.
127
+
68
128
  ## License
69
129
 
70
130
  MIT. Third-party licenses are in `THIRD_PARTY_NOTICES.txt`.
@@ -1,9 +1,9 @@
1
1
  THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
2
2
 
3
- This file lists the third-party software components used by @iistools/grove-mcp v0.1.1.
3
+ This file lists the third-party software components used by @iistools/grove-mcp v0.3.0.
4
4
  Each component is listed with its license type. Full license texts follow below.
5
5
 
6
- Generated: 2026-10-19T14:51:29Z
6
+ Generated: 2026-10-22T14:57:34Z
7
7
 
8
8
  ===============================================================================
9
9