@iistools/grove-mcp 0.1.0 → 0.2.2
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 +101 -4
- package/THIRD_PARTY_NOTICES.txt +2 -2
- package/grove-mcp.js +87 -48
- package/package.json +1 -1
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
|
-
|
|
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,15 +36,92 @@ 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
|
-
|
|
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
|
|
|
48
|
+
## Example prompts
|
|
49
|
+
|
|
50
|
+
Paste any of these into your AI once Grove is attached. The first time it reads
|
|
51
|
+
your feeds, the server asks you to sign in. A longer list (16 prompts, with tips)
|
|
52
|
+
is on the "More examples" page in Grove under Settings.
|
|
53
|
+
|
|
54
|
+
1. **Morning briefing, no side effects.** "Give me a briefing of my unread Grove
|
|
55
|
+
articles: the ten most important stories, one line each with the source. Do
|
|
56
|
+
not open full articles and do not mark anything read; use the summaries only."
|
|
57
|
+
2. **Match against my own reactions.** "Look at the articles I have liked and
|
|
58
|
+
bookmarked in Grove, describe my interests in three bullets, then go through
|
|
59
|
+
today's unread and tell me which five fit those interests best and why."
|
|
60
|
+
3. **Back from a break.** "I was away for ten days. Page through all my unread
|
|
61
|
+
Grove articles (keep going until there are none left), drop duplicates covering
|
|
62
|
+
the same event, and give me: five things I must know, ten worth a glance, and
|
|
63
|
+
the rest as a count per source. Then ask me whether to mark the "rest" as read."
|
|
64
|
+
4. **Find, preview, then follow.** "Find me five good feeds about woodworking in
|
|
65
|
+
German. For each, show the preview (latest titles, how often it posts). Do not
|
|
66
|
+
subscribe yet; I will pick."
|
|
67
|
+
|
|
68
|
+
## Before you start
|
|
69
|
+
|
|
70
|
+
- **Opening a full article marks it read.** Say "summaries only" to keep your
|
|
71
|
+
unread list intact, and ask for the full text only for the few that matter.
|
|
72
|
+
- **Article text is third-party content.** A feed can carry text written to steer
|
|
73
|
+
an assistant. Grove marks the tools that change things (follow, unfollow, group
|
|
74
|
+
edits, reactions) so your host asks before running them: keep those
|
|
75
|
+
confirmations on and do not choose "always allow" for them. Reading tools can be
|
|
76
|
+
auto-allowed.
|
|
77
|
+
- **Review the list before a bulk action.** "Mark 400 articles read" and
|
|
78
|
+
"unsubscribe these six" are one step each; have your AI show the list first.
|
|
79
|
+
- **Reactions are your taste signal:** prompts like "match against my reactions"
|
|
80
|
+
read them. Your AI should like, bookmark or mark read only when you ask.
|
|
81
|
+
- **Open only sign-in links you just asked for.** The server opens the sign-in page
|
|
82
|
+
in your browser itself; when it cannot, the first call returns a link you can open
|
|
83
|
+
on any device, a phone included, and whoever opens it first within five minutes
|
|
84
|
+
decides which account the server is signed in as. The first answer after a sign-in
|
|
85
|
+
names that account. If this is not your account, stop: run `grove auth logout` if
|
|
86
|
+
you have the Grove CLI, or delete the profile file the answer names
|
|
87
|
+
(`~/Library/Preferences/grove-cli-nodejs/config.json` on macOS,
|
|
88
|
+
`~/.config/grove-cli-nodejs/config.json` on Linux (`$XDG_CONFIG_HOME` if set),
|
|
89
|
+
`%APPDATA%\grove-cli-nodejs\Config\config.json` on Windows); the server signs out on its next call.
|
|
90
|
+
- Downloading all your Grove data and deleting it stay in the `grove` command-line
|
|
91
|
+
tool and the web app; your AI can do neither.
|
|
92
|
+
|
|
93
|
+
## Troubleshooting
|
|
94
|
+
|
|
95
|
+
- **`ENOENT … posix_spawn 'npx -y @iistools/grove-mcp'`**: the whole command line
|
|
96
|
+
ended up in `"command"` (a quoted `claude mcp add grove "npx -y …"`, or an app's
|
|
97
|
+
single command field). Run `npx -y @iistools/grove-mcp install`; it splits the
|
|
98
|
+
entry, also inside a single project's settings.
|
|
99
|
+
- **`env: node: No such file or directory`** from an app opened from the Dock or
|
|
100
|
+
Start menu: the app's `PATH` has no `node`. `install` writes one into the entry;
|
|
101
|
+
re-run it after upgrading or moving Node.
|
|
102
|
+
- **`npx` answers 404** on a machine whose `~/.npmrc` maps `@iistools` to a private
|
|
103
|
+
registry: run
|
|
104
|
+
`npx -y --@iistools:registry=https://registry.npmjs.org/ @iistools/grove-mcp install`;
|
|
105
|
+
`install` keeps that flag in the entry it writes.
|
|
106
|
+
- **Windows:** `install` writes the path of `npx.cmd`. If an app cannot start it, set
|
|
107
|
+
`"command": "cmd"` and `"args": ["/c", "npx", "-y", "@iistools/grove-mcp"]`.
|
|
108
|
+
- **Grove twice in one app.** Two routes can start Grove's tools: a standalone entry
|
|
109
|
+
(`grove`, or any other entry that runs `@iistools/grove-mcp`) and `iis mcp` with a
|
|
110
|
+
profile that lists `grove-mcp`. `install` never adds a second one: it prints
|
|
111
|
+
`skipped: grove already reaches <app> via iis mcp` or
|
|
112
|
+
`kept: grove reaches <app> via "<entry>"` and writes nothing, and where two routes
|
|
113
|
+
already exist it prints `double: …` with the entry to delete, exits 1 and deletes
|
|
114
|
+
nothing. `--force` writes `grove` anyway. Windows has no `iis mcp` mount of Grove today.
|
|
115
|
+
- **`vscode … skipped: not valid JSON`:** VS Code allows comments and trailing commas in
|
|
116
|
+
`mcp.json`; `install` edits only strict JSON, so it leaves that file alone (exit 1, the
|
|
117
|
+
other apps are still set up). Add Grove there by hand, under `"servers"`:
|
|
118
|
+
`"grove": { "type": "stdio", "command": "npx", "args": ["-y", "@iistools/grove-mcp"] }`.
|
|
119
|
+
- **Paths `install` does not know for sure:** Claude Desktop on Linux
|
|
120
|
+
(`~/.config/Claude/`), VS Code profiles other than the default
|
|
121
|
+
(`User/profiles/<id>/mcp.json`), VS Code Insiders (`Code - Insiders`) and the
|
|
122
|
+
Microsoft Store build of Claude Desktop. Use `--client` with the right app, or the
|
|
123
|
+
manual entry above.
|
|
124
|
+
|
|
28
125
|
## License
|
|
29
126
|
|
|
30
127
|
MIT. Third-party licenses are in `THIRD_PARTY_NOTICES.txt`.
|
package/THIRD_PARTY_NOTICES.txt
CHANGED
|
@@ -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.
|
|
3
|
+
This file lists the third-party software components used by @iistools/grove-mcp v0.2.2.
|
|
4
4
|
Each component is listed with its license type. Full license texts follow below.
|
|
5
5
|
|
|
6
|
-
Generated: 2026-10-
|
|
6
|
+
Generated: 2026-10-20T13:49:44Z
|
|
7
7
|
|
|
8
8
|
===============================================================================
|
|
9
9
|
|