@bsbofmusic/agent-reach-mcp 1.2.0 → 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.
- package/CHANGELOG.md +13 -0
- package/README.md +120 -411
- package/index.js +1 -1
- 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,476 +1,185 @@
|
|
|
1
|
-
# Agent-Reach MCP
|
|
1
|
+
# 🤖 Agent-Reach MCP
|
|
2
2
|
|
|
3
|
-
>
|
|
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
|
-
|
|
10
|
+
> **One-click enable** · **Auto-update** · **Self-healing** · **12 Platforms**
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
MCP stdio server that provides full access to [Agent-Reach](https://github.com/Panniantong/Agent-Reach) for OpenCode / Claude Code / Cursor.
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
---
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
## ✨ Features
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
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. |
|
|
17
25
|
|
|
18
26
|
---
|
|
19
27
|
|
|
20
|
-
##
|
|
28
|
+
## 🚀 Quick Start
|
|
21
29
|
|
|
22
30
|
```json
|
|
23
31
|
{
|
|
24
|
-
"command": "
|
|
25
|
-
"args": ["-y", "@bsbofmusic/agent-reach-mcp@latest"],
|
|
32
|
+
"command": ["node", "C:\\Users\\You\\AppData\\Roaming\\npm\\node_modules\\@bsbofmusic\\agent-reach-mcp\\index.js"],
|
|
26
33
|
"type": "stdio"
|
|
27
34
|
}
|
|
28
35
|
```
|
|
29
36
|
|
|
30
|
-
|
|
31
|
-
1.
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
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
|
|
35
43
|
|
|
36
44
|
---
|
|
37
45
|
|
|
38
|
-
##
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
| 📺
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
| 🔍 全网搜索 | Exa AI 语义搜索 | ⚙️ 需配置 mcporter |
|
|
46
|
+
## 📋 Supported Platforms
|
|
47
|
+
|
|
48
|
+
| Platform | Feature | Status |
|
|
49
|
+
|----------|---------|--------|
|
|
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 |
|
|
53
60
|
|
|
54
61
|
---
|
|
55
62
|
|
|
56
|
-
##
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
63
|
+
## 🛠️ Core Tools
|
|
64
|
+
|
|
65
|
+
### Required (MCP_creator.txt)
|
|
66
|
+
|
|
67
|
+
| Tool | Description |
|
|
68
|
+
|------|-------------|
|
|
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 |
|
|
74
|
+
|
|
75
|
+
### Additional Tools
|
|
76
|
+
|
|
77
|
+
| Tool | Description |
|
|
78
|
+
|------|-------------|
|
|
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 |
|
|
65
89
|
|
|
66
90
|
---
|
|
67
91
|
|
|
68
|
-
##
|
|
69
|
-
|
|
70
|
-
### 核心
|
|
71
|
-
|
|
72
|
-
| 工具 | 说明 |
|
|
73
|
-
|------|------|
|
|
74
|
-
| `reach_ensure` | 确保 venv 存在并升级到最新 Agent-Reach |
|
|
75
|
-
| `reach_doctor` | 诊断所有平台渠道状态,输出 nextSteps |
|
|
76
|
-
| `reach_version` | 显示 MCP + Agent-Reach 版本 + bootstrap 状态 |
|
|
77
|
-
| `reach_check_update` | 检查 GitHub 是否有新版本 |
|
|
78
|
-
| `reach_watch` | 快速健康检查(适合定时任务)|
|
|
79
|
-
| `reach_list_commands` | 列出所有可用子命令 |
|
|
80
|
-
|
|
81
|
-
### 安装与配置
|
|
82
|
-
|
|
83
|
-
| 工具 | 说明 |
|
|
84
|
-
|------|------|
|
|
85
|
-
| `reach_install` | 安装系统依赖(gh CLI, Node.js, bird, mcporter)|
|
|
86
|
-
| `reach_configure` | 设置配置(proxy, token, cookies)|
|
|
87
|
-
| `reach_setup` | 交互式配置向导 |
|
|
88
|
-
|
|
89
|
-
### 读取与搜索
|
|
90
|
-
|
|
91
|
-
| 工具 | 说明 |
|
|
92
|
-
|------|------|
|
|
93
|
-
| `reach_read` | 读取任意 URL(Jina Reader)|
|
|
94
|
-
| `reach_search_twitter` | 搜索 Twitter(需 bird CLI)|
|
|
95
|
-
| `reach_search_xhs` | 搜索小红书(需 mcporter)|
|
|
96
|
-
| `reach_search_web` | 全网搜索(Exa)|
|
|
97
|
-
| `reach_search_github` | 搜索 GitHub(需 gh CLI)|
|
|
98
|
-
|
|
99
|
-
### 高级
|
|
100
|
-
|
|
101
|
-
| 工具 | 说明 |
|
|
102
|
-
|------|------|
|
|
103
|
-
| `reach_exec` | 🔧 万能入口 - 执行任意子命令 |
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## 使用示例
|
|
108
|
-
|
|
109
|
-
### 首次使用(自动完成)
|
|
110
|
-
|
|
111
|
-
启用 MCP 后,会自动执行 bootstrap 确保。也可手动触发:
|
|
112
|
-
|
|
113
|
-
```json
|
|
114
|
-
{
|
|
115
|
-
"name": "reach_ensure"
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**输出示例**:
|
|
120
|
-
```
|
|
121
|
-
# reach_ensure 结果
|
|
122
|
-
|
|
123
|
-
状态: ✅ 成功
|
|
124
|
-
|
|
125
|
-
## 执行日志
|
|
126
|
-
- venv_check: OK (0ms)
|
|
127
|
-
- upgrade_pip: OK (2341ms)
|
|
128
|
-
- install_agent_reach: OK (5678ms)
|
|
129
|
-
|
|
130
|
-
版本: 1.2.0
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### 诊断
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"name": "reach_doctor"
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**输出示例**:
|
|
142
|
-
```
|
|
143
|
-
# reach_doctor 诊断报告
|
|
144
|
-
|
|
145
|
-
👁️ Agent Reach 状态
|
|
146
|
-
========================================
|
|
147
|
-
✅ YouTube 视频和字幕 — 可提取视频信息和字幕
|
|
148
|
-
✅ RSS/Atom 订阅源 — 可读取 RSS/Atom 源
|
|
149
|
-
❌ Twitter/X 推文 — bird CLI 未安装
|
|
150
|
-
|
|
151
|
-
## Next Steps
|
|
152
|
-
- Install bird CLI: npm install -g @steipete/bird
|
|
153
|
-
- Configure cookies: reach_configure with twitter-cookies
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### 读取网页
|
|
92
|
+
## 💻 Usage Examples
|
|
157
93
|
|
|
158
94
|
```json
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
"arguments": { "url": "https://example.com" }
|
|
162
|
-
}
|
|
163
|
-
```
|
|
95
|
+
// Version check
|
|
96
|
+
{ "name": "reach_version" }
|
|
164
97
|
|
|
165
|
-
|
|
98
|
+
// Diagnosis
|
|
99
|
+
{ "name": "reach_doctor" }
|
|
166
100
|
|
|
167
|
-
|
|
168
|
-
{
|
|
169
|
-
"name": "reach_search_twitter",
|
|
170
|
-
"arguments": { "query": "AI news", "limit": 10 }
|
|
171
|
-
}
|
|
172
|
-
```
|
|
101
|
+
// Read web page
|
|
102
|
+
{ "name": "reach_read", "arguments": { "url": "https://example.com" } }
|
|
173
103
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
❌ bird CLI 未安装
|
|
104
|
+
// Search Twitter
|
|
105
|
+
{ "name": "reach_search_twitter", "arguments": { "query": "AI", "limit": 10 } }
|
|
177
106
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
- Configure cookies: reach_configure with twitter-cookies
|
|
181
|
-
- Or use reach_search_web for Exa search instead
|
|
182
|
-
```
|
|
107
|
+
// Universal entry
|
|
108
|
+
{ "name": "reach_exec", "arguments": { "subcommand": "doctor" } }
|
|
183
109
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
```json
|
|
187
|
-
{
|
|
188
|
-
"name": "reach_exec",
|
|
189
|
-
"arguments": {
|
|
190
|
-
"subcommand": "doctor",
|
|
191
|
-
"skipUpdate": false
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### 能力自发现
|
|
197
|
-
|
|
198
|
-
```json
|
|
199
|
-
{
|
|
200
|
-
"name": "reach_list_commands"
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### 配置 Twitter Cookie
|
|
205
|
-
|
|
206
|
-
```json
|
|
207
|
-
{
|
|
208
|
-
"name": "reach_configure",
|
|
209
|
-
"arguments": {
|
|
210
|
-
"key": "twitter-cookies",
|
|
211
|
-
"value": "auth_token=xxx; ct0=yyy"
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### 配置代理
|
|
217
|
-
|
|
218
|
-
```json
|
|
219
|
-
{
|
|
220
|
-
"name": "reach_configure",
|
|
221
|
-
"arguments": {
|
|
222
|
-
"key": "proxy",
|
|
223
|
-
"value": "http://user:pass@ip:port"
|
|
224
|
-
}
|
|
225
|
-
}
|
|
110
|
+
// Self-discovery
|
|
111
|
+
{ "name": "reach_list_commands" }
|
|
226
112
|
```
|
|
227
113
|
|
|
228
114
|
---
|
|
229
115
|
|
|
230
|
-
##
|
|
231
|
-
|
|
232
|
-
**默认**: 每次工具调用前执行轻量 `ensureLatest()`
|
|
233
|
-
|
|
234
|
-
### 支持的环境变量
|
|
116
|
+
## ⚙️ Environment Variables
|
|
235
117
|
|
|
236
|
-
|
|
|
237
|
-
|
|
238
|
-
| `ALWAYS_LATEST` | `1` |
|
|
239
|
-
| `
|
|
240
|
-
| `
|
|
241
|
-
| `
|
|
242
|
-
| `RUNTIME_DIR` | 系统缓存目录/runtime | 运行时目录 |
|
|
243
|
-
| `LOG_LEVEL` | `info` | 日志级别(error/info/debug)|
|
|
244
|
-
|
|
245
|
-
### 更新流程
|
|
246
|
-
|
|
247
|
-
1. 检查 venv 是否存在
|
|
248
|
-
2. 检查 bootstrap 时间戳
|
|
249
|
-
3. 执行 `pip install -U https://github.com/Panniantong/agent-reach/archive/main.zip`
|
|
250
|
-
4. 运行 smoke test 验证
|
|
251
|
-
5. 记录 bootstrap 时间戳
|
|
252
|
-
|
|
253
|
-
**失败处理**: 更新失败不会破坏现有可用版本,返回 nextSteps 修复建议。
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
## 环境要求
|
|
258
|
-
|
|
259
|
-
### 启动时自动检测
|
|
260
|
-
|
|
261
|
-
- OS / CPU 架构
|
|
262
|
-
- Python 版本(需要 3.10+)
|
|
263
|
-
- Node.js 版本
|
|
264
|
-
- 网络可达性
|
|
265
|
-
- 磁盘空间
|
|
266
|
-
|
|
267
|
-
### 运行时目录
|
|
268
|
-
|
|
269
|
-
| 平台 | 目录 |
|
|
270
|
-
|------|------|
|
|
271
|
-
| Windows | `%LOCALAPPDATA%\agent-reach-mcp\` |
|
|
272
|
-
| macOS | `~/Library/Caches/agent-reach-mcp/` |
|
|
273
|
-
| Linux | `~/.cache/agent-reach-mcp/` |
|
|
274
|
-
|
|
275
|
-
### 平台特定要求
|
|
276
|
-
|
|
277
|
-
| 平台 | 要求 |
|
|
278
|
-
|------|------|
|
|
279
|
-
| Twitter | bird CLI + twitter-cookies |
|
|
280
|
-
| 小红书 | mcporter + xiaohongshu-mcp Docker |
|
|
281
|
-
| Reddit | 代理(服务器 IP 被封)|
|
|
282
|
-
| Bilibili | 代理(服务器 IP 被封)|
|
|
283
|
-
| GitHub | gh CLI(提高速率限制)|
|
|
284
|
-
| 全网搜索 | mcporter + Exa MCP |
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## 推荐工作流
|
|
289
|
-
|
|
290
|
-
1. **启用 MCP** → 自动 bootstrap
|
|
291
|
-
2. **诊断**: `reach_doctor` 查看渠道状态
|
|
292
|
-
3. **发现**: `reach_list_commands` 查看可用命令
|
|
293
|
-
4. **配置**: `reach_configure` 配置 cookies/代理
|
|
294
|
-
5. **使用**: 搜索/读取工具 或 `reach_exec`
|
|
118
|
+
| Variable | Default | Description |
|
|
119
|
+
|----------|---------|-------------|
|
|
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 |
|
|
295
124
|
|
|
296
125
|
---
|
|
297
126
|
|
|
298
|
-
##
|
|
127
|
+
## 🔧 Troubleshooting
|
|
299
128
|
|
|
300
|
-
###
|
|
301
|
-
|
|
302
|
-
**目标**: 只需启用 MCP,全自动收集并安装依赖
|
|
303
|
-
|
|
304
|
-
**验证步骤**:
|
|
129
|
+
### Python Missing
|
|
305
130
|
```bash
|
|
306
|
-
#
|
|
307
|
-
|
|
308
|
-
rd /s /q %LOCALAPPDATA%\agent-reach-mcp # Windows
|
|
309
|
-
|
|
310
|
-
# 2. 重启 MCP
|
|
311
|
-
|
|
312
|
-
# 3. 调用版本检查
|
|
313
|
-
reach_version
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
**预期输出(成功)**:
|
|
317
|
-
```
|
|
318
|
-
=== Agent-Reach MCP Version Info ===
|
|
319
|
-
|
|
320
|
-
MCP Version: 1.0.0
|
|
321
|
-
Agent-Reach Version: 1.2.0
|
|
322
|
-
Bootstrap Status: ✅ OK
|
|
323
|
-
Update Strategy: simple (alwaysLatest: true)
|
|
324
|
-
Runtime Dir: /Users/xxx/Library/Caches/agent-reach-mcp/runtime
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
**预期输出(失败 - 无 Python)**:
|
|
131
|
+
# Install Python 3.10+
|
|
132
|
+
# Download: https://www.python.org/downloads/
|
|
328
133
|
```
|
|
329
|
-
⚠️ MCP 未完全就绪
|
|
330
134
|
|
|
331
|
-
|
|
332
|
-
|
|
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
|
|
333
140
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
- Ensure Python is added to PATH during installation
|
|
141
|
+
# Or disable network check
|
|
142
|
+
set NETWORK_REQUIRED=0
|
|
337
143
|
```
|
|
338
144
|
|
|
339
|
-
###
|
|
340
|
-
|
|
341
|
-
**目标**: 封装后能力不缩水,新增命令自动支持
|
|
342
|
-
|
|
343
|
-
**验证命令**:
|
|
145
|
+
### Bootstrap Failed
|
|
344
146
|
```json
|
|
345
|
-
{"name": "
|
|
346
|
-
{"name": "reach_exec", "arguments": {"subcommand": "doctor"}}
|
|
347
|
-
{"name": "reach_exec", "arguments": {"subcommand": "check-update", "skipUpdate": true}}
|
|
348
|
-
{"name": "reach_exec", "arguments": {"subcommand": "watch"}}
|
|
349
|
-
{"name": "reach_exec", "arguments": {"subcommand": "setup"}}
|
|
147
|
+
{ "name": "reach_ensure" }
|
|
350
148
|
```
|
|
351
149
|
|
|
352
|
-
**判定标准**: 所有命令执行成功,输出与原 CLI 一致
|
|
353
|
-
|
|
354
|
-
### C. 稳定健全验证 ✅
|
|
355
|
-
|
|
356
|
-
**目标**: 自检 / 自愈 / 清晰错误 / 可观测日志
|
|
357
|
-
|
|
358
|
-
**验证步骤**:
|
|
359
|
-
1. 调用 `reach_doctor` → 检查输出包含 nextSteps
|
|
360
|
-
2. 破坏 venv → 调用 `reach_ensure` → 确认修复
|
|
361
|
-
3. 调用不存在的命令 → 检查错误输出
|
|
362
|
-
|
|
363
|
-
**预期输出(doctor)**:
|
|
364
|
-
```
|
|
365
|
-
# reach_doctor 诊断报告
|
|
366
|
-
...
|
|
367
|
-
## Next Steps
|
|
368
|
-
- Install bird CLI: npm install -g @steipete/bird
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
### D. 自动更新验证 ✅
|
|
372
|
-
|
|
373
|
-
**目标**: 每次调用前升级到最新版本
|
|
374
|
-
|
|
375
|
-
**验证步骤**:
|
|
376
|
-
1. 调用 `reach_version` 记录版本
|
|
377
|
-
2. 等待上游更新
|
|
378
|
-
3. 再次调用任意工具
|
|
379
|
-
4. 检查 `reach_version` 是否更新
|
|
380
|
-
|
|
381
|
-
### E. 部署即用验证 ✅
|
|
382
|
-
|
|
383
|
-
**目标**: 重启 Agent 后自动恢复
|
|
384
|
-
|
|
385
|
-
**验证步骤**:
|
|
386
|
-
1. 启用 MCP
|
|
387
|
-
2. 重启 Agent
|
|
388
|
-
3. 调用任意工具
|
|
389
|
-
4. 确认无需手动操作
|
|
390
|
-
|
|
391
|
-
### F. 失败场景验证
|
|
392
|
-
|
|
393
|
-
| 场景 | 触发方式 | 预期 nextSteps |
|
|
394
|
-
|------|---------|----------------|
|
|
395
|
-
| 断网 | 关闭网络 | 检查网络连接 |
|
|
396
|
-
| 无 Python | 移除 PATH | 安装 Python 3.10+ |
|
|
397
|
-
| venv 损坏 | 删除 venv 目录 | reach_ensure 会自动重建 |
|
|
398
|
-
| bird 未安装 | reach_search_twitter | npm install -g @steipete/bird |
|
|
399
|
-
|
|
400
|
-
---
|
|
401
|
-
|
|
402
|
-
## 常见错误与排障
|
|
403
|
-
|
|
404
|
-
### `python_missing`
|
|
405
|
-
|
|
406
|
-
**原因**: 系统未安装 Python
|
|
407
|
-
|
|
408
|
-
**修复**:
|
|
409
|
-
- 安装 Python 3.10+: https://www.python.org/downloads/
|
|
410
|
-
- 确保勾选 "Add Python to PATH"
|
|
411
|
-
|
|
412
|
-
### `network_error`
|
|
413
|
-
|
|
414
|
-
**原因**: 无法访问 GitHub
|
|
415
|
-
|
|
416
|
-
**修复**:
|
|
417
|
-
- 检查网络连接
|
|
418
|
-
- 配置代理: `HTTP_PROXY`, `HTTPS_PROXY`
|
|
419
|
-
- 或设置 `NETWORK_REQUIRED=0`
|
|
420
|
-
|
|
421
|
-
### `venv_failed`
|
|
422
|
-
|
|
423
|
-
**原因**: Python venv 模块不可用
|
|
424
|
-
|
|
425
|
-
**修复**:
|
|
426
|
-
- 确保安装了完整的 Python(非精简版)
|
|
427
|
-
- Linux: `sudo apt install python3-venv`
|
|
428
|
-
|
|
429
|
-
### Bootstrap 未完成的工具调用
|
|
430
|
-
|
|
431
|
-
**错误信息**:
|
|
432
|
-
```
|
|
433
|
-
⚠️ MCP 未完全就绪
|
|
434
|
-
|
|
435
|
-
Bootstrap 失败,部分功能可能不可用。
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
**修复**: 调用 `reach_ensure` 进行修复
|
|
439
|
-
|
|
440
150
|
---
|
|
441
151
|
|
|
442
|
-
##
|
|
443
|
-
|
|
444
|
-
### 许可证
|
|
445
|
-
|
|
446
|
-
| 项目 | 许可证 |
|
|
447
|
-
|------|--------|
|
|
448
|
-
| 本项目 (agent-reach-mcp) | MIT License |
|
|
449
|
-
| 上游 Agent-Reach | MIT License |
|
|
152
|
+
## 📁 Runtime Directories
|
|
450
153
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
154
|
+
| OS | Path |
|
|
155
|
+
|----|------|
|
|
156
|
+
| Windows | `%LOCALAPPDATA%\agent-reach-mcp\` |
|
|
157
|
+
| macOS | `~/Library/Caches/agent-reach-mcp/` |
|
|
158
|
+
| Linux | `~/.cache/agent-reach-mcp/` |
|
|
454
159
|
|
|
455
160
|
---
|
|
456
161
|
|
|
457
|
-
##
|
|
162
|
+
## ✅ Verification Matrix
|
|
458
163
|
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
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 |
|
|
463
170
|
|
|
464
171
|
---
|
|
465
172
|
|
|
466
|
-
## License
|
|
173
|
+
## 📜 License
|
|
467
174
|
|
|
468
|
-
MIT
|
|
175
|
+
- **This project**: [MIT](./LICENSE)
|
|
176
|
+
- **Upstream**: [Agent-Reach](https://github.com/Panniantong/Agent-Reach) (MIT)
|
|
469
177
|
|
|
470
178
|
---
|
|
471
179
|
|
|
472
|
-
## Links
|
|
180
|
+
## 🔗 Links
|
|
473
181
|
|
|
474
|
-
- [
|
|
475
|
-
- [
|
|
476
|
-
- [
|
|
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)
|
|
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
|
|
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.
|
|
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",
|