aether-mcp-server 2.0.1 → 2.0.2
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 +23 -60
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
# Aether — AI Browser Controller
|
|
2
2
|
|
|
3
|
-
Aether is an MCP
|
|
3
|
+
Give your AI agent a real browser. Aether is an MCP server that lets Claude, Cursor, Kilo Code, Codex, and other AI coding agents inspect and control a live browser through the Chrome DevTools Protocol — no extension needed.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx aether-mcp-server
|
|
8
|
+
npx -y aether-mcp-server
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Or globally:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
npm install -g aether-mcp-server
|
|
15
|
-
aether-mcp-server
|
|
16
15
|
```
|
|
17
16
|
|
|
18
17
|
## MCP Client Config
|
|
19
18
|
|
|
20
|
-
Add this to your MCP client (Cursor, Claude Code, Codex, KiloCode, etc.):
|
|
21
|
-
|
|
22
19
|
```json
|
|
23
20
|
{
|
|
24
21
|
"mcpServers": {
|
|
25
|
-
"aether
|
|
22
|
+
"aether": {
|
|
26
23
|
"command": "npx",
|
|
27
24
|
"args": ["-y", "aether-mcp-server"]
|
|
28
25
|
}
|
|
@@ -35,7 +32,7 @@ If installed globally:
|
|
|
35
32
|
```json
|
|
36
33
|
{
|
|
37
34
|
"mcpServers": {
|
|
38
|
-
"aether
|
|
35
|
+
"aether": {
|
|
39
36
|
"command": "aether-mcp-server",
|
|
40
37
|
"args": []
|
|
41
38
|
}
|
|
@@ -43,72 +40,52 @@ If installed globally:
|
|
|
43
40
|
}
|
|
44
41
|
```
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
No cloning. No building. No absolute paths.
|
|
47
44
|
|
|
48
45
|
## What It Does
|
|
49
46
|
|
|
50
47
|
- Launches or connects to Chrome, Edge, Brave, or Firefox with remote debugging
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
48
|
+
- Click by text, role, label, or placeholder — not fragile CSS selectors
|
|
49
|
+
- Native CDP keyboard and mouse events, not DOM simulation
|
|
50
|
+
- Smart page snapshots that auto-invalidate on DOM changes
|
|
51
|
+
- Set-of-Marks visual element references for screenshot-based workflows
|
|
52
|
+
- Shadow DOM and same-origin iframe support built in
|
|
56
53
|
|
|
57
54
|
## Browser Setup
|
|
58
55
|
|
|
59
|
-
Launch a clean browser automatically:
|
|
60
|
-
|
|
61
56
|
```
|
|
62
57
|
launch_browser()
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Pick a specific browser:
|
|
66
|
-
|
|
67
|
-
```
|
|
68
58
|
launch_browser(browser="chrome")
|
|
69
59
|
launch_browser(browser="edge")
|
|
70
60
|
launch_browser(browser="brave")
|
|
71
61
|
```
|
|
72
62
|
|
|
73
|
-
Connect to an existing browser
|
|
63
|
+
Connect to an existing browser:
|
|
74
64
|
|
|
75
65
|
```bash
|
|
76
66
|
chrome --remote-debugging-port=9222
|
|
77
67
|
```
|
|
78
68
|
|
|
79
|
-
Then:
|
|
80
|
-
|
|
81
69
|
```
|
|
82
70
|
connect_browser(mode="connect", port=9222)
|
|
83
71
|
```
|
|
84
72
|
|
|
85
73
|
## Key Tools
|
|
86
74
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
| Tool | What it does |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `browser_status` | Connection and active tab status |
|
|
78
|
+
| `snapshot_compact` | Fast title, URL, and interactive element list |
|
|
79
|
+
| `list_interactive_elements` | Element refs for click/fill flows |
|
|
80
|
+
| `click_text`, `click_role`, `fill_label` | Semantic actions |
|
|
81
|
+
| `click_by_ref`, `fill_by_selector` | Direct element targeting |
|
|
82
|
+
| `get_state` | Screenshot, tabs, DOM snapshot |
|
|
83
|
+
| `get_logs`, `get_network_errors` | Live debugging output |
|
|
84
|
+
| `act` | Broad compatibility action tool |
|
|
95
85
|
|
|
96
86
|
## Project-Local Learning
|
|
97
87
|
|
|
98
|
-
Aether stores learned lessons and skills
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
<project>/.aether/
|
|
102
|
-
memory/
|
|
103
|
-
lessons.jsonl
|
|
104
|
-
learned.json
|
|
105
|
-
skills/
|
|
106
|
-
<skill-name>/SKILL.md
|
|
107
|
-
_registry.json
|
|
108
|
-
memory-config.json
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Call `configure_aether_memory` with your project root to enable it. Aether creates `.aether/` and adds it to `.gitignore`.
|
|
88
|
+
Aether stores learned lessons and reusable skills inside your project under `.aether/` — lightweight automation notes that make future runs faster. Call `configure_aether_memory` with your project root to enable it.
|
|
112
89
|
|
|
113
90
|
## Environment Variables
|
|
114
91
|
|
|
@@ -120,21 +97,7 @@ Call `configure_aether_memory` with your project root to enable it. Aether creat
|
|
|
120
97
|
## Requirements
|
|
121
98
|
|
|
122
99
|
- Node.js >= 18
|
|
123
|
-
- Chrome, Edge, Brave, or Firefox
|
|
124
|
-
|
|
125
|
-
## Architecture
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
AI Agent / MCP Client
|
|
129
|
-
|
|
|
130
|
-
| stdio JSON-RPC
|
|
131
|
-
v
|
|
132
|
-
Aether MCP Server
|
|
133
|
-
|
|
|
134
|
-
| Chrome DevTools Protocol
|
|
135
|
-
v
|
|
136
|
-
Browser Target
|
|
137
|
-
```
|
|
100
|
+
- Chrome, Edge, Brave, or Firefox
|
|
138
101
|
|
|
139
102
|
## License
|
|
140
103
|
|