icon for mcp server

Browser Automation

STDIO

FastMCP server enabling browser automation through natural language commands.



Browser Use MCP Server

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)

pip install -e "git+https://github.com/yourusername/browser-use-mcp.git#egg=browser-use-mcp[openai]"

Or install all providers

pip install -e "git+https://github.com/yourusername/browser-use-mcp.git#egg=browser-use-mcp[all-providers]"

Install Playwright browsers

playwright install chromium

2. Configure your MCP client

Add the browser-use-mcp server to your MCP client configuration:

{ "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

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
{ "mcpServers": { "browser-use": { "command": "browser-use-mcp", "args": ["--model", "claude-3-opus-20240229"] } } }
  1. 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:

ProviderAPI Key Environment Variable
OpenAIOPENAI_API_KEY
AnthropicANTHROPIC_API_KEY
GoogleGOOGLE_API_KEY
CohereCOHERE_API_KEY
Mistral AIMISTRAL_API_KEY
GroqGROQ_API_KEY
Together AITOGETHER_API_KEY
AWS BedrockAWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
FireworksFIREWORKS_API_KEY
Azure OpenAIAZURE_OPENAI_API_KEY and AZURE_OPENAI_ENDPOINT
Vertex AIGOOGLE_APPLICATION_CREDENTIALS
NVIDIANVIDIA_API_KEY
AI21AI21_API_KEY
DatabricksDATABRICKS_HOST and DATABRICKS_TOKEN
IBM watsonx.aiWATSONX_API_KEY
xAIXAI_API_KEY
UpstageUPSTAGE_API_KEY
Hugging FaceHUGGINGFACE_API_KEY
OllamaOLLAMA_BASE_URL
Llama.cppLLAMA_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

Be the First to Experience MCP Now