trackmcp
Back to directory
blazickjp

web-browser-mcp-server

View on GitHub

A Minimum Control Program (MCP) server implementation for web browsing capabilities using BeautifulSoup4

42 stars PythonWeb & Internet Tools Updated Sep 18, 2025

Documentation

Twitter Follow
smithery badge
Python Version
License: MIT
PyPI Downloads
PyPI Version

✨ Features

> 🌐 Enable AI assistants to browse and extract content from the web through a simple MCP interface.

The Web Browser MCP Server provides AI models with the ability to browse websites, extract content, and understand web pages through the Message Control Protocol (MCP). It enables smart content extraction with CSS selectors and robust error handling.

✨ Core Features

  • 🎯 Smart Content Extraction: Target exactly what you need with CSS selectors
  • Lightning Fast: Built with async processing for optimal performance
  • 📊 Rich Metadata: Capture titles, links, and structured content
  • 🛡️ Robust & Reliable: Built-in error handling and timeout management
  • 🌍 Cross-Platform: Works everywhere Python runs

🚀 Quick Start

Installing via Smithery

To install Web Browser Server for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install web-browser-mcp-server --client claude

Installing Manually

Install using uv:

bash
uv tool install web-browser-mcp-server

For development:

bash
# Clone and set up development environment
git clone https://github.com/blazickjp/web-browser-mcp-server.git
cd web-browser-mcp-server

# Create and activate virtual environment
uv venv
source .venv/bin/activate

# Install with test dependencies
uv pip install -e ".[test]"

🔌 MCP Integration

Add this configuration to your MCP client config file:

json
{
    "mcpServers": {
        "web-browser-mcp-server": {
            "command": "uv",
            "args": [
                "tool",
                "run",
                "web-browser-mcp-server"
            ],
            "env": {
                "REQUEST_TIMEOUT": "30"
            }
        }
    }
}

For Development:

json
{
    "mcpServers": {
        "web-browser-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "path/to/cloned/web-browser-mcp-server",
                "run",
                "web-browser-mcp-server"
            ],
            "env": {
                "REQUEST_TIMEOUT": "30"
            }
        }
    }
}

💡 Available Tools

The server provides a powerful web browsing tool:

browse_webpage

Browse and extract content from web pages with optional CSS selectors:

python
# Basic webpage fetch
result = await call_tool("browse_webpage", {
    "url": "https://example.com"
})

# Target specific content with CSS selectors
result = await call_tool("browse_webpage", {
    "url": "https://example.com",
    "selectors": {
        "headlines": "h1, h2",
        "main_content": "article.content",
        "navigation": "nav a"
    }
})

⚙️ Configuration

Configure through environment variables:

VariablePurposeDefault
`REQUEST_TIMEOUT`Webpage request timeout in seconds30

🧪 Testing

Run the test suite:

bash
python -m pytest

📄 License

Released under the MIT License. See the LICENSE file for details.


Frequently asked questions

What is web-browser-mcp-server?

web-browser-mcp-server is A Minimum Control Program (MCP) server implementation for web browsing capabilities using BeautifulSoup4

How do I install web-browser-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is web-browser-mcp-server open source?

Yes — it is hosted on GitHub at https://github.com/blazickjp/web-browser-mcp-server and has 42 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP