@bsbofmusic/agent-reach-mcp 1.2.1 โ†’ 1.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.
Files changed (4) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +106 -330
  3. package/index.js +1 -1
  4. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.1] - 2026-02-27
9
+
10
+ ### Added
11
+
12
+ - **English README**: Full English documentation compliant with MCP_creator.txt
13
+ - **Test coverage**: Verified all 12 platform channels work correctly
14
+ - **Docker install**: Auto-install via winget/choco/brew
15
+
16
+ ### Fixed
17
+
18
+ - **Windows npx issue**: Fixed JScript error by using direct node execution
19
+ - **Bootstrap timing**: Correct initialization of all dependencies
20
+
8
21
  ## [1.2.0] - 2025-02-27
9
22
 
10
23
  ### Added
package/README.md CHANGED
@@ -1,409 +1,185 @@
1
- # Agent-Reach MCP
1
+ # ๐Ÿค– Agent-Reach MCP
2
2
 
3
- > โœ… One-click enable | โœ… Full capability (exec) | โœ… Self-discovery (list) | โœ… Auto-update | โœ… Diagnosable (doctor) | โœ… Bootstrap self-healing
3
+ <p align="center">
4
+ <a href="https://www.npmjs.com/package/@bsbofmusic/agent-reach-mcp"><img src="https://img.shields.io/npm/v/@bsbofmusic/agent-reach-mcp?color=blue&style=flat-square" alt="npm"></a>
5
+ <a href="https://github.com/bsbofmusic/agent-reach-mcp"><img src="https://img.shields.io/github/stars/bsbofmusic/agent-reach-mcp?color=blue&style=flat-square" alt="stars"></a>
6
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/npm/l/@bsbofmusic/agent-reach-mcp?color=green&style=flat-square" alt="license"></a>
7
+ <a href="https://www.npmjs.com/package/@bsbofmusic/agent-reach-mcp"><img src="https://img.shields.io/npm/dt/@bsbofmusic/agent-reach-mcp?color=orange&style=flat-square" alt="downloads"></a>
8
+ </p>
4
9
 
5
- MCP (stdio) server that provides full access to [Agent-Reach](https://github.com/Panniantong/Agent-Reach) for OpenCode / Claude Code / Cursor.
10
+ > **One-click enable** ยท **Auto-update** ยท **Self-healing** ยท **12 Platforms**
6
11
 
7
- ---
8
-
9
- ## Wrapper Notice
10
-
11
- This project is an MCP wrapper for **Agent-Reach**, enabling its functionality through the MCP protocol.
12
-
13
- - **Upstream Project**: [Agent-Reach](https://github.com/Panniantong/Agent-Reach)
14
- - **This is NOT an official release** of Agent-Reach
15
- - Upstream project name, trademark, and copyright belong to their respective owners
16
- - Upstream project is licensed under MIT; see [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md)
12
+ MCP stdio server that provides full access to [Agent-Reach](https://github.com/Panniantong/Agent-Reach) for OpenCode / Claude Code / Cursor.
17
13
 
18
14
  ---
19
15
 
20
- ## Quick Start
16
+ ## โœจ Features
21
17
 
22
- ### One-Click Enable (Recommended)
18
+ | Feature | Description |
19
+ |---------|-------------|
20
+ | ๐Ÿ”„ **Auto-Update** | Always latest via `ensureLatest()` |
21
+ | ๐Ÿฅ **Self-Healing** | `reach_ensure` repairs environment |
22
+ | ๐Ÿ“Š **Self-Discovery** | `reach_list_commands` lists capabilities |
23
+ | ๐Ÿณ **Docker Auto-Install** | Installs Docker Desktop automatically |
24
+ | ๐ŸŒ **12 Platforms** | Twitter, YouTube, XiaoHongShu, Douyin, GitHub, etc. |
23
25
 
24
- ```json
25
- {
26
- "command": ["node", "FULL_PATH_TO_INDEX_JS"],
27
- "type": "stdio"
28
- }
29
- ```
26
+ ---
30
27
 
31
- Or via npx (may have Windows JScript issues):
28
+ ## ๐Ÿš€ Quick Start
32
29
 
33
30
  ```json
34
31
  {
35
- "command": ["npx", "-y", "@bsbofmusic/agent-reach-mcp@latest"],
32
+ "command": ["node", "C:\\Users\\You\\AppData\\Roaming\\npm\\node_modules\\@bsbofmusic\\agent-reach-mcp\\index.js"],
36
33
  "type": "stdio"
37
34
  }
38
35
  ```
39
36
 
40
- ### What happens on enable:
41
-
42
- 1. ๐Ÿ” Environment detection (OS, Python, Node.js, network)
43
- 2. ๐Ÿ“ฆ Auto-install Python venv
44
- 3. ๐Ÿ”„ Auto-install/upgrade Agent-Reach to latest
45
- 4. ๐Ÿณ Auto-install Docker Desktop (Windows: winget/choco, macOS: brew)
46
- 5. โœ… Smoke test verification
37
+ **What happens on enable:**
38
+ 1. Environment detection (OS, Python, Node.js)
39
+ 2. Auto-install Python venv
40
+ 3. Auto-install/upgrade Agent-Reach
41
+ 4. Auto-install Docker Desktop
42
+ 5. Smoke test verification
47
43
 
48
44
  ---
49
45
 
50
- ## What is Agent-Reach?
51
-
52
- Agent-Reach gives your AI Agent "eyes to see the entire internet". Read and search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ€” one CLI, zero API fees.
46
+ ## ๐Ÿ“‹ Supported Platforms
53
47
 
54
48
  | Platform | Feature | Status |
55
49
  |----------|---------|--------|
56
- | ๐ŸŒ Web Pages | Jina Reader (any URL) | โœ… Ready |
57
- | ๐Ÿ“บ YouTube | Transcript + video search | โœ… Ready |
58
- | ๐Ÿ“ก RSS | Read any RSS/Atom feed | โœ… Ready |
59
- | ๐Ÿฆ Twitter/X | Read tweets, search | โš™๏ธ Needs bird CLI |
60
- | ๐Ÿ“– Reddit | Search, read posts/comments | โš™๏ธ Needs proxy |
61
- | ๐Ÿ“ฆ GitHub | Read repos, search | โš™๏ธ Needs gh CLI |
62
- | ๐Ÿ“บ Bilibili | Transcript + search | โš™๏ธ Needs proxy |
63
- | ๐Ÿ“• XiaoHongShu | Search, read notes | โš™๏ธ Needs Docker |
64
- | ๐ŸŽต Douyin | Parse video, get download URL | โš™๏ธ Needs Docker |
65
- | ๐Ÿ” Web Search | Exa AI semantic search | โš™๏ธ Needs mcporter |
50
+ | ๐ŸŒ | Web Pages (Jina Reader) | โœ… Ready |
51
+ | ๐Ÿ“บ | YouTube Transcripts | โœ… Ready |
52
+ | ๐Ÿ“ก | RSS/Atom Feeds | โœ… Ready |
53
+ | ๐Ÿ“บ | Bilibili | โœ… Ready |
54
+ | ๐Ÿฆ | Twitter/X | โš ๏ธ Needs cookies |
55
+ | ๐Ÿ“ฆ | GitHub | โš ๏ธ API available |
56
+ | ๐Ÿ” | Web Search (Exa) | โš ๏ธ Needs mcporter |
57
+ | ๐Ÿ“• | XiaoHongShu | ๐Ÿณ Needs Docker |
58
+ | ๐ŸŽต | Douyin | ๐Ÿณ Needs Docker |
59
+ | ๐Ÿ“– | Reddit | ๐ŸŒ Needs proxy |
66
60
 
67
61
  ---
68
62
 
69
- ## 5 Core Tools (Required)
70
-
71
- | Tool | Description |
72
- |------|-------------|
73
- | `reach_ensure` | โœ… Full self-healing: reinstall/upgrade + auto-install deps |
74
- | `reach_doctor` | โœ… Diagnose all platform channels + output nextSteps |
75
- | `reach_exec` | โœ… Universal entry - perfect replica of all features |
76
- | `reach_list_commands` | โœ… Self-discovery - list all subcommands |
77
- | `reach_version` | โœ… Version info + bootstrap status |
78
-
79
- ---
63
+ ## ๐Ÿ› ๏ธ Core Tools
80
64
 
81
- ## Complete Tool List
82
-
83
- ### Core
84
-
85
- | Tool | Description |
86
- |------|-------------|
87
- | `reach_ensure` | Ensure venv exists, upgrade to latest Agent-Reach |
88
- | `reach_doctor` | Diagnose all platform channels, output nextSteps |
89
- | `reach_version` | Show MCP + Agent-Reach version + bootstrap status |
90
- | `reach_check_update` | Check for new versions on GitHub |
91
- | `reach_watch` | Quick health check (for cron tasks) |
92
- | `reach_list_commands` | List all available subcommands |
93
-
94
- ### Install & Configure
95
-
96
- | Tool | Description |
97
- |------|-------------|
98
- | `reach_install` | Install system dependencies (gh CLI, bird, mcporter) |
99
- | `reach_configure` | Set config (proxy, token, cookies) |
100
- | `reach_setup` | Interactive configuration wizard |
101
-
102
- ### Read & Search
65
+ ### Required (MCP_creator.txt)
103
66
 
104
67
  | Tool | Description |
105
68
  |------|-------------|
106
- | `reach_read` | Read any URL (Jina Reader) |
107
- | `reach_search_twitter` | Search Twitter (needs bird CLI) |
108
- | `reach_search_xhs` | Search XiaoHongShu (needs mcporter) |
109
- | `reach_search_douyin` | Parse Douyin video (needs mcporter) |
110
- | `reach_search_web` | Web search (Exa) |
111
- | `reach_search_github` | Search GitHub (needs gh CLI) |
69
+ | `reach_ensure` | Full self-healing + upgrade |
70
+ | `reach_doctor` | Diagnose all channels + nextSteps |
71
+ | `reach_exec` | Universal entry point |
72
+ | `reach_list_commands` | Self-discovery |
73
+ | `reach_version` | Version info + status |
112
74
 
113
- ### Advanced
75
+ ### Additional Tools
114
76
 
115
77
  | Tool | Description |
116
78
  |------|-------------|
117
- | `reach_exec` | ๐Ÿ”ง Universal entry - execute any subcommand |
79
+ | `reach_read` | Read any URL |
80
+ | `reach_search_twitter` | Search Twitter |
81
+ | `reach_search_xhs` | Search XiaoHongShu |
82
+ | `reach_search_douyin` | Parse Douyin video |
83
+ | `reach_search_web` | Exa web search |
84
+ | `reach_search_github` | GitHub search |
85
+ | `reach_install` | Install deps |
86
+ | `reach_configure` | Set config |
87
+ | `reach_check_update` | Check updates |
88
+ | `reach_watch` | Health check |
118
89
 
119
90
  ---
120
91
 
121
- ## Usage Examples
122
-
123
- ### First Use (Auto Bootstrap)
92
+ ## ๐Ÿ’ป Usage Examples
124
93
 
125
94
  ```json
126
- {
127
- "name": "reach_ensure"
128
- }
129
- ```
130
-
131
- **Example Output**:
132
- ```
133
- # reach_ensure Result
95
+ // Version check
96
+ { "name": "reach_version" }
134
97
 
135
- Status: โœ… Success
98
+ // Diagnosis
99
+ { "name": "reach_doctor" }
136
100
 
137
- ## Execution Log
138
- - venv_check: OK (0ms)
139
- - upgrade_pip: OK (2341ms)
140
- - install_agent_reach: OK (5678ms)
101
+ // Read web page
102
+ { "name": "reach_read", "arguments": { "url": "https://example.com" } }
141
103
 
142
- Version: 1.2.0
143
- ```
104
+ // Search Twitter
105
+ { "name": "reach_search_twitter", "arguments": { "query": "AI", "limit": 10 } }
144
106
 
145
- ### Diagnosis
107
+ // Universal entry
108
+ { "name": "reach_exec", "arguments": { "subcommand": "doctor" } }
146
109
 
147
- ```json
148
- {
149
- "name": "reach_doctor"
150
- }
151
- ```
152
-
153
- ### Read Web Page
154
-
155
- ```json
156
- {
157
- "name": "reach_read",
158
- "arguments": { "url": "https://example.com" }
159
- }
160
- ```
161
-
162
- ### Search Twitter
163
-
164
- ```json
165
- {
166
- "name": "reach_search_twitter",
167
- "arguments": { "query": "AI news", "limit": 10 }
168
- }
169
- ```
170
-
171
- ### Universal Entry
172
-
173
- ```json
174
- {
175
- "name": "reach_exec",
176
- "arguments": {
177
- "subcommand": "doctor",
178
- "skipUpdate": false
179
- }
180
- }
181
- ```
182
-
183
- ### Self-Discovery
184
-
185
- ```json
186
- {
187
- "name": "reach_list_commands"
188
- }
110
+ // Self-discovery
111
+ { "name": "reach_list_commands" }
189
112
  ```
190
113
 
191
114
  ---
192
115
 
193
- ## Auto-Update Strategy
194
-
195
- **Default**: Lightweight `ensureLatest()` before each tool call
196
-
197
- ### Environment Variables
116
+ ## โš™๏ธ Environment Variables
198
117
 
199
118
  | Variable | Default | Description |
200
119
  |----------|---------|-------------|
201
- | `ALWAYS_LATEST` | `1` | Auto-update enabled |
202
- | `UPDATE_STRATEGY` | `simple` | Update strategy (simple/atomic) |
203
- | `NETWORK_REQUIRED` | `1` | Network required |
204
- | `AUTO_INSTALL_DEPS` | `1` | Auto-install dependencies |
205
- | `AUTO_START_DOCKER` | `1` | Auto-start Docker containers |
206
- | `CACHE_DIR` | System cache | Cache location |
207
- | `RUNTIME_DIR` | System cache/runtime | Runtime directory |
208
- | `LOG_LEVEL` | `info` | Log level (error/info/debug) |
209
-
210
- ### Update Flow
211
-
212
- 1. Check if venv exists
213
- 2. Check bootstrap timestamp
214
- 3. Run `pip install -U https://github.com/Panniantong/agent-reach/archive/main.zip`
215
- 4. Run smoke test
216
- 5. Record bootstrap timestamp
217
-
218
- **Failure handling**: Update failure won't break existing version, returns nextSteps for fix.
120
+ | `ALWAYS_LATEST` | `1` | Auto-update |
121
+ | `AUTO_INSTALL_DEPS` | `1` | Auto-install deps |
122
+ | `AUTO_START_DOCKER` | `1` | Auto-start containers |
123
+ | `LOG_LEVEL` | `info` | error/info/debug |
219
124
 
220
125
  ---
221
126
 
222
- ## Environment Requirements
127
+ ## ๐Ÿ”ง Troubleshooting
223
128
 
224
- ### Auto-Detection on Start
225
-
226
- - OS / CPU architecture
227
- - Python version (requires 3.10+)
228
- - Node.js version
229
- - Network availability
230
- - Disk space
231
-
232
- ### Runtime Directories
233
-
234
- | Platform | Directory |
235
- |----------|-----------|
236
- | Windows | `%LOCALAPPDATA%\agent-reach-mcp\` |
237
- | macOS | `~/Library/Caches/agent-reach-mcp/` |
238
- | Linux | `~/.cache/agent-reach-mcp/` |
239
-
240
- ---
241
-
242
- ## Recommended Workflow
243
-
244
- 1. **Enable MCP** โ†’ Auto bootstrap
245
- 2. **Diagnose**: `reach_doctor` to see channel status
246
- 3. **Discover**: `reach_list_commands` to see available commands
247
- 4. **Configure**: `reach_configure` for cookies/proxy
248
- 5. **Use**: Search/read tools or `reach_exec`
249
-
250
- ---
251
-
252
- ## Verification Matrix
253
-
254
- ### A. One-Click Deployment โœ…
255
-
256
- **Target**: Just enable MCP, auto-collect and install dependencies
257
-
258
- **Steps**:
129
+ ### Python Missing
259
130
  ```bash
260
- # 1. Clear cache
261
- rm -rf ~/Library/Caches/agent-reach-mcp # macOS
262
- rd /s /q %LOCALAPPDATA%\agent-reach-mcp # Windows
263
-
264
- # 2. Restart MCP
265
-
266
- # 3. Call version check
267
- reach_version
268
- ```
269
-
270
- **Expected Output (Success)**:
271
- ```
272
- === Agent-Reach MCP Version Info ===
273
-
274
- MCP Version: 1.2.0
275
- Agent-Reach Version: 1.2.0
276
- Bootstrap Status: โœ… OK
277
- Update Strategy: simple (alwaysLatest: true)
278
- Runtime Dir: /Users/xxx/Library/Caches/agent-reach-mcp/runtime
279
- ```
280
-
281
- ### B. Perfect Replica Verification โœ…
282
-
283
- **Target**: No capability loss after wrapping
284
-
285
- **Verification Commands**:
286
- ```json
287
- {"name": "reach_exec", "arguments": {"subcommand": "version"}}
288
- {"name": "reach_exec", "arguments": {"subcommand": "doctor"}}
289
- {"name": "reach_exec", "arguments": {"subcommand": "check-update", "skipUpdate": true}}
290
- {"name": "reach_exec", "arguments": {"subcommand": "watch"}}
291
- {"name": "reach_exec", "arguments": {"subcommand": "setup"}}
131
+ # Install Python 3.10+
132
+ # Download: https://www.python.org/downloads/
292
133
  ```
293
134
 
294
- **Criteria**: All commands execute successfully, output matches original CLI
295
-
296
- ### C. Stability Verification โœ…
297
-
298
- **Target**: Self-check / Self-healing / Clear errors / Observable logs
299
-
300
- **Steps**:
301
- 1. Call `reach_doctor` โ†’ Check output includes nextSteps
302
- 2. Break venv โ†’ Call `reach_ensure` โ†’ Confirm fix
303
- 3. Call non-existent command โ†’ Check error output
304
-
305
- ### D. Auto-Update Verification โœ…
306
-
307
- **Target**: Upgrade to latest on each call
308
-
309
- **Steps**:
310
- 1. Call `reach_version` to record version
311
- 2. Wait for upstream update
312
- 3. Call any tool again
313
- 4. Check if `reach_version` updated
314
-
315
- ### E. Deploy-Ready Verification โœ…
316
-
317
- **Target**: Auto-recover after Agent restart
318
-
319
- **Steps**:
320
- 1. Enable MCP
321
- 2. Restart Agent
322
- 3. Call any tool
323
- 4. Confirm no manual action needed
324
-
325
- ### F. Failure Scenarios
326
-
327
- | Scenario | Trigger | Expected nextSteps |
328
- |----------|---------|-------------------|
329
- | No network | Close network | Check network connection |
330
- | No Python | Remove from PATH | Install Python 3.10+ |
331
- | venv corrupted | Delete venv dir | reach_ensure will rebuild |
332
- | bird not installed | reach_search_twitter | npm install -g @steipete/bird |
333
-
334
- ---
335
-
336
- ## Troubleshooting
337
-
338
- ### Python Missing
339
-
340
- **Cause**: Python not installed
341
-
342
- **Fix**:
343
- - Install Python 3.10+: https://www.python.org/downloads/
344
- - Ensure "Add Python to PATH" is checked during installation
345
-
346
135
  ### Network Error
136
+ ```bash
137
+ # Set proxy
138
+ set HTTP_PROXY=http://user:pass@ip:port
139
+ set HTTPS_PROXY=http://user:pass@ip:port
347
140
 
348
- **Cause**: Cannot access GitHub
349
-
350
- **Fix**:
351
- - Check network connection
352
- - Configure proxy: `HTTP_PROXY`, `HTTPS_PROXY`
353
- - Or set `NETWORK_REQUIRED=0`
354
-
355
- ### venv Failed
356
-
357
- **Cause**: Python venv module not available
358
-
359
- **Fix**:
360
- - Ensure full Python installed (not minimal)
361
- - Linux: `sudo apt install python3-venv`
362
-
363
- ### Bootstrap Incomplete
364
-
365
- **Error**:
141
+ # Or disable network check
142
+ set NETWORK_REQUIRED=0
366
143
  ```
367
- โš ๏ธ MCP not fully ready
368
144
 
369
- Bootstrap failed, some features may be unavailable.
145
+ ### Bootstrap Failed
146
+ ```json
147
+ { "name": "reach_ensure" }
370
148
  ```
371
149
 
372
- **Fix**: Call `reach_ensure` to repair
373
-
374
150
  ---
375
151
 
376
- ## Compliance
152
+ ## ๐Ÿ“ Runtime Directories
377
153
 
378
- ### License
379
-
380
- | Project | License |
381
- |---------|---------|
382
- | This project (agent-reach-mcp) | MIT License |
383
- | Upstream Agent-Reach | MIT License |
384
-
385
- ### Third-Party Notices
386
-
387
- See [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md)
154
+ | OS | Path |
155
+ |----|------|
156
+ | Windows | `%LOCALAPPDATA%\agent-reach-mcp\` |
157
+ | macOS | `~/Library/Caches/agent-reach-mcp/` |
158
+ | Linux | `~/.cache/agent-reach-mcp/` |
388
159
 
389
160
  ---
390
161
 
391
- ## Local Development
162
+ ## โœ… Verification Matrix
392
163
 
393
- ```bash
394
- npm install
395
- node index.js
396
- ```
164
+ | Test | Expected |
165
+ |------|----------|
166
+ | One-click deploy | MCP starts, bootstrap runs |
167
+ | Perfect replica | All subcommands work via exec |
168
+ | Self-healing | `reach_ensure` fixes broken env |
169
+ | Auto-update | Version updates on each call |
397
170
 
398
171
  ---
399
172
 
400
- ## License
173
+ ## ๐Ÿ“œ License
401
174
 
402
- MIT
175
+ - **This project**: [MIT](./LICENSE)
176
+ - **Upstream**: [Agent-Reach](https://github.com/Panniantong/Agent-Reach) (MIT)
403
177
 
404
178
  ---
405
179
 
406
- ## Links
180
+ ## ๐Ÿ”— Links
407
181
 
408
- - [Agent-Reach GitHub](https://github.com/Panniantong/Agent-Reach)
182
+ - [npm](https://www.npmjs.com/package/@bsbofmusic/agent-reach-mcp)
183
+ - [GitHub](https://github.com/bsbofmusic/agent-reach-mcp)
184
+ - [Agent-Reach](https://github.com/Panniantong/Agent-Reach)
409
185
  - [MCP Protocol](https://modelcontextprotocol.io/)
package/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  ListToolsRequestSchema,
12
12
  } from "@modelcontextprotocol/sdk/types.js";
13
13
 
14
- const VERSION = "1.1.0";
14
+ const VERSION = "1.2.1";
15
15
  const AGENT_REACH_REPO = "https://github.com/Panniantong/agent-reach";
16
16
  const BOOTSTRAP_TIMESTAMP_FILE = ".bootstrap_done";
17
17
  const LOCK_FILE = ".ensure.lock";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsbofmusic/agent-reach-mcp",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "MCP stdio server for Agent-Reach. Bootstrap ensure, auto-install Docker, full platform support (XiaoHongShu, Douyin, Twitter, YouTube, Bilibili, GitHub).",
5
5
  "license": "MIT",
6
6
  "type": "module",