web-browser
A Minimum Control Program (MCP) server implementation for web browsing capabilities using BeautifulSoup4
claude mcp add --transport stdio blazickjp-web-browser-mcp-server uv tool run web-browser-mcp-server \ --env REQUEST_TIMEOUT="30"
How to use
The Web Browser MCP Server lets AI models browse the web, extract content, and understand web pages through the MCP interface. It exposes a single primary tool called browse_webpage that you can invoke from your MCP client. This tool lets you fetch a web page and optionally apply CSS selectors to grab targeted content such as headlines, article bodies, or links. Use it to perform quick content extraction, metadata capture (titles, URLs), and structured outputs. The server is designed to run asynchronously for performance and includes error handling and timeout management to keep interactions reliable. To use it, configure your MCP client to run the UV-based server and call the browse_webpage tool with a URL and optional selectors, then process the structured results returned by the tool.
How to install
Prerequisites:
- Python 3.11 or newer
- Git (optional for cloning)
- uv installed (Python tool runner) – see installation steps below
Install via uv (recommended for development and local testing):
- Install the server package: uv tool install web-browser-mcp-server
- Run or configure the MCP to point at the installed tool (see mcp_config below).
Manual development setup (optional):
- Clone the repository: git clone https://github.com/blazickjp/web-browser-mcp-server.git cd web-browser-mcp-server
- Create and activate a virtual environment: uv venv source .venv/bin/activate
- Install dependencies (including test dependencies if needed): uv pip install -e ".[test]"
- Run tests (optional): python -m pytest
Configuration (example to use with MCP):
- In your MCP client config, add: { "mcpServers": { "web-browser-mcp-server": { "command": "uv", "args": [ "tool", "run", "web-browser-mcp-server" ], "env": { "REQUEST_TIMEOUT": "30" } } } }
Additional notes
Environment variable REQUEST_TIMEOUT controls the per-page request timeout in seconds; adjust as needed for slower networks. If using development workflows, you can point MCP to a local clone with the --directory option and run the server from that directory. Ensure Python 3.11+ is installed and that uv is available in your PATH. The browse_webpage tool supports CSS selectors for targeted extraction; verify selectors against the page structure, as dynamic sites may require additional handling. If you encounter timeouts, increase REQUEST_TIMEOUT and verify network access. This server is cross-platform and runs wherever Python runs.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP