@slack/radar-mcp 1.2.0 → 1.4.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 +16 -13
- package/dist/mcp/index.js +568 -347
- package/dist/mcp/snapshot.d.ts +63 -0
- package/dist/mcp/snapshot.js +301 -0
- package/dist/mcp/tools.js +165 -10
- package/dist/shared/android.d.ts +3 -2
- package/dist/shared/android.js +8 -7
- package/dist/shared/constants.d.ts +6 -0
- package/dist/shared/constants.js +6 -0
- package/dist/shared/logcat-capture.d.ts +15 -0
- package/dist/shared/logcat-capture.js +118 -0
- package/dist/shared/transport.d.ts +9 -6
- package/dist/web/bin.js +45 -30
- package/dist/web/public/index.html +771 -726
- package/dist/web/server.d.ts +27 -0
- package/dist/web/server.js +549 -28
- package/dist/web/spec.d.ts +83 -0
- package/dist/web/spec.js +135 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -28,24 +28,26 @@ Restart your Claude Code session for the tools to appear.
|
|
|
28
28
|
The package also ships a browser-based dashboard that shows the same live device data without Claude Code in the loop.
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
npx
|
|
31
|
+
npx @slack/radar-mcp web
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Or with a global install:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
37
|
npm install -g @slack/radar-mcp
|
|
38
|
-
slack-radar
|
|
38
|
+
slack-radar
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
Opens `http://localhost:8100` automatically. Set `SLACK_RADAR_WEB_PORT` to use a different port.
|
|
41
|
+
Opens `http://localhost:8100` automatically. Set `SLACK_RADAR_WEB_PORT` to use a different port. (`slack-radar-web` still works as a direct alias.) Tabs:
|
|
42
42
|
|
|
43
|
-
* Live
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
43
|
+
* **Live** — network, RTM, analytics clogs, and Slack-app logcat in one timeline
|
|
44
|
+
* **Network** — calls per second vs response time, every call listed, slow ones flagged
|
|
45
|
+
* **RTM** — real-time websocket events
|
|
46
|
+
* **Clogs** — analytics events, click one to see its payload
|
|
47
|
+
* **Logs** — device logcat, filtered to the Slack app (switch app or clear the filter)
|
|
48
|
+
* **Custom** — a tab Claude builds on request. Ask a Claude Code session in your terminal for a view the pre-built tabs do not cover (e.g. "graph calls per second and flag the slow ones"); it authors the view via the `open_radar_dashboard` tool and it appears here. Persists until you refresh the page.
|
|
49
|
+
|
|
50
|
+
Each tab has a counter, rate, sparkline, graph, a filter / sort / pause feed, and a payload inspector. Switching tabs replays what you have already seen this session (the browser caches it, bounded by count and age) so the view does not reset to empty. ADB forwarding and device activation are handled for you; a reconnect control re-arms after a device sleep.
|
|
49
51
|
|
|
50
52
|
## Prerequisites
|
|
51
53
|
|
|
@@ -70,7 +72,7 @@ Radar starts **disabled** each session. All tools except `ping` return an error
|
|
|
70
72
|
|
|
71
73
|
| Tool | Description |
|
|
72
74
|
|---|---|
|
|
73
|
-
| `ping` | Health check. Returns uptime, buffer sizes, remaining session time, stream status. Use `timeout_minutes` to extend sessions. |
|
|
75
|
+
| `ping` | Health check. Returns uptime, buffer sizes, remaining session time, stream status, and which app/profile is bound (`android_user_id`, `profile` personal/secondary, `package`). Use `timeout_minutes` to extend sessions. |
|
|
74
76
|
| `get_recent_network_calls` | HTTP call summaries: method, URL, status code, duration. Filterable by URL substring and status code. |
|
|
75
77
|
| `get_network_call_detail` | Full request/response headers and bodies for a specific call (gzip/brotli decompressed). |
|
|
76
78
|
| `get_recent_rtm_events` | RTM event summaries: type, direction, channel, timestamp. Filterable by type, direction, channel. Uses subtypes (e.g. `message_changed`, not `message`). |
|
|
@@ -84,6 +86,7 @@ Radar starts **disabled** each session. All tools except `ping` return an error
|
|
|
84
86
|
| `screenshot` | Capture device screen as PNG. 720px default, `full_res=true` for full resolution. |
|
|
85
87
|
| `record_screen` | Record short screen video (MP4). Default 5s, max 30s. |
|
|
86
88
|
| `clear_buffers` | Clear all captured network calls and RTM events from device and local buffers. |
|
|
89
|
+
| `open_radar_dashboard` | Author or refine a custom live dashboard tab from a spec (source, filters, widgets, alerts). Suggested when a request is not covered by the pre-built tabs; not auto-invoked. Returns the dashboard URL; debug builds only, local only. |
|
|
87
90
|
| `_radar_session_enable` | Enable radar for the session. Called by `/radar-enable` skill. |
|
|
88
91
|
| `_radar_session_disable` | Disable radar for the session. Called by `/radar-disable` skill. |
|
|
89
92
|
|
|
@@ -167,11 +170,11 @@ The device-side server may have auto-shut down. Use `/radar-enable` to restart i
|
|
|
167
170
|
**"Session disabled"**
|
|
168
171
|
Two consecutive connection failures disable the session. Use `/radar-enable` to reconnect.
|
|
169
172
|
|
|
170
|
-
**
|
|
171
|
-
The MCP server auto-detects the Android user ID via `ps` and targets the broadcast accordingly. No manual `--user` flag needed.
|
|
173
|
+
**Devices with more than one user (e.g. a work profile)**
|
|
174
|
+
The MCP server auto-detects the Android user ID via `ps` and targets the broadcast accordingly. No manual `--user` flag needed. In the dashboard's Logs tab, the package filter narrows logcat to the Slack app; clear the chip or pick another package to widen it.
|
|
172
175
|
|
|
173
176
|
**Tools not appearing after setup**
|
|
174
177
|
Restart your Claude Code session. MCP servers are registered at session start.
|
|
175
178
|
|
|
176
179
|
**Port already in use (web dashboard)**
|
|
177
|
-
Another instance may be running. Kill it with `lsof -ti :8100 | xargs kill` or set a different port with `SLACK_RADAR_WEB_PORT=8101 slack
|
|
180
|
+
Another instance may be running. Kill it with `lsof -ti :8100 | xargs kill` or set a different port with `SLACK_RADAR_WEB_PORT=8101 npx @slack/radar-mcp web`.
|