MCP-Browse
@tylergannon
An MCP Server that gives the LLM some basic browsing capabilities
Overview
What is MCP-Browse?
MCP-Browse is a browser control protocol for automating interactions with web pages, particularly e-commerce sites. It provides a clean interface for navigation, clicking, form input, downloading files, and executing JavaScript, using Protocol Buffers for efficient typed communication.
How to use MCP-Browse?
Install Go 1.18+ and Protocol Buffers compiler, clone the repository, run go mod download, generate Protocol Buffer code with buf generate, then create a client using NewMCPBrowserServiceClient and invoke gesture operations like Navigate, Click, and Input which return streamed responses.
Key features of MCP-Browse
- Gesture-based protocol for browser interactions
- Supports Navigation, Click, Input, Download, ExecuteScript
- Streamed responses for navigation and input gestures
- Uses Protocol Buffers for efficient typed communication
- Focused on automating e-commerce site workflows
Use cases of MCP-Browse
- Automate product page navigation and clicks
- Fill and submit e-commerce forms (add to cart, checkout)
- Download images or files from web pages
- Execute custom JavaScript on pages to extract data
- Handle redirects during page navigation
FAQ from MCP-Browse
What runtime does MCP-Browse require?
Go 1.18+ and the Protocol Buffers compiler are required.
How does MCP-Browse handle page navigation?
It returns a stream with optional redirect events, page content or error info, and a completion event.
What types of browser interactions are supported?
Navigate, Click (by ID or CSS selector), Input (text, checkboxes, dropdowns), Download, and ExecuteScript.
Is MCP-Browse a standalone server or a library?
The README describes a client library; the protocol is server-based but the server implementation is not detailed in the provided text.
How are responses returned for different operations?
Browser gesture operations return streamed responses; utility operations (Download, ExecuteScript) return a single response.