anymcp 0.2.0 → 0.3.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.
- package/README.md +15 -10
- package/dist/main.bundle.mjs +48622 -4093
- package/package.json +9 -11
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -114,7 +114,8 @@ tools, `{ "tools": [...] }`, or a JSON string of the same.
|
|
|
114
114
|
| Var | Default | Meaning |
|
|
115
115
|
|-----|---------|---------|
|
|
116
116
|
| `MCP_FORGE_HOME` | `~/.mcp-forge` | Where generated servers + `registry.json` are written. |
|
|
117
|
-
| `FORGE_BROWSER` | *(on)* | In-process stealth browser capture (renders JS + captures XHR/fetch traffic) for dynamic / bot-walled sites. Set `0` to force the cheap static-only fetch.
|
|
117
|
+
| `FORGE_BROWSER` | *(on)* | In-process stealth browser capture (renders JS + captures XHR/fetch traffic) for dynamic / bot-walled sites. Chromium auto-installs on first use. Set `0` to force the cheap static-only fetch. |
|
|
118
|
+
| `FORGE_NO_BROWSER_INSTALL` | *(off)* | Set `1` to never auto-download Chromium (capture stays static unless a browser is already present). |
|
|
118
119
|
| `SCRAPER_DISCOVERY_MODE` | `1` | Escalate to the browser even on server-rendered pages so their API traffic is captured into tools. `0` keeps the static result when it's sufficient. |
|
|
119
120
|
| `SCRAPER_INTERACT` | `1` | During a browser capture, scroll / submit a search / click "load more" to surface action-only XHR. |
|
|
120
121
|
| `MCP_BROWSER_CHANNEL` | *(unset)* | Drive your real installed Chrome (`chrome`) instead of bundled Chromium — stronger stealth. |
|
|
@@ -136,20 +137,24 @@ npm run build # build @mcp/generator + this package
|
|
|
136
137
|
npm test # 4 suites: provider resolution, stdio boot, emit-server e2e, full local pipeline (no key, no network)
|
|
137
138
|
```
|
|
138
139
|
|
|
139
|
-
##
|
|
140
|
+
## Install footprint
|
|
140
141
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
`npx -y anymcp` is tiny: the whole server is a single bundled file, and the only dependency is
|
|
143
|
+
**`playwright-core`** (the browser engine, **no bundled browsers**). Install is ~2s / ~14MB — there is **no
|
|
144
|
+
500MB browser download at install time**. The first time you scrape a *dynamic* site, the server downloads
|
|
145
|
+
**one** Chromium (~one-time, ~20-40s, progress shown in your client's logs), then caches it. Static / server-
|
|
146
|
+
rendered sites need no browser at all.
|
|
144
147
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
+
## Dynamic / bot-walled sites
|
|
149
|
+
|
|
150
|
+
By default the server captures with an **in-process stealth browser**: it renders client-side JS and captures
|
|
151
|
+
the page's XHR/fetch traffic, so it builds tools for SPAs and anti-bot-protected sites with **no backend** and
|
|
152
|
+
**no manual setup** — Chromium auto-installs on first use.
|
|
148
153
|
|
|
149
154
|
Stealth mirrors the generated servers (AutomationControlled off, `navigator.webdriver` stripped). For hard
|
|
150
155
|
walls, set `MCP_BROWSER_CHANNEL=chrome` to drive your real Chrome, or `MCP_BROWSER_DRIVER=patchright`. Set
|
|
151
|
-
`FORGE_BROWSER=0` to skip the browser entirely (static-only)
|
|
152
|
-
|
|
156
|
+
`FORGE_BROWSER=0` to skip the browser entirely (static-only), or `FORGE_NO_BROWSER_INSTALL=1` to never
|
|
157
|
+
auto-download. If the browser is unavailable, capture falls back to the static fetch.
|
|
153
158
|
|
|
154
159
|
## Limitations (honest)
|
|
155
160
|
|