mcpField
M
MCP-Browse

MCP-Browse

Local
github.com/tylergannonBrowser Automation0Updated 78w ago

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

  1. 01Navigate pages and handle redirects
  2. 02Click by element ID or CSS selector
  3. 03Enter text and form values
  4. 04Download images and files
  5. 05Run JavaScript and return results

Use cases

  1. 01Automate browsing e-commerce product pages
  2. 02Fill web forms and operate controls
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

  1. Navigate - Visit a URL with optional redirect handling
  2. Click - Click on elements using ID or CSS selectors
  3. Input - Enter values in form fields (text, checkboxes, select dropdowns)
  4. Download - Retrieve images or files
  5. 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
  1. Clone the repository
  2. Install dependencies:
    go mod download
    
  3. Generate Protocol Buffer code:
    buf generate
    
Run Tests
go test ./...

License

MIT License

Comments

Markdown supported

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.