@buoy-gg/mcp 7.0.40 → 7.0.42
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 +10 -91
- package/dist/chunk-OOYI5S34.mjs +335 -0
- package/dist/cli.js +146 -6324
- package/dist/cli.mjs +7 -62
- package/dist/index.js +140 -6335
- package/dist/index.mjs +1 -60
- package/package.json +5 -5
- package/dist/chunk-TC2WQOVN.mjs +0 -6480
package/README.md
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
3
|
+
# @buoy-gg/mcp
|
|
5
4
|
|
|
6
5
|
Connect an MCP client to supported Buoy tools in a running app. Read captured state, invoke tool actions, and run configured benchmarks.
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
<a href="https://buoy.gg/buoy/latest/docs/mcp"><b>MCP guide</b></a> · <a href="https://buoy.gg">buoy.gg</a> · <a href="https://github.com/Buoy-gg/buoy">All tools</a>
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/@buoy-gg/mcp) [](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
<a href="https://buoy.gg/buoy/latest/docs/mcp"><img src="https://raw.githubusercontent.com/Buoy-gg/buoy/main/.github/readme/tools/optimize.png" alt="Watch the buoy-optimize film on buoy.gg" width="640" /></a>
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
</div>
|
|
15
14
|
|
|
16
15
|
## Install
|
|
17
16
|
|
|
@@ -19,90 +18,10 @@ Data and action tools require Pro. Device discovery is still subject to broker a
|
|
|
19
18
|
npx -y @buoy-gg/mcp@latest init
|
|
20
19
|
```
|
|
21
20
|
|
|
22
|
-
Run
|
|
23
|
-
|
|
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.
|
|
27
|
-
|
|
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`.
|
|
29
|
-
|
|
30
|
-
### Corporate / private npm registries
|
|
31
|
-
|
|
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.
|
|
33
|
-
|
|
34
|
-
You can also force it:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
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
|
|
39
|
-
npx -y @buoy-gg/mcp@latest init --registry <url> # registry the local install pulls from
|
|
40
|
-
```
|
|
41
|
-
|
|
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.
|
|
43
|
-
|
|
44
|
-
## What your agent can do
|
|
45
|
-
|
|
46
|
-
**Read the runtime**
|
|
47
|
-
|
|
48
|
-
- `get_events` — one timeline across every tool: network, state changes, renders, routes, storage writes — in token-friendly summaries
|
|
49
|
-
- `get_console` — read the app's console logs, including release logs when console calls are retained and capture is enabled
|
|
50
|
-
- `get_network_requests` — HTTP requests *with their ids* (which `get_events` omits), marked 📌 pinned / 🔖 saved; `flagged:"any"` reads the requests you kept
|
|
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
|
|
53
|
-
|
|
54
|
-
**Drive the UI**
|
|
55
|
-
|
|
56
|
-
- `describe_screen` — walks the live React tree into an accessibility-style element list with labels, testIDs, control values, and tap points
|
|
57
|
-
- `tap_element` — presses real JS handlers: tap a button, flip a switch, move a slider, type into a field. No screenshots, no pixel coordinates, works on physical devices. Off-screen targets are scrolled into view first.
|
|
58
|
-
- `reload_app` — restarts the JS bundle (Expo Go, dev client, or RN CLI) and waits for the app to come back, for changes Fast Refresh missed or a clean-slate startup. Ships with `@buoy-gg/core` — no extra package needed.
|
|
59
|
-
|
|
60
|
-
**Change state**
|
|
61
|
-
|
|
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
|
|
64
|
-
|
|
65
|
-
**Measure**
|
|
66
|
-
|
|
67
|
-
- `run_benchmark_batch` — runs Bench cases on a real device and returns a ranked comparison with per-component render data
|
|
68
|
-
- `screenshot_component` — locates a component by testID in the iOS Simulator and returns a tight crop
|
|
69
|
-
- `camera_devices` — booted simulators and the apps installed on one (where a bundle id comes from)
|
|
70
|
-
- `camera_inputs` — the Mac's cameras and capturable windows (where a camera uniqueId or `window:<id>` comes from)
|
|
71
|
-
- `camera_source` — gives the iOS Simulator a camera and chooses what it shows: a generated
|
|
72
|
-
barcode (QR, PDF417, Aztec, Code 128), an image, a video, the Mac camera, or this Mac's screen
|
|
73
|
-
- `camera_status` — what the camera is publishing and what it is decoding right now
|
|
74
|
-
- `camera_launch` — relaunch a simulator app with the camera attached
|
|
75
|
-
- `camera_zero_setup` — inject into everything the simulator launches, so any launcher works
|
|
76
|
-
- `camera_stop` — turn the camera off
|
|
77
|
-
- `camera_diagnose` — why the camera is not working, including whether the app is reading it
|
|
78
|
-
|
|
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.
|
|
80
|
-
- `list_devices` — see connected devices and the tools each exposes
|
|
81
|
-
|
|
82
|
-
## The buoy-optimize skill
|
|
83
|
-
|
|
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.
|
|
85
|
-
|
|
86
|
-
## Requirements
|
|
87
|
-
|
|
88
|
-
- **Node.js 18+** on the machine running your editor.
|
|
89
|
-
- **A running app** with [`@buoy-gg/core`](https://www.npmjs.com/package/@buoy-gg/core) and the tool packages you want to drive.
|
|
90
|
-
- The server connects to the local Buoy broker — or spawns its own in-process — so it works standalone, no Buoy Desktop required.
|
|
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.
|
|
93
|
-
|
|
94
|
-
## Plans and connections
|
|
95
|
-
|
|
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.
|
|
97
|
-
|
|
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.
|
|
99
|
-
|
|
100
|
-
## Links
|
|
21
|
+
Run it from your app's directory. It registers a `buoy` server in your MCP configs and adds the `buoy-optimize` skill. Your React Native app also needs `@buoy-gg/external-sync`, and data and action tools require Pro. Restart your editor, open your app, and start with `list_devices`.
|
|
101
22
|
|
|
102
|
-
|
|
103
|
-
- [Buoy on GitHub](https://github.com/Buoy-gg/buoy)
|
|
104
|
-
- [Full docs](https://buoy.gg/buoy/latest/docs/overview)
|
|
23
|
+
The [MCP guide](https://buoy.gg/buoy/latest/docs/mcp) covers setup, what it captures and its limits. New to Buoy? Start with the [Quick start](https://buoy.gg/buoy/latest/docs/quick-start).
|
|
105
24
|
|
|
106
|
-
|
|
25
|
+
---
|
|
107
26
|
|
|
108
|
-
|
|
27
|
+
<sub>Part of <a href="https://buoy.gg">Buoy</a>, developer tools that live inside your app. Proprietary software. © Buoy LLC. <a href="https://buoy.gg/terms">Terms</a></sub>
|