@buoy-gg/mcp 6.0.0 → 6.0.1
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 +69 -0
- package/dist/{chunk-3PEIMUN7.mjs → chunk-KPR3R6IJ.mjs} +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# @buoy-gg/mcp
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/@buoy-gg/mcp)
|
|
5
|
+
|
|
6
|
+
**Your agent gets hands.** The MCP server that connects Claude Code, Cursor, or any MCP editor to the [Buoy devtools](https://www.npmjs.com/package/@buoy-gg/core) running inside your React Native app — so your agent can read live runtime state, drive the UI, and benchmark on a real device instead of debugging blind.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npx -y @buoy-gg/mcp@latest init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
One command, non-destructive:
|
|
15
|
+
|
|
16
|
+
- Registers a `buoy` server in your MCP configs — `.mcp.json` (Claude Code, always), plus `.cursor/mcp.json` and `.vscode/mcp.json` when those folders exist. Existing servers are preserved; re-running just refreshes the Buoy entry.
|
|
17
|
+
- Installs the **buoy-optimize** skill into `.claude/skills/`.
|
|
18
|
+
|
|
19
|
+
The config it writes launches the server via `npx -y @buoy-gg/mcp@latest`, so every editor restart re-resolves the newest published version — you never get pinned to a stale copy. Restart your editor, open your app with Buoy running, and start with `list_devices`.
|
|
20
|
+
|
|
21
|
+
## What your agent can do
|
|
22
|
+
|
|
23
|
+
**Read the runtime**
|
|
24
|
+
|
|
25
|
+
- `get_events` — one timeline across every tool: network, state changes, renders, routes, storage writes — in token-friendly summaries
|
|
26
|
+
- `get_console` — read the app's console logs, even from a release build
|
|
27
|
+
|
|
28
|
+
**Drive the UI**
|
|
29
|
+
|
|
30
|
+
- `describe_screen` — walks the live React tree into an accessibility-style element list with labels, testIDs, control values, and tap points
|
|
31
|
+
- `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.
|
|
32
|
+
|
|
33
|
+
**Change state**
|
|
34
|
+
|
|
35
|
+
- `redux_dispatch`, `react_query_action`, `storage_action`, `navigate` — dispatch actions, invalidate caches, edit storage, jump to any screen
|
|
36
|
+
- `get_redux_state`, `get_zustand_state`, `get_jotai_state`, `get_react_query`, `get_storage`, `get_routes` — read any store first
|
|
37
|
+
|
|
38
|
+
**Measure**
|
|
39
|
+
|
|
40
|
+
- `run_benchmark_batch` — runs Bench cases on a real device and returns a ranked comparison with per-component render data
|
|
41
|
+
- `screenshot_component` — locates a component by testID in the iOS Simulator and returns a tight crop
|
|
42
|
+
- `list_devices` — see connected devices and the tools each exposes
|
|
43
|
+
|
|
44
|
+
## The buoy-optimize skill
|
|
45
|
+
|
|
46
|
+
`init` also installs a guided performance wizard. Your assistant benchmarks implementation variants on the **real device**, reads the ranked results, applies the winning change, and repeats until the metrics plateau. Measuring instead of guessing is what makes it fast: one real run took a Skia LED display from 28 stuttering lights to over 12,000 with no lag. Kick it off with **"buoy optimize"**.
|
|
47
|
+
|
|
48
|
+
## Requirements
|
|
49
|
+
|
|
50
|
+
- **Node.js 18+** on the machine running your editor.
|
|
51
|
+
- **A running app** with [`@buoy-gg/core`](https://www.npmjs.com/package/@buoy-gg/core) and the tool packages you want to drive.
|
|
52
|
+
- The server connects to the local Buoy broker — or spawns its own in-process — so it works standalone, no Buoy Desktop required.
|
|
53
|
+
- **macOS + Xcode** only for `screenshot_component` (it captures the iOS Simulator); everything else is platform-agnostic.
|
|
54
|
+
|
|
55
|
+
## Pro
|
|
56
|
+
|
|
57
|
+
The MCP data and action tools require [Buoy Pro](https://buoy.gg/pricing); `list_devices` always works free. And every Saturday and Sunday, Pro unlocks free for everyone — built into the product, so you can try the whole thing for real before deciding.
|
|
58
|
+
|
|
59
|
+
Everything runs over a localhost-only broker — nothing ever leaves your machine.
|
|
60
|
+
|
|
61
|
+
## Links
|
|
62
|
+
|
|
63
|
+
- [AI / MCP documentation](https://buoy.gg/buoy/latest/docs/mcp)
|
|
64
|
+
- [Buoy on GitHub](https://github.com/Buoy-gg/buoy)
|
|
65
|
+
- [Full docs](https://buoy.gg/buoy/latest/docs/overview)
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
Proprietary software. © Buoy LLC. All rights reserved. See the [Terms of Service](https://buoy.gg/terms).
|
|
@@ -296,7 +296,7 @@ async function waitForBroker(url, attempts = 20) {
|
|
|
296
296
|
var delay = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
297
297
|
|
|
298
298
|
// src/version.ts
|
|
299
|
-
var VERSION = "6.0.
|
|
299
|
+
var VERSION = "6.0.1" ? "6.0.1" : "0.0.0-dev";
|
|
300
300
|
var PACKAGE_NAME = "@buoy-gg/mcp";
|
|
301
301
|
|
|
302
302
|
// src/update/checkForUpdate.ts
|
package/dist/cli.js
CHANGED
|
@@ -336,7 +336,7 @@ var import_node_os = __toESM(require("os"));
|
|
|
336
336
|
var import_node_path = __toESM(require("path"));
|
|
337
337
|
|
|
338
338
|
// src/version.ts
|
|
339
|
-
var VERSION = "6.0.
|
|
339
|
+
var VERSION = "6.0.1" ? "6.0.1" : "0.0.0-dev";
|
|
340
340
|
var PACKAGE_NAME = "@buoy-gg/mcp";
|
|
341
341
|
|
|
342
342
|
// src/update/checkForUpdate.ts
|
package/dist/cli.mjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -371,7 +371,7 @@ var import_node_os = __toESM(require("os"));
|
|
|
371
371
|
var import_node_path = __toESM(require("path"));
|
|
372
372
|
|
|
373
373
|
// src/version.ts
|
|
374
|
-
var VERSION = "6.0.
|
|
374
|
+
var VERSION = "6.0.1" ? "6.0.1" : "0.0.0-dev";
|
|
375
375
|
var PACKAGE_NAME = "@buoy-gg/mcp";
|
|
376
376
|
|
|
377
377
|
// src/update/checkForUpdate.ts
|
package/dist/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buoy-gg/mcp",
|
|
3
3
|
"mcpName": "io.github.buoy-gg/mcp",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.1",
|
|
5
5
|
"description": "MCP server for Buoy devtools — lets any LLM copilot drive Buoy tools (perf-monitor benchmarks, etc.) over the devtool sync protocol",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.mjs",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
32
32
|
"socket.io-client": "^4.8.1",
|
|
33
33
|
"zod": "^3.25.0",
|
|
34
|
-
"@buoy-gg/sync-broker": "6.0.
|
|
34
|
+
"@buoy-gg/sync-broker": "6.0.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "^22.0.0",
|