levisnkyyy-browser-use-mcp
Version:
MCP server for Browser-Use API
120 lines (88 loc) • 2.69 kB
Markdown
# Browser-Use MCP Server
An MCP (Model Context Protocol) server that provides browser automation capabilities through the Browser-Use API.
## Installation
```bash
cd mcp
npm install
npm run build
```
## Configuration
The MCP server requires the following environment variables:
- `BROWSER_USE_API_URL`: The URL of the Browser-Use API server (default: `http://localhost:8000`)
- `BROWSER_USE_API_KEY`: Optional API key for authentication with the Browser-Use API
### LLM Provider API Keys
LLM provider API keys (OpenAI, Anthropic, Google) must be configured on the Browser-Use API server side as environment variables:
- `OPENAI_API_KEY`: For OpenAI models (e.g., gpt-4o)
- `ANTHROPIC_API_KEY`: For Anthropic models (e.g., claude-3-5-sonnet)
- `GOOGLE_API_KEY`: For Google models (e.g., gemini-pro)
These keys are not passed through the MCP protocol for security reasons.
## Usage
### With Claude Desktop
Add the following to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"browser-use": {
"command": "node",
"args": ["/path/to/browser-use/mcp/dist/index.js"],
"env": {
"BROWSER_USE_API_URL": "http://localhost:8000"
}
}
}
}
```
### With other MCP clients
```bash
export BROWSER_USE_API_URL=http://localhost:8000
node dist/index.js
```
## Available Tools
### Task Management
- `browser_use_create_task` - Create a new browser automation task
- `browser_use_get_task` - Get task status and results
- `browser_use_list_tasks` - List all tasks
- `browser_use_cancel_task` - Cancel a running task
- `browser_use_pause_task` - Pause a running task
- `browser_use_get_task_history` - Get task execution history
- `browser_use_get_screenshot` - Get current browser screenshot
- `browser_use_stream_task` - Stream real-time task updates
### Session Management
- `browser_use_create_session` - Create a reusable browser session
- `browser_use_close_session` - Close a browser session
### System
- `browser_use_health` - Check API health status
## Examples
### Create a task
```typescript
{
"task": "Navigate to example.com and take a screenshot",
"browser_config": {
"headless": false,
"viewport": { "width": 1920, "height": 1080 }
}
}
```
### Create a reusable session
```typescript
{
"headless": false,
"viewport": { "width": 1280, "height": 720 },
"cookies": [
{
"name": "session",
"value": "abc123",
"domain": ".example.com"
}
]
}
```
## Development
```bash
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Start production server
npm start
```