Discover MCPs & agents
Loading MCPs and agents…
Loading MCPs and agents…
FastAPI MCP server that exposes browser-use automation through a testable Model Context Protocol boundary.
From the repo.
Model Context Protocol (MCP) server that wires browser-use into Claude Desktop and other MCP compatible clients.
This repository provides a beta MCP wrapper around the browser-use automation engine. It exposes a single MCP tool (run_browser_agent) that orchestrates a browser session, executes the browser-use agent, and returns the final result to the client. The layout keeps configuration in one place, makes security boundaries testable, and isolates upstream browser-use migrations from the MCP interface.
browser-use.CustomAgent wraps browser-use's base agent to add history export, richer prompts, and consistent error handling across runs.create_browser_session translates environment variables into a ready-to-use BrowserSession, enabling persistent profiles, proxies, and custom Chromium flags without touching the agent logic.server.py registers the MCP tool, normalises configuration, and ensures the browser session is always cleaned up.client.py includes async helpers for tests or other Python processes that wish to exercise the MCP server in-process..
├── documentation/
│ ├── CONFIGURATION.md # Detailed configuration reference
│ └── SECURITY.md # Security considerations for running the server
├── sample.env.env # Example environment variables for local development
├── src/mcp_browser_use/
│ ├── agent/ # Custom agent, prompts, message history, and views
│ ├── browser/ # Browser session factory and persistence helpers
│ ├── controller/ # Custom controller extensions for clipboard actions
│ ├── utils/ # LLM factory, agent state helpers, encoding utilities
│ ├── client.py # Async helper for connecting to the FastMCP app
│ └── server.py # FastMCP app and the `run_browser_agent` tool
└── tests/ # Unit tests covering server helpers and agent features
uv for dependency management (recommended)git clone https://github.com/JovaniPink/mcp-browser-use.git
cd mcp-browser-use
uv sync
Copy sample.env.env to .env (or export the variables another way) and update only the providers you plan to use. Never commit the populated .env file.
uv run mcp-browser-use
The command invokes the console script defined in pyproject.toml, starts the FastMCP application, and registers the run_browser_agent tool.
Once the server is running you can register it inside Claude Desktop, for example:
"mcpServers": {
"mcp_server_browser_use": {
"command": "uvx",
"args": ["mcp-browser-use"],
"env": {
"MCP_MODEL_PROVIDER": "anthropic",
"MCP_MODEL_NAME": "claude-3-5-sonnet-20241022"
}
}
}
For interactive debugging, use the MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-browser-use
The inspector prints a URL that can be opened in the browser to watch tool calls and responses in real time.
A full list of environment variables and their defaults is available in documentation/CONFIGURATION.md. Highlights include:
MCP_MODEL_PROVIDER, MCP_MODEL_NAME, MCP_TEMPERATURE, MCP_MAX_STEPS, MCP_MAX_ACTIONS_PER_STEP, and MCP_USE_VISION control the LLM and agent run.ANTHROPIC_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, GOOGLE_API_KEY, AZURE_OPENAI_API_KEY, etc.).BROWSER_USE_HEADLESS, BROWSER_USE_EXTRA_CHROMIUM_ARGS, CHROME_PERSISTENT_SESSION, BROWSER_USE_PROXY_URL, ...).Use .env + python-dotenv or your preferred secrets manager to keep credentials out of source control.
uv run python -m pytest -q
The tests cover custom-agent behavior, browser configuration, MCP input limits, secret redaction, and utility helpers. A dependency update is not merge-ready merely because imports or unit tests pass; the resolved environment must also pass its dependency and security checks.
Controlling a full browser instance remotely can grant broad access to the host machine. Review documentation/SECURITY.md before exposing the server to untrusted environments. The complete documentation map and active dependency decision record are in documentation/README.md.
The MCP tool trims and bounds task/context input before allocating a model or browser session. Runtime step limits are constrained, proxy settings are omitted from debug logs, and CDP endpoint values are redacted because they may contain credentials.
The Python 3.14/browser-use dependency migration remains held in #45 until upstream permits patched transitive versions. Do not force incompatible overrides or suppress the audit findings.
git checkout -b my-new-featuregit commit -m 'Add some feature'git push origin my-new-featureBug reports and feature suggestions are welcome—please include logs and reproduction steps when applicable.
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.