About MCP-Browse
MCP-Browse is an MCP server for browser automation, aimed at LLM-based browsing workflows, with an emphasis on e-commerce interactions. Its Protocol Buffers interface covers navigation, clicking, input, downloads, and script execution.
Key features
- 01Navigate pages and handle redirects
- 02Click by element ID or CSS selector
- 03Enter text and form values
- 04Download images and files
- 05Run JavaScript and return results
Use cases
- 01Automate browsing e-commerce product pages
- 02Fill web forms and operate controls
- 03Download files or run scripts on pages
MCP support
It exposes browser operations to MCP clients through a remote protocol, including navigation, clicking, input, downloads, and script execution.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP-Browse
A browser control protocol for automation and e-commerce site interaction.
Overview
MCP-Browse provides a clean, streamlined interface for controlling browser interactions through a remote protocol. It's particularly focused on common e-commerce site interactions like:
- Navigation to pages
- Clicking on elements
- Entering form data
- Downloading images and files
- Executing JavaScript
All operations use protocol buffers for efficient, typed communication.
Protocol Design
The protocol is designed around "gestures" that represent user interactions with a browser:
- Navigate - Visit a URL with optional redirect handling
- Click - Click on elements using ID or CSS selectors
- Input - Enter values in form fields (text, checkboxes, select dropdowns)
- Download - Retrieve images or files
- ExecuteScript - Run JavaScript on the page and get results
Browser gesture operations (Navigate, Click, Input) return streamed responses that include:
- Zero or more redirect events
- Page content or error information
- A completion event
Utility operations (Download, ExecuteScript) return a single response with the requested data.
Example Usage
// Create a client
// client := NewMCPBrowserServiceClient(...)
// Navigate to a product page
navigateReq := apiv1.NavigateRequest_builder{
Url: stringPtr("https://example-shop.com/products"),
AllowRedirects: boolPtr(true),
}.Build()
// Process the response stream
// stream, err := client.Navigate(context.Background(), navigateReq)
// handleResponseStream(stream)
// Click on a product
clickReq := apiv1.ClickRequest_builder{
CssSelector: stringPtr(".product-item"),
}.Build()
// Process the response stream
// stream, err = client.Click(context.Background(), clickReq)
// handleResponseStream(stream)
// Add to cart
clickReq = apiv1.ClickRequest_builder{
CssSelector: stringPtr(".add-to-cart-button"),
}.Build()
// Process the response stream
// stream, err = client.Click(context.Background(), clickReq)
// handleResponseStream(stream)
Building and Running
Prerequisites
- Go 1.18+
- Protocol Buffers compiler
Setup
- Clone the repository
- Install dependencies:
go mod download - Generate Protocol Buffer code:
buf generate
Run Tests
go test ./...
License
MIT License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.