Analyzed 34 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

pietrozullo/browser-use-mcp

4 1 0 issues
Python

Project Overview

anthropic / claude-opus-4-7

browser-use-mcp

An MCP server that lets LLMs control a real web browser via natural language commands.

AI Verdict
Clean— AI Trust Assessment

True Intent (AI Assessment)

Expose the browser-use browser-automation agent as an MCP tool so LLM clients can perform web tasks in natural language.

README Accuracy

Accurate

Notes

Behavior matches the README. Minor issues: the pip install URL in the README uses a placeholder username, and LLM provider selection is implicit (first matching env var wins) rather than user-selectable.

What Is This?

This is a small Python package that implements a Model Context Protocol (MCP) server exposing a single tool called `run_browser_use_task`. When an MCP-compatible client (like Claude Desktop or mcp-use) sends a natural-language task, the server spins up a `browser-use` Agent backed by a LangChain chat model and drives a Playwright-controlled Chromium browser to complete it.

The problem it addresses is connecting LLM assistants to actual web browsing capability. Rather than each chat client re-implementing browser automation, this package packages the `browser-use` library behind the standardized MCP interface so any MCP-aware client can use it as a plug-in tool for tasks like navigating pages, clicking, filling forms, and summarizing content.

The intended users are developers building LLM agents or power-users of Claude Desktop / other MCP clients who want their assistant to browse the web. Installation is via pip from the git repo with an optional-dependency group per LLM provider, plus `playwright install chromium`. Once configured in the client's `mcpServers` block with an appropriate API key, the assistant can call the browser tool automatically.

Internally the code is tiny (~13KB). `main.py` sets up a `FastMCP` server, registers one async tool, parses a `--model` CLI arg, and runs over stdio. `models.py` picks a LangChain chat model based on which provider API key is present in the environment (OpenAI, Anthropic, Google, Cohere, Mistral, Groq, Together, AWS Bedrock, Fireworks, and more), with a hard-coded priority order. The heavy lifting (agent loop, DOM handling, planning) is delegated to the external `browser-use` library.

No red flags in the code. It is a thin, honest wrapper. Note the README's install snippet points to a placeholder `yourusername` GitHub path, and provider selection is priority-based on env vars rather than explicit, which could confuse users who have multiple keys set.

Your Report, Tab by Tab
At a Glance
4Stars
1Forks
0Open Issues
April 21, 2025Last Active
CLI ToolPythonMIT
Technology Stack
LanguagesPython
RuntimePython 3.11+
FrameworkFastMCP (Model Context Protocol server)
DatabaseNone detected
Package Managerpip (hatchling build backend)
Key Dependenciesmcp[cli], browser-use, playwright, python-dotenv, langchain-openai, langchain-anthropic, langchain-google-genai, langchain-groq
Build ToolHatchling
Test Frameworkpytest (declared in dev extras, no tests present)