@buoy-gg/mcp 7.0.2 → 7.0.4
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 +14 -0
- package/dist/{chunk-XIN7JPXX.mjs → chunk-EC6YNLYA.mjs} +566 -5
- package/dist/cli.js +576 -6
- package/dist/cli.mjs +11 -2
- package/dist/index.d.mts +45 -4
- package/dist/index.d.ts +45 -4
- package/dist/index.js +566 -5
- package/dist/index.mjs +1 -1
- package/package.json +5 -4
package/dist/index.d.mts
CHANGED
|
@@ -132,20 +132,61 @@ declare function createMcpServer(sync: SyncClient): McpServer;
|
|
|
132
132
|
* Idempotent + non-destructive: merges into existing configs (never clobbers
|
|
133
133
|
* other servers), and re-running just refreshes the buoy entry + skill.
|
|
134
134
|
*
|
|
135
|
+
* ## How the server gets launched (and why corporate registries broke it)
|
|
136
|
+
*
|
|
135
137
|
* By default the written config launches the server via
|
|
136
138
|
* `npx -y @buoy-gg/mcp@latest`, so every editor restart re-resolves the newest
|
|
137
|
-
* published version — users can't get pinned to a stale local copy.
|
|
138
|
-
*
|
|
139
|
-
*
|
|
139
|
+
* published version — users can't get pinned to a stale local copy.
|
|
140
|
+
*
|
|
141
|
+
* That default fails hard on machines whose `.npmrc` routes npm at an
|
|
142
|
+
* unreachable private registry (e.g. a corporate `@buoy-gg:registry=` or a
|
|
143
|
+
* global `registry=` pointing at an internal host that doesn't resolve off-VPN).
|
|
144
|
+
* There, `npx @latest` blocks trying to download the package from a host that
|
|
145
|
+
* never answers, the editor's MCP startup times out (~30s), and the server
|
|
146
|
+
* silently never comes up — invisible to the user.
|
|
147
|
+
*
|
|
148
|
+
* So `init` now:
|
|
149
|
+
* 1. Probes the npm registry that WOULD serve `@buoy-gg/mcp`. If it's
|
|
150
|
+
* unreachable, it falls back to a **local install** automatically.
|
|
151
|
+
* 2. Local mode installs a pinned copy into a stable dir (`~/.buoy-mcp`) from
|
|
152
|
+
* the public npm registry (bypassing the broken `.npmrc`) and writes a
|
|
153
|
+
* `node <path>` config — taking the network off the editor-startup path
|
|
154
|
+
* entirely.
|
|
155
|
+
* 3. `--local` / `--npx` force a mode; `--registry <url>` overrides which
|
|
156
|
+
* registry the local install pulls from.
|
|
157
|
+
* 4. A `cliPath` (local-dev escape hatch) still writes a `node <path>` entry
|
|
158
|
+
* pointed at a working build, no publish needed.
|
|
140
159
|
*/
|
|
160
|
+
type InitMode = "auto" | "npx" | "local";
|
|
141
161
|
interface InitOptions {
|
|
142
162
|
/** Project root to install into. @default process.cwd() */
|
|
143
163
|
cwd?: string;
|
|
144
164
|
/**
|
|
145
165
|
* Absolute path to a built cli.js. When set, the config launches that file
|
|
146
|
-
* via `node` instead of `npx @latest` — for local development only.
|
|
166
|
+
* via `node` instead of `npx @latest` — for local development only. Takes
|
|
167
|
+
* precedence over `mode`.
|
|
147
168
|
*/
|
|
148
169
|
cliPath?: string;
|
|
170
|
+
/**
|
|
171
|
+
* Launch strategy for the written config:
|
|
172
|
+
* - `"auto"` (default): npx `@latest`, but fall back to a local install if
|
|
173
|
+
* the npm registry for `@buoy-gg/mcp` is unreachable.
|
|
174
|
+
* - `"npx"`: always write the `npx -y @latest` entry (skip the probe).
|
|
175
|
+
* - `"local"`: always install a pinned copy to a stable dir and point the
|
|
176
|
+
* config at it (no network on editor startup).
|
|
177
|
+
* @default "auto"
|
|
178
|
+
*/
|
|
179
|
+
mode?: InitMode;
|
|
180
|
+
/**
|
|
181
|
+
* Registry to pull the local install from. @default the public npm registry.
|
|
182
|
+
* Only used for `local` (or auto-fallback-to-local) installs.
|
|
183
|
+
*/
|
|
184
|
+
registry?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Stable dir the local install lives in.
|
|
187
|
+
* @default `$BUOY_MCP_HOME` or `~/.buoy-mcp`.
|
|
188
|
+
*/
|
|
189
|
+
installDir?: string;
|
|
149
190
|
/** Where the skill source lives. @default resolved from __dirname (../skill). */
|
|
150
191
|
skillSrcDir?: string;
|
|
151
192
|
log?: (msg: string) => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -132,20 +132,61 @@ declare function createMcpServer(sync: SyncClient): McpServer;
|
|
|
132
132
|
* Idempotent + non-destructive: merges into existing configs (never clobbers
|
|
133
133
|
* other servers), and re-running just refreshes the buoy entry + skill.
|
|
134
134
|
*
|
|
135
|
+
* ## How the server gets launched (and why corporate registries broke it)
|
|
136
|
+
*
|
|
135
137
|
* By default the written config launches the server via
|
|
136
138
|
* `npx -y @buoy-gg/mcp@latest`, so every editor restart re-resolves the newest
|
|
137
|
-
* published version — users can't get pinned to a stale local copy.
|
|
138
|
-
*
|
|
139
|
-
*
|
|
139
|
+
* published version — users can't get pinned to a stale local copy.
|
|
140
|
+
*
|
|
141
|
+
* That default fails hard on machines whose `.npmrc` routes npm at an
|
|
142
|
+
* unreachable private registry (e.g. a corporate `@buoy-gg:registry=` or a
|
|
143
|
+
* global `registry=` pointing at an internal host that doesn't resolve off-VPN).
|
|
144
|
+
* There, `npx @latest` blocks trying to download the package from a host that
|
|
145
|
+
* never answers, the editor's MCP startup times out (~30s), and the server
|
|
146
|
+
* silently never comes up — invisible to the user.
|
|
147
|
+
*
|
|
148
|
+
* So `init` now:
|
|
149
|
+
* 1. Probes the npm registry that WOULD serve `@buoy-gg/mcp`. If it's
|
|
150
|
+
* unreachable, it falls back to a **local install** automatically.
|
|
151
|
+
* 2. Local mode installs a pinned copy into a stable dir (`~/.buoy-mcp`) from
|
|
152
|
+
* the public npm registry (bypassing the broken `.npmrc`) and writes a
|
|
153
|
+
* `node <path>` config — taking the network off the editor-startup path
|
|
154
|
+
* entirely.
|
|
155
|
+
* 3. `--local` / `--npx` force a mode; `--registry <url>` overrides which
|
|
156
|
+
* registry the local install pulls from.
|
|
157
|
+
* 4. A `cliPath` (local-dev escape hatch) still writes a `node <path>` entry
|
|
158
|
+
* pointed at a working build, no publish needed.
|
|
140
159
|
*/
|
|
160
|
+
type InitMode = "auto" | "npx" | "local";
|
|
141
161
|
interface InitOptions {
|
|
142
162
|
/** Project root to install into. @default process.cwd() */
|
|
143
163
|
cwd?: string;
|
|
144
164
|
/**
|
|
145
165
|
* Absolute path to a built cli.js. When set, the config launches that file
|
|
146
|
-
* via `node` instead of `npx @latest` — for local development only.
|
|
166
|
+
* via `node` instead of `npx @latest` — for local development only. Takes
|
|
167
|
+
* precedence over `mode`.
|
|
147
168
|
*/
|
|
148
169
|
cliPath?: string;
|
|
170
|
+
/**
|
|
171
|
+
* Launch strategy for the written config:
|
|
172
|
+
* - `"auto"` (default): npx `@latest`, but fall back to a local install if
|
|
173
|
+
* the npm registry for `@buoy-gg/mcp` is unreachable.
|
|
174
|
+
* - `"npx"`: always write the `npx -y @latest` entry (skip the probe).
|
|
175
|
+
* - `"local"`: always install a pinned copy to a stable dir and point the
|
|
176
|
+
* config at it (no network on editor startup).
|
|
177
|
+
* @default "auto"
|
|
178
|
+
*/
|
|
179
|
+
mode?: InitMode;
|
|
180
|
+
/**
|
|
181
|
+
* Registry to pull the local install from. @default the public npm registry.
|
|
182
|
+
* Only used for `local` (or auto-fallback-to-local) installs.
|
|
183
|
+
*/
|
|
184
|
+
registry?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Stable dir the local install lives in.
|
|
187
|
+
* @default `$BUOY_MCP_HOME` or `~/.buoy-mcp`.
|
|
188
|
+
*/
|
|
189
|
+
installDir?: string;
|
|
149
190
|
/** Where the skill source lives. @default resolved from __dirname (../skill). */
|
|
150
191
|
skillSrcDir?: string;
|
|
151
192
|
log?: (msg: string) => void;
|