@buoy-gg/mcp 7.0.35 → 7.0.38
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 +29 -19
- package/dist/{chunk-QL2DJGPP.mjs → chunk-PQOVQPCW.mjs} +552 -284
- package/dist/cli.js +604 -351
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +12 -4
- package/dist/index.d.ts +12 -4
- package/dist/index.js +604 -351
- package/dist/index.mjs +1 -1
- package/package.json +4 -3
- package/skill/buoy-optimize/SKILL.md +42 -69
package/README.md
CHANGED
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
4
4
|
[](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Connect an MCP client to supported Buoy tools in a running app. Read captured state, invoke tool actions, and run configured benchmarks.
|
|
7
|
+
|
|
8
|
+
## Before you start
|
|
9
|
+
|
|
10
|
+
Use Node.js 18 or later. For React Native, complete the [Quick Start](https://buoy.gg/buoy/latest/docs/quick-start), install `@buoy-gg/external-sync`, and restart the app. Flutter uses its [debug-build connection setup](https://buoy.gg/buoy/latest/docs/flutter/quick-start).
|
|
11
|
+
|
|
12
|
+
Configure the MCP process account as well as the device account. The process accepts `BUOY_LICENSE_KEY` or supported project keys such as `BUOY_KEY` and `EXPO_PUBLIC_BUOY_KEY`. It checks the project’s `.env.local` and `.env` when no supported process environment key is set. Set `BUOY_PROJECT_DIR` if the editor launches the process outside your app directory. A connected device’s key does not sign the process in.
|
|
13
|
+
|
|
14
|
+
Data and action tools require Pro. Device discovery is still subject to broker account admission.
|
|
7
15
|
|
|
8
16
|
## Install
|
|
9
17
|
|
|
@@ -11,35 +19,37 @@
|
|
|
11
19
|
npx -y @buoy-gg/mcp@latest init
|
|
12
20
|
```
|
|
13
21
|
|
|
14
|
-
|
|
22
|
+
Run setup from your app’s directory. Review its changes:
|
|
15
23
|
|
|
16
|
-
- Registers a `buoy` server in your MCP configs — `.mcp.json`
|
|
17
|
-
-
|
|
24
|
+
- Registers a `buoy` server in your MCP configs — `.mcp.json` and `.cursor/mcp.json` (created when needed), plus `.vscode/mcp.json` when `.vscode` exists. Existing servers are preserved; re-running replaces the Buoy entry, including customizations to that entry.
|
|
25
|
+
- Copies the bundled `buoy-optimize` skill into `.claude/skills/`. Rerunning setup overwrites matching skill files, so save any customizations before updating.
|
|
26
|
+
- Appends debugging guidance to `CLAUDE.md` and `AGENTS.md` when the guide heading is absent. Existing blocks are preserved and may need manual updating.
|
|
18
27
|
|
|
19
|
-
The config it writes launches the server via `npx -y @buoy-gg/mcp@latest`,
|
|
28
|
+
The config it writes launches the server via `npx -y @buoy-gg/mcp@latest`, which may require registry access at launch. Review package updates as part of your development workflow. Restart your editor, open your app with Buoy running, and start with `list_devices`.
|
|
20
29
|
|
|
21
30
|
### Corporate / private npm registries
|
|
22
31
|
|
|
23
|
-
If your machine's `.npmrc` points npm at a private registry that isn't reachable (a common setup on work laptops, e.g. off-VPN), `npx @latest` would hang trying to download the package on every editor launch — so `init` probes that registry first and, when it's unreachable, automatically installs a **pinned local copy** (from public npm) and writes a `node <path>` config instead.
|
|
32
|
+
If your machine's `.npmrc` points npm at a private registry that isn't reachable (a common setup on work laptops, e.g. off-VPN), `npx @latest` would hang trying to download the package on every editor launch — so `init` probes that registry first and, when it's unreachable, automatically installs a **pinned local copy** (from public npm) and writes a `node <path>` config instead. This removes package download from the local server launch path. Account validation and broker connections can still use the network.
|
|
24
33
|
|
|
25
34
|
You can also force it:
|
|
26
35
|
|
|
27
36
|
```bash
|
|
28
|
-
npx -y @buoy-gg/mcp@latest init --local #
|
|
29
|
-
npx -y @buoy-gg/mcp@latest init --npx #
|
|
37
|
+
npx -y @buoy-gg/mcp@latest init --local # install a pinned local server
|
|
38
|
+
npx -y @buoy-gg/mcp@latest init --npx # launch through npx @latest
|
|
30
39
|
npx -y @buoy-gg/mcp@latest init --registry <url> # registry the local install pulls from
|
|
31
40
|
```
|
|
32
41
|
|
|
33
|
-
To update a local install
|
|
42
|
+
To update a local server install, run `npx -y @buoy-gg/mcp@latest init --local`. Review skill customizations before rerunning setup. Existing debugging-guide blocks are preserved and need separate review.
|
|
34
43
|
|
|
35
44
|
## What your agent can do
|
|
36
45
|
|
|
37
46
|
**Read the runtime**
|
|
38
47
|
|
|
39
48
|
- `get_events` — one timeline across every tool: network, state changes, renders, routes, storage writes — in token-friendly summaries
|
|
40
|
-
- `get_console` — read the app's console logs,
|
|
49
|
+
- `get_console` — read the app's console logs, including release logs when console calls are retained and capture is enabled
|
|
41
50
|
- `get_network_requests` — HTTP requests *with their ids* (which `get_events` omits), marked 📌 pinned / 🔖 saved; `flagged:"any"` reads the requests you kept
|
|
42
51
|
- `network_action` — pin or save a request. Pinned requests survive Clear, the history cap and restarts, so it doubles as a handoff: pin the broken call and ask your agent about "the pinned request", or let it pin what it wants you to see
|
|
52
|
+
- `network_conditions` — read or set the device's network conditions: offline, +500 ms, +2000 ms, or normal. Offline rejects new intercepted requests before they leave the device, so an agent can check an error path without touching the server. Development builds only, and the profile resets on a JS reload
|
|
43
53
|
|
|
44
54
|
**Drive the UI**
|
|
45
55
|
|
|
@@ -49,8 +59,8 @@ To update a local install later, just re-run `init`.
|
|
|
49
59
|
|
|
50
60
|
**Change state**
|
|
51
61
|
|
|
52
|
-
- `redux_dispatch`, `react_query_action`, `storage_action`, `navigate` — dispatch actions, invalidate caches, edit storage,
|
|
53
|
-
- `get_redux_state`, `get_zustand_state`, `get_jotai_state`, `get_react_query`, `get_storage`, `get_routes` — read
|
|
62
|
+
- `redux_dispatch`, `react_query_action`, `storage_action`, `navigate` — dispatch actions, invalidate caches, edit storage, navigate to supported routes
|
|
63
|
+
- `get_redux_state`, `get_zustand_state`, `get_jotai_state`, `get_react_query`, `get_storage`, `get_routes` — read connected stores first
|
|
54
64
|
|
|
55
65
|
**Measure**
|
|
56
66
|
|
|
@@ -66,26 +76,26 @@ To update a local install later, just re-run `init`.
|
|
|
66
76
|
- `camera_stop` — turn the camera off
|
|
67
77
|
- `camera_diagnose` — why the camera is not working, including whether the app is reading it
|
|
68
78
|
|
|
69
|
-
The `camera_*` tools need Buoy Pro, read from Buoy Desktop's entitlement — `camera_diagnose` is ungated so it can report the tier. The
|
|
79
|
+
The `camera_*` tools need Buoy Pro, read from Buoy Desktop's entitlement — `camera_diagnose` is ungated so it can report the tier. The Desktop panel requires an account. Its webcam, image, video, pattern and QR-generation sources are available at Free limits; screen-region capture and non-QR generation require Pro access.
|
|
70
80
|
- `list_devices` — see connected devices and the tools each exposes
|
|
71
81
|
|
|
72
82
|
## The buoy-optimize skill
|
|
73
83
|
|
|
74
|
-
`init`
|
|
84
|
+
`init` installs a performance workflow for comparing implementation variants on a device. Ask your assistant for "buoy optimize", review the proposed benchmark, and compare repeated runs under the same conditions. Results depend on the app and workload.
|
|
75
85
|
|
|
76
86
|
## Requirements
|
|
77
87
|
|
|
78
88
|
- **Node.js 18+** on the machine running your editor.
|
|
79
89
|
- **A running app** with [`@buoy-gg/core`](https://www.npmjs.com/package/@buoy-gg/core) and the tool packages you want to drive.
|
|
80
90
|
- The server connects to the local Buoy broker — or spawns its own in-process — so it works standalone, no Buoy Desktop required.
|
|
81
|
-
- **macOS + Xcode** only for `screenshot_component` and the `camera_*` tools (they drive the iOS Simulator);
|
|
82
|
-
- The `camera_*` tools need **no connected device** — the simulator camera is host-side and
|
|
91
|
+
- **macOS + Xcode** only for `screenshot_component` and the `camera_*` tools (they drive the iOS Simulator); other tools depend on the connected app and its platform integrations.
|
|
92
|
+
- The `camera_*` tools need **no connected device** — the simulator camera is host-side and supports compatible simulator apps without an in-app Buoy integration. Host, simulator and account requirements still apply.
|
|
83
93
|
|
|
84
|
-
##
|
|
94
|
+
## Plans and connections
|
|
85
95
|
|
|
86
|
-
|
|
96
|
+
[MCP data and action tools require Pro](https://buoy.gg/pricing). Account admission also applies to discovery. Check current pricing for Weekend Pass terms.
|
|
87
97
|
|
|
88
|
-
|
|
98
|
+
The broker can accept connections over your LAN; it is not necessarily localhost-only. Use a trusted development network. Account and license validation make external requests. See [Telemetry](https://buoy.gg/buoy/latest/docs/telemetry) for additional data flows.
|
|
89
99
|
|
|
90
100
|
## Links
|
|
91
101
|
|