P

web-browser-mcp-server

...
Created 11/29/2024byblazickjp

Language:

Python

Stars:

25

Forks:

6

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.

๐Ÿค Contribute โ€ข ๐Ÿ“ Report Bug

โœจ 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](https://smithery.ai/server/web-browser-mcp-server):
npx -y @smithery/cli install web-browser-mcp-server --client claude

Installing Manually

Install using uv:

uv tool install web-browser-mcp-server

For development:

# 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:

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

For Development:

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

# 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_TIMEOUTWebpage request timeout in seconds30

๐Ÿงช Testing

Run the test suite:

python -m pytest

๐Ÿ“„ License

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


Made with โค๏ธ by the Pear Labs Team

Last updated: 3/5/2025

Publisher info

blazickjp's avatar

Joe Blazick

Sr. Data Scientist working at Amazon

Amazon
Pittsburgh, PA
8
followers
6
following
25
repos

More MCP servers built with Python

usgs-water-mcp

This MCP server provides access to real-time water data from the USGS Water Services API. It allows you to fetch instantaneous water measurements including stream flow, gage height, temperature, and other water quality parameters from thousands of monitoring stations across the United States.

By pgiffy
screeny

Privacy-focused macOS MCP server for secure, user-approved window screenshots

By rohanrav
Freepik MCP

Freepik MCP allows LLMs to access everything available through the Freepik API โ€” including searching and retrieving images, icons, illustrations, and using tools for image generation, video creation, and image enhancement โ€” all in an LLM-friendly format.

By Freepik Company