# 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