42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
# Publishing mcp-browser with ngrok
|
||
|
||
The `scripts/run_mcp_ngrok.sh` helper launches `mcp-browser` in
|
||
streamable-http mode and exposes it through an ngrok tunnel. By default it uses
|
||
the `builtin-only` server profile so only the minimal proxy tools are visible.
|
||
|
||
```bash
|
||
./scripts/run_mcp_ngrok.sh \
|
||
--allow-origin https://platform.openai.com \
|
||
--ngrok-basic-auth "user:pass"
|
||
```
|
||
|
||
Key behaviours:
|
||
|
||
- Picks a free local port and starts `mcp-browser --mode streamable-http` with
|
||
`--http-path /mcp`.
|
||
- Starts `ngrok http` pointing at that port and prints the public URL once the
|
||
tunnel is ready.
|
||
- Writes logs to temporary files (paths shown on startup).
|
||
- Cleans up both processes when interrupted.
|
||
|
||
Useful options:
|
||
|
||
- `--server chrome` – publish a different server entry from your config.
|
||
- `--config ~/.claude/mcp-browser/config.yaml` – point at a custom config file.
|
||
- `--ngrok-region eu` or `--ngrok-domain your-name.ngrok.app` – choose a region
|
||
or reserved domain.
|
||
- `--ngrok-basic-auth user:pass` – require HTTP basic auth. Strongly recommended
|
||
if the tunnel is exposed to the public.
|
||
|
||
Additional `mcp-browser` arguments can be passed after `--`, for example to
|
||
connect to a streamable HTTP upstream:
|
||
|
||
```bash
|
||
./scripts/run_mcp_ngrok.sh -- \
|
||
--transport streamable-http \
|
||
--transport-url http://127.0.0.1:12306/mcp
|
||
```
|
||
|
||
The resulting public URL terminates at `/mcp`. Configure your MCP client (e.g.
|
||
OpenAI’s MCP interface) with that URL and the optional basic auth credentials.
|