Skip to main content
Glama

Browser Use MCP Server

README.md5.12 kB
<div align="center"> <br /> <br /> <img src="public/light.svg" alt="Browser Use MCP Server" width="100%"> <br /> <br /> </div> # Browser Use MCP Server A FastMCP server that enables browser automation through natural language commands. This server allows Language Models to browse the web, fill out forms, click buttons, and perform other web-based tasks via a simple API. ## Quick Start ### 1. Install the package Install with a specific provider (e.g., OpenAI) ```bash pip install -e "git+https://github.com/yourusername/browser-use-mcp.git#egg=browser-use-mcp[openai]" ``` Or install all providers ```bash pip install -e "git+https://github.com/yourusername/browser-use-mcp.git#egg=browser-use-mcp[all-providers]" ``` Install Playwright browsers ```bash playwright install chromium ``` ### 2. Configure your MCP client Add the browser-use-mcp server to your MCP client configuration: ```javascript { "mcpServers": { "browser-use-mcp": { "command": "browser-use-mcp", "args": ["--model", "gpt-4o"], "env": { "OPENAI_API_KEY": "your-openai-api-key", // Or any other provider's API key "DISPLAY": ":0" // For GUI environments } } } } ``` Replace `"your-openai-api-key"` with your actual API key or use an environment variable reference like `process.env.OPENAI_API_KEY`. ### 3. Use it with your favorite MCP client #### Example using mcp-use with Python ```python import asyncio import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI from mcp_use import MCPAgent, MCPClient async def main(): # Load environment variables load_dotenv() # Create MCPClient from config file client = MCPClient( config={ "mcpServers": { "browser-use-mcp": { "command": "browser-use-mcp", "args": ["--model", "gpt-4o"], "env": { "OPENAI_API_KEY": os.getenv("OPENAI_API_KEY"), "DISPLAY": ":0", }, } } } ) # Create LLM llm = ChatOpenAI(model="gpt-4o") # Create agent with the client agent = MCPAgent(llm=llm, client=client, max_steps=30) # Run the query result = await agent.run( """ Navigate to https://github.com, search for "browser-use-mcp", and summarize the project. """, max_steps=30, ) print(f"\nResult: {result}") if __name__ == "__main__": asyncio.run(main()) ``` #### Using Claude for Desktop 1. Open Claude for Desktop 2. Go to Settings → Experimental features 3. Enable Claude API Beta and OpenAPI schema for API 4. Add the following configuration to your Claude Desktop config file: - Mac: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%AppData%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "browser-use": { "command": "browser-use-mcp", "args": ["--model", "claude-3-opus-20240229"] } } } ``` 5. Start a new conversation with Claude and ask it to perform web tasks ## Supported LLM Providers The following LLM providers are supported for browser automation: | Provider | API Key Environment Variable | |----------|----------------------------| | OpenAI | `OPENAI_API_KEY` | | Anthropic | `ANTHROPIC_API_KEY` | | Google | `GOOGLE_API_KEY` | | Cohere | `COHERE_API_KEY` | | Mistral AI | `MISTRAL_API_KEY` | | Groq | `GROQ_API_KEY` | | Together AI | `TOGETHER_API_KEY` | | AWS Bedrock | `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` | | Fireworks | `FIREWORKS_API_KEY` | | Azure OpenAI | `AZURE_OPENAI_API_KEY` and `AZURE_OPENAI_ENDPOINT` | | Vertex AI | `GOOGLE_APPLICATION_CREDENTIALS` | | NVIDIA | `NVIDIA_API_KEY` | | AI21 | `AI21_API_KEY` | | Databricks | `DATABRICKS_HOST` and `DATABRICKS_TOKEN` | | IBM watsonx.ai | `WATSONX_API_KEY` | | xAI | `XAI_API_KEY` | | Upstage | `UPSTAGE_API_KEY` | | Hugging Face | `HUGGINGFACE_API_KEY` | | Ollama | `OLLAMA_BASE_URL` | | Llama.cpp | `LLAMA_CPP_SERVER_URL` | For more information check out: https://python.langchain.com/docs/integrations/chat/ You can create a `.env` file in the project directory with your API keys: ``` OPENAI_API_KEY=your_openai_key_here # Or any other provider key ``` ## Troubleshooting - **API Key Issues**: Ensure your API key is correctly set in your environment variables or `.env` file. - **Provider Not Found**: Make sure you've installed the required provider package. - **Browser Automation Errors**: Check that Playwright is correctly installed with `playwright install chromium`. - **Model Selection**: If you get errors about an invalid model, try using the `--model` flag to specify a valid model for your provider. - **Debug Mode**: Use `--debug` to enable more detailed logging that can help identify issues. - **MCP Client Configuration**: Make sure your MCP client is correctly configured with the right command and environment variables. ## License MIT # browser-use-mcp

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pietrozullo/browser-use-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server