davidberenstein1957 commited on
Commit
8be1aba
·
verified ·
1 Parent(s): ceb347e

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +112 -6
README.md CHANGED
@@ -1,10 +1,116 @@
1
  ---
2
- title: Server Puppeteer
3
- emoji: 🚀
4
- colorFrom: indigo
5
- colorTo: indigo
6
  sdk: docker
7
- pinned: false
 
 
 
 
 
8
  ---
 
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: '@modelcontextprotocol/server-puppeteer'
 
 
 
3
  sdk: docker
4
+ license: mit
5
+ tags:
6
+ - mcp
7
+ - mcp-server
8
+ description: MCP server for browser automation using Puppeteer
9
+ short_description: MCP server for browser automation using Puppeteer
10
  ---
11
+ # Puppeteer
12
 
13
+ A Model Context Protocol server that provides browser automation capabilities using Puppeteer. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.
14
+
15
+ ## Components
16
+
17
+ ### Tools
18
+
19
+ - **puppeteer_navigate**
20
+ - Navigate to any URL in the browser
21
+ - Input: `url` (string)
22
+
23
+ - **puppeteer_screenshot**
24
+ - Capture screenshots of the entire page or specific elements
25
+ - Inputs:
26
+ - `name` (string, required): Name for the screenshot
27
+ - `selector` (string, optional): CSS selector for element to screenshot
28
+ - `width` (number, optional, default: 800): Screenshot width
29
+ - `height` (number, optional, default: 600): Screenshot height
30
+
31
+ - **puppeteer_click**
32
+ - Click elements on the page
33
+ - Input: `selector` (string): CSS selector for element to click
34
+
35
+ - **puppeteer_hover**
36
+ - Hover elements on the page
37
+ - Input: `selector` (string): CSS selector for element to hover
38
+
39
+ - **puppeteer_fill**
40
+ - Fill out input fields
41
+ - Inputs:
42
+ - `selector` (string): CSS selector for input field
43
+ - `value` (string): Value to fill
44
+
45
+ - **puppeteer_select**
46
+ - Select an element with SELECT tag
47
+ - Inputs:
48
+ - `selector` (string): CSS selector for element to select
49
+ - `value` (string): Value to select
50
+
51
+ - **puppeteer_evaluate**
52
+ - Execute JavaScript in the browser console
53
+ - Input: `script` (string): JavaScript code to execute
54
+
55
+ ### Resources
56
+
57
+ The server provides access to two types of resources:
58
+
59
+ 1. **Console Logs** (`console://logs`)
60
+ - Browser console output in text format
61
+ - Includes all console messages from the browser
62
+
63
+ 2. **Screenshots** (`screenshot://<name>`)
64
+ - PNG images of captured screenshots
65
+ - Accessible via the screenshot name specified during capture
66
+
67
+ ## Key Features
68
+
69
+ - Browser automation
70
+ - Console log monitoring
71
+ - Screenshot capabilities
72
+ - JavaScript execution
73
+ - Basic web interaction (navigation, clicking, form filling)
74
+
75
+ ## Configuration to use Puppeteer Server
76
+ Here's the Claude Desktop configuration to use the Puppeter server:
77
+
78
+ ### Docker
79
+
80
+ **NOTE** The docker implementation will use headless chromium, where as the NPX version will open a browser window.
81
+
82
+ ```json
83
+ {
84
+ "mcpServers": {
85
+ "puppeteer": {
86
+ "command": "docker",
87
+ "args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "mcp/puppeteer"]
88
+ }
89
+ }
90
+ }
91
+ ```
92
+
93
+ ### NPX
94
+
95
+ ```json
96
+ {
97
+ "mcpServers": {
98
+ "puppeteer": {
99
+ "command": "npx",
100
+ "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
101
+ }
102
+ }
103
+ }
104
+ ```
105
+
106
+ ## Build
107
+
108
+ Docker build:
109
+
110
+ ```bash
111
+ docker build -t mcp/puppeteer -f src/puppeteer/Dockerfile .
112
+ ```
113
+
114
+ ## License
115
+
116
+ This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.