mcp-server-browser-use-ollama
Browser Use MCP is a powerful browser automation and control system that enables AI agents to interact with web browsers through the Model Context Protocol (MCP).
Browser Use MCP
A powerful browser automation and control system that enables AI agents to interact with web browsers through the Model Context Protocol (MCP). This implementation is specifically designed to work with Ollama local models, providing a secure and efficient way to automate browser interactions using locally-hosted AI models.
Features
- MCP Integration: Full support for Model Context Protocol, enabling structured communication between AI models and browser automation
- Ollama Model Support: Optimized for local AI models running through Ollama
- Browser Control: Direct browser manipulation and automation with screenshot capabilities
- DOM Management: Advanced DOM tree building and processing
- AI Agent System: Sophisticated message management and service orchestration
- Telemetry: Built-in system monitoring and performance tracking
- Extensible Architecture: Modular design supporting custom actions and features
Prerequisites
- Ollama installed and running locally
- Python 3.8 or higher
- pip package manager
Installation
# Clone the repository
git clone https://github.com/yourusername/browser-use-mcp.git
cd browser-use-mcp
# Install dependencies
pip install -r requirements.txt
# Configure Ollama (ensure Ollama is running)
ollama pull qwen2.5-coder:7b # or your preferred model
Quick Start
from browser_use.agent import Agent
from browser_use.browser import Browser
from browser_use.mcp import MCPServer
# Initialize MCP server and Ollama model
mcp_server = MCPServer(model="qwen2.5-coder:7b")
# Initialize browser and agent
browser = Browser()
agent = Agent(browser, mcp_server)
# Execute browser actions through MCP
agent.execute("Navigate to https://example.com and click the first button")
Project Structure
browser_use/
āāā agent/ # AI agent coordination
āāā browser/ # Browser control and automation
āāā dom/ # DOM tree management
āāā controller/ # System coordination
āāā telemetry/ # System monitoring
Documentation
Comprehensive documentation is available in the .context
directory:
- Project overview and goals in
.context/index.md
- System architecture in
.context/docs/architecture.md
- System flow diagrams in
.context/diagrams/system-flow.md
Using with MCP Clients
Claude Desktop Integration
To use browser-use-mcp with Claude Desktop:
- Add the MCP server configuration to Claude Desktop's settings (
claude_desktop_config.json
):
{
"mcpServers": {
"browser-use": {
"command": "/path/to/.venv/bin/python",
"args": [
"/path/to/server.py"
]
}
}
}
-
Restart Claude Desktop to load the new MCP server
-
The browser control tools will now be available to Claude through the MCP protocol:
browser_action
: Control browser interactionsread_dom
: Access page DOM informationget_screenshot
: Capture browser state
Other MCP Clients
For other MCP-compatible clients, configure the server using these parameters:
- Command:
python
- Arguments:
["-m", "browser_use.mcp_server"]
- Environment Variables:
OLLAMA_HOST
: Ollama API host (default: http://localhost:11434)BROWSER_HEADLESS
: Run browser in headless mode (default: false)SCREENSHOT_DIR
: Directory for saving screenshots (default: ./screenshots)
Examples
Check out the examples/
directory for various use cases:
- Simple browser automation
- Custom function integration
- Multi-tab handling
- Parallel agent operations
- MCP client integration examples
- And more!
Testing
# Run all tests
pytest
# Run specific test file
pytest tests/test_browser.py
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related MCP Servers
View all browser_automation servers āFetch
by modelcontextprotocol
A Model Context Protocol server that provides web content fetching capabilities, enabling LLMs to retrieve and process content from web pages.
markdownify-mcp
by zcaceres
Markdownify is a Model Context Protocol (MCP) server that converts various file types and web content to Markdown format.
mcp-playwright
by executeautomation
A Model Context Protocol server that provides browser automation capabilities using Playwright.
playwright-mcp
by microsoft
Playwright MCP is a Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots.
cursor-talk-to-figma-mcp
by sonnylazuardi
This project implements a Model Context Protocol (MCP) integration between Cursor AI and Figma, allowing Cursor to communicate with Figma for reading designs and modifying them programmatically.
firecrawl-mcp-server
by mendableai
Firecrawl MCP Server is a Model Context Protocol server implementation that integrates with Firecrawl for web scraping capabilities.
ai-agent-marketplace-index-mcp
by AI-Agent-Hub
MCP Server for AI Agent Marketplace Index from DeepNLP, allowing AI assistants to search available AI agents by keywords or categories.