@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 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 -p @slack/radar-mcp slack-radar-web
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-web
38
+ slack-radar
39
39
  ```
40
40
 
41
- Opens `http://localhost:8100` automatically. Set `SLACK_RADAR_WEB_PORT` to use a different port. Features:
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 Network / RTM / Clogs tabs with real-time SSE streaming
44
- * Filter bar for URL, channel, event name, payload text
45
- * Detail pane with Copy JSON, Copy Body, and Copy cURL buttons
46
- * Profile selector for personal vs work profile when both are running
47
- * Auto-extend keeps the device-side server alive while the browser tab is open
48
- * Enable Radar button handles ADB forwarding and device activation without Claude
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
- **Work profile devices**
171
- The MCP server auto-detects the Android user ID via `ps` and targets the broadcast accordingly. No manual `--user` flag needed. The web dashboard shows a profile selector when both personal and work profiles are running.
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-radar-web`.
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`.