docs
Use it from an MCP client
Serve the browse tool over MCP, with server-side limits, fixed browser choices and HTTP authorization.
fastbrowse.ai·all docs·source at the pinned commit·Raw Markdown·llms.txt
fastbrowse-mcp serves one browse tool over MCP, so Claude Code, Claude
Desktop, Cursor or any other MCP client can hand it a task. It returns the answer, typed fields if asked for,
the quotes behind them, the status and what to do about it, and reports progress on every step.
The answer contains numbered Markdown links. MCP's citations list contains quote and url from the
run's evidence; it does not expose the Python Citation ids, requirement ids or deep-link fields.
claude mcp add fastbrowse -e OPENROUTER_API_KEY=... -e BROWSER_USE_API_KEY=... \
-- uvx --from 'fastbrowse[mcp]' fastbrowse-mcp --max-dollars 0.25
For a client configured by JSON, such as Claude Desktop:
{
"mcpServers": {
"fastbrowse": {
"command": "uvx",
"args": ["--from", "fastbrowse[mcp]", "fastbrowse-mcp"],
"env": { "OPENROUTER_API_KEY": "...", "BROWSER_USE_API_KEY": "..." }
}
}
}
The server's flags decide what a calling model may do; a call can ask for less, never more.
| Flag | Effect |
|---|---|
--local, --headed, --profile DIR, --downloads DIR, --cursor | as for the CLI, fixed for every call |
--cloud-profile ID | every call runs signed in as that cloud profile; a calling model cannot choose it |
--allow-authorize | let a call pass authorize to go through irreversible actions; without it they always stop at needs_confirmation |
--secret NAME=ENV_VAR@ORIGIN | typed when a call's start page is on ORIGIN (https://*.site.com covers its hosts); the model sees NAME only |
--bitwarden ITEM | a vault login a call may name in bitwarden |
--max-steps N, --max-dollars N, --max-seconds N | optional ceilings per call; defaults are unlimited |
--max-concurrent N | runs at once, default 1; more calls wait their turn |
--transport http, --host, --port | streamable HTTP at /mcp instead of stdio |
Over HTTP, set FASTBROWSE_MCP_TOKEN in the environment or .env and every request but /healthz needs
Authorization: Bearer <token>. The server refuses to bind anything but loopback without one. A run takes
seconds to minutes, so raise the client's tool timeout if it has one (MCP_TOOL_TIMEOUT in Claude Code).