@olib-ai/owl-browser-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +199 -0
- package/dist/index.cjs +26869 -0
- package/dist/index.js +26998 -0
- package/package.json +46 -0
package/README.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Owl Browser MCP Server
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) server for Owl Browser HTTP API. This server dynamically generates 144 browser automation tools from the embedded OpenAPI schema.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **144 Browser Tools**: Full browser automation including navigation, clicks, typing, screenshots, CAPTCHA solving, and more
|
|
8
|
+
- **Multiple Contexts**: Create and manage multiple isolated browser contexts (sessions)
|
|
9
|
+
- **Anti-Detection**: Built-in fingerprint management, proxy support, and stealth features
|
|
10
|
+
- **HTTP API Backend**: Connects to Owl Browser's HTTP server (Docker or standalone)
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
### Via npx (recommended)
|
|
15
|
+
|
|
16
|
+
No installation needed - just configure Claude Desktop to use:
|
|
17
|
+
```json
|
|
18
|
+
"command": "npx",
|
|
19
|
+
"args": ["-y", "@olib-ai/owl-browser-mcp"]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Global install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g @olib-ai/owl-browser-mcp
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then use in Claude Desktop config:
|
|
29
|
+
```json
|
|
30
|
+
"command": "owl-browser-mcp"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### From source
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
git clone https://github.com/Olib-AI/owl-browser-mcp
|
|
37
|
+
cd owl-browser-mcp
|
|
38
|
+
npm install
|
|
39
|
+
npm run build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Configuration
|
|
43
|
+
|
|
44
|
+
Set environment variables before running:
|
|
45
|
+
|
|
46
|
+
| Variable | Description | Default |
|
|
47
|
+
|----------|-------------|---------|
|
|
48
|
+
| `OWL_API_ENDPOINT` | HTTP API endpoint URL | `http://127.0.0.1:8080` |
|
|
49
|
+
| `OWL_API_TOKEN` | Bearer token for authentication | (none) |
|
|
50
|
+
|
|
51
|
+
## Usage with Claude Desktop
|
|
52
|
+
|
|
53
|
+
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"mcpServers": {
|
|
58
|
+
"owl-browser": {
|
|
59
|
+
"command": "npx",
|
|
60
|
+
"args": ["-y", "@olib-ai/owl-browser-mcp"],
|
|
61
|
+
"env": {
|
|
62
|
+
"OWL_API_ENDPOINT": "http://127.0.0.1:8080",
|
|
63
|
+
"OWL_API_TOKEN": "your-api-token"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Usage with Docker
|
|
71
|
+
|
|
72
|
+
When using the Owl Browser Docker image:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"mcpServers": {
|
|
77
|
+
"owl-browser": {
|
|
78
|
+
"command": "npx",
|
|
79
|
+
"args": ["-y", "@olib-ai/owl-browser-mcp"],
|
|
80
|
+
"env": {
|
|
81
|
+
"OWL_API_ENDPOINT": "http://your-docker-host",
|
|
82
|
+
"OWL_API_TOKEN": "your-docker-token"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Local Development
|
|
90
|
+
|
|
91
|
+
If running from source instead of npm:
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"mcpServers": {
|
|
96
|
+
"owl-browser": {
|
|
97
|
+
"command": "node",
|
|
98
|
+
"args": ["/path/to/mcp-server/dist/index.js"],
|
|
99
|
+
"env": {
|
|
100
|
+
"OWL_API_ENDPOINT": "http://127.0.0.1:8080",
|
|
101
|
+
"OWL_API_TOKEN": "your-api-token"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Available Tools
|
|
109
|
+
|
|
110
|
+
The server exposes 144 tools organized by category:
|
|
111
|
+
|
|
112
|
+
### Context Management
|
|
113
|
+
- `browser_create_context` - Create isolated browser session
|
|
114
|
+
- `browser_close_context` - Close browser session
|
|
115
|
+
- `browser_list_contexts` - List active sessions
|
|
116
|
+
|
|
117
|
+
### Navigation
|
|
118
|
+
- `browser_navigate` - Navigate to URL
|
|
119
|
+
- `browser_reload` - Reload page
|
|
120
|
+
- `browser_go_back` / `browser_go_forward` - History navigation
|
|
121
|
+
|
|
122
|
+
### Interaction
|
|
123
|
+
- `browser_click` - Click elements (CSS, coordinates, or natural language)
|
|
124
|
+
- `browser_type` - Type text into inputs
|
|
125
|
+
- `browser_press_key` - Press keyboard keys
|
|
126
|
+
- `browser_drag_drop` - Mouse drag operations
|
|
127
|
+
|
|
128
|
+
### Content Extraction
|
|
129
|
+
- `browser_screenshot` - Capture screenshots
|
|
130
|
+
- `browser_extract_text` - Extract page text
|
|
131
|
+
- `browser_get_html` - Get page HTML
|
|
132
|
+
- `browser_get_markdown` - Get page as Markdown
|
|
133
|
+
|
|
134
|
+
### CAPTCHA Solving
|
|
135
|
+
- `browser_detect_captcha` - Detect CAPTCHA presence
|
|
136
|
+
- `browser_solve_captcha` - Auto-solve CAPTCHAs
|
|
137
|
+
- `browser_solve_image_captcha` - Solve image-based CAPTCHAs
|
|
138
|
+
|
|
139
|
+
### And 120+ more...
|
|
140
|
+
|
|
141
|
+
## Protocol Version
|
|
142
|
+
|
|
143
|
+
This server implements MCP protocol version 2025-11-25.
|
|
144
|
+
|
|
145
|
+
## Testing with MCP Inspector
|
|
146
|
+
|
|
147
|
+
Use the official MCP Inspector to test the server interactively.
|
|
148
|
+
|
|
149
|
+
**Run from the `mcp-server` directory:**
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
cd mcp-server
|
|
153
|
+
|
|
154
|
+
# Basic usage (default endpoint http://127.0.0.1:8080)
|
|
155
|
+
npx @modelcontextprotocol/inspector \
|
|
156
|
+
-e OWL_API_ENDPOINT=http://127.0.0.1:8080 \
|
|
157
|
+
-e OWL_API_TOKEN=your-token \
|
|
158
|
+
node dist/index.js
|
|
159
|
+
|
|
160
|
+
# With Docker container endpoint
|
|
161
|
+
npx @modelcontextprotocol/inspector \
|
|
162
|
+
-e OWL_API_ENDPOINT=http://localhost:8080 \
|
|
163
|
+
-e OWL_API_TOKEN=your-docker-token \
|
|
164
|
+
node dist/index.js
|
|
165
|
+
|
|
166
|
+
# With remote server
|
|
167
|
+
npx @modelcontextprotocol/inspector \
|
|
168
|
+
-e OWL_API_ENDPOINT=https://your-server.com \
|
|
169
|
+
-e OWL_API_TOKEN=your-api-token \
|
|
170
|
+
node dist/index.js
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The Inspector will open a web UI (default: http://localhost:6274) where you can:
|
|
174
|
+
- Browse all 144 browser tools
|
|
175
|
+
- Execute tools with custom parameters
|
|
176
|
+
- View JSON responses in real-time
|
|
177
|
+
|
|
178
|
+
## Development
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Install dependencies
|
|
182
|
+
npm install
|
|
183
|
+
|
|
184
|
+
# Build ESM version
|
|
185
|
+
npm run build
|
|
186
|
+
|
|
187
|
+
# Build CommonJS version
|
|
188
|
+
npm run build:cjs
|
|
189
|
+
|
|
190
|
+
# Run in development mode
|
|
191
|
+
npm run dev
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Output Files
|
|
195
|
+
|
|
196
|
+
- `dist/index.js` - ESM bundle (~887KB, single file with embedded schema)
|
|
197
|
+
- `dist/index.cjs` - CommonJS bundle (~887KB, single file with embedded schema)
|
|
198
|
+
|
|
199
|
+
Both bundles are self-contained and include the OpenAPI schema embedded at build time.
|