@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 ADDED
@@ -0,0 +1,69 @@
1
+ # @buoy-gg/mcp
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@buoy-gg/mcp?style=flat-square&labelColor=1c1c1c&color=10B981)](https://www.npmjs.com/package/@buoy-gg/mcp)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@buoy-gg/mcp?style=flat-square&labelColor=1c1c1c&color=10B981&label=downloads%2Fmonth)](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.0" ? "6.0.0" : "0.0.0-dev";
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.0" ? "6.0.0" : "0.0.0-dev";
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
@@ -3,7 +3,7 @@ import {
3
3
  SyncClient,
4
4
  createMcpServer,
5
5
  runInit
6
- } from "./chunk-3PEIMUN7.mjs";
6
+ } from "./chunk-KPR3R6IJ.mjs";
7
7
 
8
8
  // src/cli.ts
9
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
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.0" ? "6.0.0" : "0.0.0-dev";
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
@@ -27,7 +27,7 @@ import {
27
27
  registerStorageTools,
28
28
  registerZustandTools,
29
29
  runInit
30
- } from "./chunk-3PEIMUN7.mjs";
30
+ } from "./chunk-KPR3R6IJ.mjs";
31
31
  export {
32
32
  ALL_DEVICES,
33
33
  BROKER_PORT,
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.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.0"
34
+ "@buoy-gg/sync-broker": "6.0.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "^22.0.0",