Skip to main content
Glama
README.md
# Rod MCP Server

<div align="center">

<img src="assets/logo2.png" alt="logo" width="400" height="400">


<strong>Wow! It's awesome, now you can use the MCP server of Rod!πŸš€</strong>

<br>

<strong>Rod-MCP provides browser automation capabilities for your applications by using [Rod](https://github.com/go-rod/rod). The server provides many useful mcp tools enable LLMs to interact with the web pages, like click, take screenshot, save page as pdf etc.</strong>

</div>


<h3>Engilsh | <a href='./README_CN.md'> δΈ­ζ–‡ </a></h3>


## Features

- πŸš€ Browser automation powered by Rod
- 🎯 Rich web interaction capabilities
  - Element clicking
  - Screenshot capture
  - PDF generation
  - And more...
- 🎨 Headless/GUI mode support
- ⚑ High performance and stability
- πŸ”§ Easy to configure and extend
- πŸ€– Designed for LLMs interaction

## Installation

### Prerequisites

- Go 1.23 or higher
- Chrome/Chromium browser

### Steps

1. Clone the repository:
```bash
git clone https://github.com/go-rod/rod-mcp.git
cd rod-mcp
```

2. Install dependencies:
```bash
go mod tidy
```

3. Build the project:
```bash
go build
```

## Usage

### Basic Usage

1. Clone Repo and Build Self or [Go to Download Release](https://github.com/go-rod/rod-mcp/releases)
2. Configure MCP:
```json
{
    "mcpServers": {
        "rod-mcp": {
            "command": "rod-mcp",
            "args": [
                "-c", "rod-mcp.yaml"
            ]
        }
    }
}
```

### Configuration

The configuration file supports the following options:
- serverName: Server name, default is "Rod Server"
- browserBinPath: Browser executable file path, use system default browser if empty
- headless: Whether to run the browser in headless mode, default is false
- browserTempDir: Browser temporary file directory, default is "./rod/browser"
- noSandbox: Whether to disable sandbox mode, default is false
- proxy: Proxy server settings, supports socks5 proxy

## Project Structure

```
rod-mcp/
β”œβ”€β”€ assets/          # Static resources
β”œβ”€β”€ banner/          # Banner resources
β”œβ”€β”€ cmd.go           # Command line processing
β”œβ”€β”€ main.go          # Program entry
β”œβ”€β”€ resources/       # Resource files
β”œβ”€β”€ server.go        # Server implementation
β”œβ”€β”€ tools/           # Tool implementation
β”œβ”€β”€ types/           # Type definitions
└── utils/           # Utility functions
```

## Contribution Guidelines

Welcome to submit Pull Request or create Issue!

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file