@yawlabs/mcp 0.58.4 → 0.59.0

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.
Files changed (3) hide show
  1. package/README.md +44 -4
  2. package/dist/index.js +800 -299
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -69,7 +69,7 @@ Helpful flags:
69
69
 
70
70
  - `--scope user|project|local` -- which file to write (Claude Code + Cursor support project/local; VS Code is workspace-only; Claude Desktop is user-only).
71
71
  - `--dry-run` -- print the diff and exit without writing.
72
- - `--force` / `--skip` -- overwrite or leave an existing `mcp.hosting` entry. Without either, yaw-mcp prompts (TTY) or refuses (non-TTY).
72
+ - `--force` / `--skip` -- overwrite or leave an existing `mcp` entry. Without either, yaw-mcp prompts (TTY) or refuses (non-TTY).
73
73
  - `--no-yaw-mcp-config` -- write only the client config; leave `~/.yaw-mcp/config.json` untouched.
74
74
 
75
75
  Or install into every detected client at once:
@@ -83,7 +83,7 @@ yaw-mcp install --all --token mcp_pat_... # one-shot: install into every user-
83
83
 
84
84
  Or [edit the JSON by hand](#manual-install) if you'd rather.
85
85
 
86
- > The launch entry written into each client's config is still keyed as `"mcp.hosting"` for backwards compatibility with existing installs. The CLI, package, env vars, and config dir all moved to `yaw-mcp`; the JSON key is the one user-visible thing that didn't.
86
+ > The launch entry is keyed as `"mcp"` in the client config, so its tools surface under the `mcp__mcp__` namespace. Installs created before the rename used `"mcp.hosting"` / `"yaw-mcp"`; `yaw-mcp install` (and Yaw Terminal) detect and migrate those to `"mcp"`.
87
87
 
88
88
  ### Diagnose problems -- `yaw-mcp doctor`
89
89
 
@@ -94,6 +94,36 @@ npx -y @yawlabs/mcp@latest doctor --json # machine-readable snapshot for pipel
94
94
 
95
95
  Prints the loaded config files, your token's source + fingerprint (last 4 chars), the API base URL, installed clients, env overrides, persisted learning state, flaky-namespace reliability rollup, shell-history "shadow" hits (CLIs you run that an MCP server could replace), and an upgrade check against the npm registry. Exits `0` healthy / `1` no token / `2` warnings (e.g. world-readable token file). Paste the text output into a support ticket; the `--json` blob is the same data as a structured snapshot, so dashboards and CI scripts can `jq` instead of parsing the text layout.
96
96
 
97
+ ### Add servers locally (no account) -- `add` / `remove` / `list`
98
+
99
+ In Free (no-account) mode, yaw-mcp loads servers from `~/.yaw-mcp/bundles.json`.
100
+ Manage that set from the catalog at [yaw.sh/mcp/catalog](https://yaw.sh/mcp/catalog/):
101
+
102
+ ```bash
103
+ yaw-mcp add <slug> # resolve a catalog server and write it into bundles.json
104
+ yaw-mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... # supply a required env value
105
+ yaw-mcp add <slug> --dry-run [--json] # preview the entry without writing
106
+ yaw-mcp remove <slug-or-namespace> # drop a server from bundles.json
107
+ yaw-mcp list [--json] # list the servers yaw-mcp loads locally
108
+ ```
109
+
110
+ `add` is NOT `install`: `install <client>` connects an AI client to yaw-mcp;
111
+ `add <slug>` adds an MCP server to yaw-mcp itself. Required env keys are seeded
112
+ empty and only a value passed via `--env` is written to disk (yaw-mcp inherits
113
+ your shell env when it spawns the server, so an ambient secret reaches it at
114
+ runtime without being persisted). The same one-click lives on the website as
115
+ the "Add to Yaw MCP" button.
116
+
117
+ ### Try a server for an hour -- `try`
118
+
119
+ ```bash
120
+ yaw-mcp try <slug> [--client <name>] [--ttl 1h] [--env KEY=value] # wire a one-off trial directly into your AI client
121
+ yaw-mcp try-cleanup <slug> # remove a wired trial early (doctor GCs expired ones)
122
+ ```
123
+
124
+ `try` points the AI client straight at the upstream server (bypassing yaw-mcp)
125
+ so you can evaluate it without an account; the entry expires after `--ttl`.
126
+
97
127
  ### Other CLI subcommands
98
128
 
99
129
  ```bash
@@ -106,6 +136,16 @@ yaw-mcp compliance <target> [--publish] # run the compliance suite against an M
106
136
  yaw-mcp --version # print version
107
137
  ```
108
138
 
139
+ Account / sync (Pro + Team -- a license key unlocks cross-machine bundle sync):
140
+
141
+ ```bash
142
+ yaw-mcp login [--key <license>] # authenticate this machine with a Yaw MCP account
143
+ yaw-mcp logout # sign this machine out
144
+ yaw-mcp sync <push|pull|status> [--json] # replicate bundles.json to/from the account store (env values stripped on push)
145
+ yaw-mcp secrets <set|get|list|remove|lock|push|pull> # manage synced secret VALUES
146
+ yaw-mcp stats [--limit N] [--days N] [--json] # account usage statistics
147
+ ```
148
+
109
149
  Every CLI that reads state has a `--json` mode for pipeline use. `yaw-mcp servers` hits the backend; `yaw-mcp bundles list` and `yaw-mcp completion` are fully static (no network, no token). `yaw-mcp bundles match` partitions the curated set against your enabled servers so you see the same ready-to-activate vs. partially-installed view the LLM-facing `mcp_connect_bundles` meta-tool produces.
110
150
 
111
151
  To wire up shell completion:
@@ -140,7 +180,7 @@ If you'd rather edit the config files yourself, the JSON shapes are:
140
180
  ```json
141
181
  {
142
182
  "mcpServers": {
143
- "mcp.hosting": {
183
+ "mcp": {
144
184
  "command": "npx",
145
185
  "args": ["-y", "@yawlabs/mcp@latest"]
146
186
  }
@@ -153,7 +193,7 @@ If you'd rather edit the config files yourself, the JSON shapes are:
153
193
  ```json
154
194
  {
155
195
  "servers": {
156
- "mcp.hosting": {
196
+ "mcp": {
157
197
  "command": "npx",
158
198
  "args": ["-y", "@yawlabs/mcp@latest"]
159
199
  }