{"id":29242714,"url":"https://github.com/JovaniPink/mcp-browser-use","last_synced_at":"2025-07-03T20:33:06.310Z","repository":{"id":274098606,"uuid":"921776950","full_name":"JovaniPink/mcp-browser-use","owner":"JovaniPink","description":"FastAPI server implementing MCP protocol Browser automation via browser-use library.","archived":false,"fork":false,"pushed_at":"2025-06-27T19:59:33.000Z","size":105,"stargazers_count":47,"open_issues_count":4,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T00:47:08.667Z","etag":null,"topics":["agent-ai","agentic-ai","browser-use","mcp","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JovaniPink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-24T15:43:48.000Z","updated_at":"2025-06-22T16:40:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"47453c9b-fd5b-4b73-92de-1b726c6da8c1","html_url":"https://github.com/JovaniPink/mcp-browser-use","commit_stats":null,"previous_names":["jovanipink/mcp-browser-use"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JovaniPink/mcp-browser-use","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fmcp-browser-use","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fmcp-browser-use/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fmcp-browser-use/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fmcp-browser-use/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JovaniPink","download_url":"https://codeload.github.com/JovaniPink/mcp-browser-use/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JovaniPink%2Fmcp-browser-use/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263400029,"owners_count":23460803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-ai","agentic-ai","browser-use","mcp","python"],"created_at":"2025-07-03T20:32:25.595Z","updated_at":"2025-07-03T20:33:06.297Z","avatar_url":"https://github.com/JovaniPink.png","language":"Python","funding_links":[],"categories":["Web Search MCP Servers","Server Implementations \u0026 Protocol Integration"],"sub_categories":[],"readme":"# MCP server w/ Browser Use\n\n[![smithery badge](https://smithery.ai/badge/@JovaniPink/mcp-browser-use)](https://smithery.ai/server/@JovaniPink/mcp-browser-use)\n\n\u003e MCP server for [browser-use](https://github.com/browser-use/browser-use).\n\n\u003ca href=\"https://glama.ai/mcp/servers/tjea5rgnbv\"\u003e\u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/tjea5rgnbv/badge\" alt=\"Browser Use Server MCP server\" /\u003e\u003c/a\u003e\n\n## Overview\n\nThis repository contains the server for the [browser-use](https://github.com/browser-use/browser-use) library, which provides a powerful browser automation system that enables AI agents to interact with web browsers through natural language. The server is built on Anthropic's [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) and provides a seamless integration with the [browser-use](https://github.com/browser-use/browser-use) library.\n\n## Features\n\n1. **Browser Control**\n\n- Automated browser interactions via natural language\n- Navigation, form filling, clicking, and scrolling capabilities\n- Tab management and screenshot functionality\n- Cookie and state management\n\n2. **Agent System**\n\n- Custom agent implementation in custom_agent.py\n- Vision-based element detection\n- Structured JSON responses for actions\n- Message history management and summarization\n\n3. **Configuration**\n\n- Environment-based configuration for API keys and settings\n- Chrome browser settings (debugging port, persistence)\n- Model provider selection and parameters\n\n## Dependencies\n\nThis project relies on the following Python packages:\n\n| Package                                    | Version    | Description                                                                                                                                                                                                   |\n| :----------------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| [Pillow](https://python-pillow.org/)      | \u003e=10.1.0  | Python Imaging Library (PIL) fork that adds image processing capabilities to your Python interpreter.                                                                                                        |\n| [browser-use](https://github.com/browser-use/browser-use) | ==0.1.19  | A powerful browser automation system that enables AI agents to interact with web browsers through natural language. The core library that powers this project's browser automation capabilities.      |\n| [fastapi](https://fastapi.tiangolo.com/)    | \u003e=0.115.6 | Modern, fast (high-performance) web framework for building APIs with Python 3.7+ based on standard Python type hints. Used to create the server that exposes the agent's functionality.                          |\n| [fastmcp](https://pypi.org/project/fastmcp/)    | \u003e=0.4.1   | A framework that wraps FastAPI for building MCP (Model Context Protocol) servers.    |\n| [instructor](https://github.com/jxnl/instructor)   | \u003e=1.7.2   | Library for structured output prompting and validation with OpenAI models. Enables extracting structured data from model responses.                                                                       |\n| [langchain](https://www.langchain.com/)     | \u003e=0.3.14  | Framework for developing applications with large language models (LLMs). Provides tools for chaining together different language model components and interacting with various APIs and data sources.          |\n| [langchain-google-genai](https://pypi.org/project/langchain-google-genai/) | \u003e=2.1.1   | LangChain integration for Google GenAI models, enabling the use of Google's generative AI capabilities within the LangChain framework. |\n| [langchain-openai](https://api.python.langchain.com/en/latest/langchain_openai.html) | \u003e=0.2.14 | LangChain integrations with OpenAI's models. Enables using OpenAI models (like GPT-4) within the LangChain framework. Used in this project for interacting with OpenAI's language and vision models. |\n| [langchain-ollama](https://api.python.langchain.com/en/latest/langchain_ollama/chat_models/ChatOllama.html) | \u003e=0.2.2   | Langchain integration for Ollama, enabling local execution of LLMs. |\n| [openai](https://platform.openai.com/docs/api-reference)    | \u003e=1.59.5  | Official Python client library for the OpenAI API. Used to interact directly with OpenAI's models (if needed, in addition to LangChain).                                                                    |\n| [python-dotenv](https://pypi.org/project/python-dotenv/) | \u003e=1.0.1   | Reads key-value pairs from a `.env` file and sets them as environment variables. Simplifies local development and configuration management.                                                                 |\n| [pydantic](https://docs.pydantic.dev/)       | \u003e=2.10.5  | Data validation and settings management using Python type annotations. Provides runtime enforcement of types and automatic model creation. Essential for defining structured data models in the agent.        |\n| [pyperclip](https://pyperclip.readthedocs.io/)   | \u003e=1.9.0   | Cross-platform Python module for copy and paste clipboard functions.                                                                                                                                  |\n| [uvicorn](https://www.uvicorn.org/)        | \u003e=0.22.0  | ASGI web server implementation for Python. Used to serve the FastAPI application.                                                                                                                           |\n\n## Components\n\n### Resources\n\nThe server implements a browser automation system with:\n\n- Integration with browser-use library for advanced browser control\n- Custom browser automation capabilities\n- Agent-based interaction system with vision capabilities\n- Persistent state management\n- Customizable model settings\n\n### Requirements\n\n- Operating Systems (Linux, macOS, Windows; we haven't tested for Docker or Microsoft WSL)\n- Python 3.11 or higher\n- uv (fast Python package installer)\n- Chrome/Chromium browser\n- [Claude Desktop](https://claude.ai/download)\n\n### Quick Start\n\n#### Claude Desktop\n\nOn MacOS: `~/Library/Application\\ Support/Claude/claude_desktop_config.json`\nOn Windows: `%APPDATA%/Claude/claude_desktop_config.json`\n\n#### Installing via Smithery\n\nTo install Browser Use for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@JovaniPink/mcp-browser-use):\n\n```bash\nnpx -y @smithery/cli install @JovaniPink/mcp-browser-use --client claude\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eDevelopment Configuration\u003c/summary\u003e\n\n```json\n\"mcpServers\": {\n  \"mcp_server_browser_use\": {\n    \"command\": \"uvx\",\n    \"args\": [\n      \"mcp-server-browser-use\",\n    ],\n    \"env\": {\n      \"OPENAI_ENDPOINT\": \"https://api.openai.com/v1\",\n      \"OPENAI_API_KEY\": \"\",\n      \"ANTHROPIC_API_KEY\": \"\",\n      \"GOOGLE_API_KEY\": \"\",\n      \"AZURE_OPENAI_ENDPOINT\": \"\",\n      \"AZURE_OPENAI_API_KEY\": \"\",\n      // \"DEEPSEEK_ENDPOINT\": \"https://api.deepseek.com\",\n      // \"DEEPSEEK_API_KEY\": \"\",\n      // Set to false to disable anonymized telemetry\n      \"ANONYMIZED_TELEMETRY\": \"false\",\n      // Chrome settings\n      \"CHROME_PATH\": \"\",\n      \"CHROME_USER_DATA\": \"\",\n      \"CHROME_DEBUGGING_PORT\": \"9222\",\n      \"CHROME_DEBUGGING_HOST\": \"localhost\",\n      // Set to true to keep browser open between AI tasks\n      \"CHROME_PERSISTENT_SESSION\": \"false\",\n      // Model settings\n      \"MCP_MODEL_PROVIDER\": \"anthropic\",\n      \"MCP_MODEL_NAME\": \"claude-3-5-sonnet-20241022\",\n      \"MCP_TEMPERATURE\": \"0.3\",\n      \"MCP_MAX_STEPS\": \"30\",\n      \"MCP_USE_VISION\": \"true\",\n      \"MCP_MAX_ACTIONS_PER_STEP\": \"5\",\n      \"MCP_TOOL_CALL_IN_CONTENT\": \"true\"\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n### Environment Variables\n\nKey environment variables:\n\n```bash\n# API Keys\nANTHROPIC_API_KEY=anthropic_key\n\n# Chrome Configuration\n# Optional: Path to Chrome executable\nCHROME_PATH=/path/to/chrome\n# Optional: Chrome user data directory\nCHROME_USER_DATA=/path/to/user/data\n# Default: 9222\nCHROME_DEBUGGING_PORT=9222\n# Default: localhost\nCHROME_DEBUGGING_HOST=localhost\n# Keep browser open between tasks\nCHROME_PERSISTENT_SESSION=false\n\n# Model Settings\n# Options: anthropic, openai, azure, deepseek\nMCP_MODEL_PROVIDER=anthropic\n# Model name\nMCP_MODEL_NAME=claude-3-5-sonnet-20241022\nMCP_TEMPERATURE=0.3\nMCP_MAX_STEPS=30\nMCP_USE_VISION=true\nMCP_MAX_ACTIONS_PER_STEP=5\n```\n\n## Development\n\n### Setup\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/JovaniPink/mcp-browser-use.git\ncd mcp-browser-use\n```\n\n2. Create and activate virtual environment:\n\n```bash\npython -m venv .venv\nsource .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n```\n\n3. Install dependencies:\n\n```bash\nuv sync\n```\n\n4. Start the server\n\n```bash\nuv run mcp-browser-use\n```\n\n### Debugging\n\nFor debugging, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):\n\n```bash\nnpx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-server-browser-use\n```\n\nThe Inspector will display a URL for the debugging interface.\n\n## Browser Actions\n\nThe server supports various browser actions through natural language:\n\n- Navigation: Go to URLs, back/forward, refresh\n- Interaction: Click, type, scroll, hover\n- Forms: Fill forms, submit, select options\n- State: Get page content, take screenshots\n- Tabs: Create, close, switch between tabs\n- Vision: Find elements by visual appearance\n- Cookies \u0026 Storage: Manage browser state\n\n## Security\n\nI want to note that there are some Chrome settings that are set to allow for the browser to be controlled by the server. This is a security risk and should be used with caution. The server is not intended to be used in a production environment.\n\nSecurity Details: [SECURITY.MD](./documentation/SECURITY.md)\n\n## Contributing\n\nWe welcome contributions to this project. Please follow these steps:\n\n1. Fork this repository.\n2. Create your feature branch: `git checkout -b my-new-feature`.\n3. Commit your changes: `git commit -m 'Add some feature'`.\n4. Push to the branch: `git push origin my-new-feature`.\n5. Submit a pull request.\n\nFor major changes, open an issue first to discuss what you would like to change. Please update tests as appropriate to reflect any changes made.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJovaniPink%2Fmcp-browser-use","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJovaniPink%2Fmcp-browser-use","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJovaniPink%2Fmcp-browser-use/lists"}