Integrations / AI agent clients / LangChain
Browser tools for LangChain agents.
LangChain loads MCP tools through langchain-mcp-adapters. Point it at the Browz server and your agent gets real browser tools, snapshot, click, type and screenshot, each run working in its own isolated profile.
pip install langchain-mcp-adapters langgraph "langchain[openai]"Setup
Set it up.
Install Browz and open it
Download Browz on the computer that runs your agent.
Install the packages
The adapters, LangGraph’s prebuilt agent and a model provider.
Terminalpip install langchain-mcp-adapters langgraph "langchain[openai]"Load the tools and run
MultiServerMCPClientstarts the server inside Browz over stdio and turns its tools into LangChain tools. SetOPENAI_API_KEYfirst, or use another model.agent.pyimport asyncio from langchain_mcp_adapters.client import MultiServerMCPClient from langgraph.prebuilt import create_react_agent async def main(): client = MultiServerMCPClient({"browz": {"transport": "stdio", "command": "/Applications/Browz.app/Contents/Resources/browz-mcp", "args": []}}) agent = create_react_agent("openai:gpt-5", await client.get_tools()) out = await agent.ainvoke({"messages": [("user", "Using Browz: create a new profile called agent-check, start it, open https://example.com, tell me the page title, take a screenshot, then stop the session and delete the profile.")]}) print(out["messages"][-1].content) asyncio.run(main())From a hosted agent (beta)
The same client over HTTP, with an agent token read from
BROWZ_AGENT_TOKEN.Pythonimport os from langchain_mcp_adapters.client import MultiServerMCPClient client = MultiServerMCPClient({"browz": {"transport": "http", "url": "https://mcp.gobrowz.com/mcp", "headers": {"Authorization": "Bearer " + os.environ["BROWZ_AGENT_TOKEN"]}}}) tools = await client.get_tools() # inside an async function
Client API from LangChain MCP docs, langchain-mcp-adapters.
Example
The expected result.
The script above runs the same check every Browz setup uses: create a profile, open example.com, read the title, take a screenshot, clean up.
The page title is "Example Domain". I took a screenshot, stopped the session and deleted the agent-check profile.The wording varies by model; the title should be “Example Domain” and no agent-check profile should be left in Browz.
Good to know
Notes and tips.
- The example uses the macOS path of the server; in your own code, read it from the
BROWZ_MCPenvironment variable or usenpx -y @browz/mcpso it runs on every computer. - The remote server at
https://mcp.gobrowz.com/mcpis in free public beta: it needs the Browz app open with Remote control on, on a computer with a hardware security chip, and offers the profile, tab and page tools. See what it needs and what it offers. - Browz has to be installed and open on the same computer: the local MCP server drives the app’s own profiles through its local API, and reads the app’s credentials itself, so no token goes in the config.
- A person completes sign-ins, 2FA codes and CAPTCHAs. The agent can pause with
browz_request_humanand hand you the profile’s window, then carry on in the same session. Browz never solves or bypasses CAPTCHAs. - Use agents only where each site’s terms allow automated use, on accounts you are entitled to use. Our acceptable use policy applies to agents the same as to people.
- The MCP server is on every plan, Free included (5 profiles). How many agent sessions can be open at once depends on the plan: see pricing.
FAQ
LangChain and Browz.
Do I need the Browz Python SDK?
Not for this. langchain-mcp-adapters talks to the MCP server directly. The SDK (pip install browz-mcp) adds helpers such as a one-call LangGraph agent.
Can I filter which tools the agent gets?
Yes. get_tools() returns a list; keep only the tools the task needs, for example the session, navigate, snapshot and screenshot tools.
Is LangChain.js supported?
Yes. The JavaScript adapters take the same stdio command; @browz/sdk has langchainMcpServers() to build the config.
Get started
Download Browz. Every task, its own browser.
curl -fsSL https://gobrowz.com/agents/install.sh | sh