Metadata-Version: 2.4
Name: browz-mcp
Version: 0.1.0
Summary: Browz MCP server launcher (uvx browz-mcp) and Python client for the Browz Local API
Project-URL: Homepage, https://gobrowz.com/ai-agents.html
Project-URL: Documentation, https://gobrowz.com/docs/ai-agents.html
Project-URL: Developers, https://gobrowz.com/developers.html
Keywords: browz,mcp,model-context-protocol,ai-agent,browser-automation
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Provides-Extra: playwright
Requires-Dist: playwright==1.60.0; extra == "playwright"

# browz-mcp

Run the [Browz](https://gobrowz.com) MCP server from Python tooling, and drive Browz from Python.
Browz keeps each web account in its own isolated browser profile; the MCP server lets an AI agent
list, create, start and stop those profiles, open pages, click, type, fill forms, read the page and
take screenshots in them.

The MCP server ships inside the Browz desktop app. This package finds it and starts it, so Browz
must be installed and open on the same computer ([download](https://gobrowz.com/download.html)).

## Use it from an MCP client

```sh
uvx browz-mcp                 # stdio, for Claude Desktop, Claude Code, Cursor, Gemini CLI, …
pipx run browz-mcp            # the same with pipx
uvx browz-mcp --http          # local Streamable HTTP on 127.0.0.1
uvx browz-mcp --where         # print the path of the server bundled with Browz
```

In a client's JSON config:

```json
{ "mcpServers": { "browz": { "command": "uvx", "args": ["browz-mcp"] } } }
```

Claude Code: `claude mcp add browz -- uvx browz-mcp`.

Setup for every client (Claude, OpenAI, Grok, Gemini, Cursor, VS Code, agent frameworks) and the
remote server `https://mcp.gobrowz.com/mcp`: https://gobrowz.com/docs/ai-agents.html

## The Python SDK

```sh
pip install browz-mcp
```

```python
import os
from browz import Browz

bz = Browz(token=os.environ["BROWZ_TOKEN"])   # the Local API of the Browz app on this computer
profile = bz.profiles.create(name="research")
session = bz.browser.start(profile["id"])
print(session.cdp_endpoint)                   # connect Playwright, browser-use or Stagehand here
```

`token` can also be a local agent key (`blcl_…`) made in Browz or with `bz.agent_keys.create()`;
the key then limits which routes, profiles and sites the client reaches. The owner manages keys with
`bz.agent_keys` (list, create, revoke, resume, stop_all, audit) and stored credentials with
`bz.credentials` (list, add, update, remove). No method returns a stored password or TOTP seed.

`browz.agents` has session helpers for browser-use and LangChain. No dependencies; the
`playwright` extra pins the Playwright version Browz is tested with.

<!-- The MCP Registry reads this line to confirm the package belongs to com.gobrowz/browz. -->
mcp-name: com.gobrowz/browz
