← All MCP servers
MCP server
io.github.AetherAI3/agent-browser
mcp:aetherai3/agent-browser
Self-hosted Chrome for AI agents, with a live noVNC view a human can take over.
Verdict
Not analyzed
Indexed from the registries, but not analyzed yet. Lineage and listings below are current.
Execution chain 161
What it calls, runs, installs, reads and writes, with the line that does it.
Environment variables 36
<dynamic>
AETHER_ACCEPTANCE_API_PORT
scripts/acceptance.sh:48 · read
AETHER_ACCEPTANCE_CAPTURE_DIR
scripts/acceptance.sh:53 · read
AETHER_ACCEPTANCE_EPHEMERAL_PODMAN_SOCKET
scripts/acceptance.sh:11 · read
AETHER_ACCEPTANCE_FIXTURE_PORT
scripts/acceptance.sh:50 · read
AETHER_ACCEPTANCE_IMAGE_ID
scripts/acceptance.sh:52 · read
AETHER_ACCEPTANCE_NOVNC_PORT
scripts/acceptance.sh:49 · read
AETHER_RELEASE_EVIDENCE_COMMIT
AGENT_BROWSER_ABSOLUTE_LIFETIME_SECONDS
AGENT_BROWSER_API_BASE
examples/demo.py:96 · read
AGENT_BROWSER_API_BIND
AGENT_BROWSER_API_HOST
src/agent_browser/main.py:97 · read
AGENT_BROWSER_API_PORT
AGENT_BROWSER_CONTROLLER_TOKEN
clients/node/src/cli.js:173 · read
AGENT_BROWSER_IDLE_TIMEOUT_SECONDS
AGENT_BROWSER_NOVNC_BIND
AGENT_BROWSER_NOVNC_HOST
src/agent_browser/main.py:98 · read
AGENT_BROWSER_NOVNC_PORT
AGENT_BROWSER_OBSERVER_TOKEN
examples/demo.py:111 · read
AGENT_BROWSER_TEST_ORIGINS
AGENT_BROWSER_TRUSTED_PROXY_CIDR
AGENT_BROWSER_TRUSTED_PROXY_SCHEME
AGENT_BROWSER_URL
clients/node/src/cli.js:159 · read
AGENT_BROWSER_VIEW_URL
CONTAINER_HOST
scripts/acceptance.sh:27 · read
DISPLAY
GITHUB_ACTIONS
scripts/acceptance.sh:12 · read
GITHUB_RUN_ID
scripts/acceptance.sh:42 · read
GITHUB_SHA
scripts/acceptance.sh:51 · read
LANG
LC_ALL
NO_COLOR
clients/node/src/cli.js:23 · read
PATH
RUNNER_TEMP
scripts/acceptance.sh:12 · read
XDG_CACHE_HOME
clients/node/src/cli.js:63 · read
Commands run 14
<dynamic>
clients/node/src/cli.js:35 · process
curl
clients/node/src/cli.js:73 · via:run
curl -fsSL --proto =https --tlsv1.2 -o {…} https://github.com/AetherAI3/agent-browser/archive/refs/tags/v0.2.3.tar.gz
clients/python/src/aether_browser/cli.py:106 · via:_run
docker
clients/node/src/cli.js:44 · via:run
docker compose version
clients/python/src/aether_browser/cli.py:79 · via:_run
docker info --format {{.ServerVersion}}
clients/python/src/aether_browser/cli.py:159 · via:_run
git diff --name-only {…}
scripts/verify_release.py:574 · via:_run
git merge-base --is-ancestor {…} {…}
scripts/verify_release.py:569 · via:_run
git rev-parse HEAD
scripts/verify_release.py:557 · via:_run
importlib.import_module("agent_browser.auth")
src/agent_browser/main.py:312 · dynamic_code
importlib.import_module("agent_browser.policy")
src/agent_browser/main.py:340 · dynamic_code
podman info --format {{.Host.Security.Rootless}}
scripts/verify_release.py:633 · via:_run
tar
clients/node/src/cli.js:80 · via:run
tar -xzf {…} -C {…} --strip-components=1
clients/python/src/aether_browser/cli.py:113 · via:_run
Files read 7
.github/workflows/ci.yml
scripts/verify_release.py:25 · literal
.github/workflows/runner-smoke.yml
scripts/verify_release.py:26 · literal
.github/workflows/trusted-runner.yml
scripts/verify_release.py:372 · literal
/etc/shadow
scripts/runner-smoke.sh:84 · sensitive
<dynamic>
clients/node/src/cli.js:19 · read
cookies
scripts/verify_release.py:351 · literal
file:///etc/passwd
tests/test_policy.py:100 · literal
Files written 24
.encode
scripts/acceptance.sh:132 · write
<dynamic>
clients/node/src/cli.js:71 · write
=
scripts/acceptance.sh:516 · write
$capture_dir/api-before.png
scripts/acceptance.sh:469 · write
$capture_dir/display-after.png
scripts/acceptance.sh:470 · write
$work_dir/api.png
scripts/acceptance.sh:457 · write
$work_dir/display.png
scripts/acceptance.sh:459 · write
$work_dir/fixture_server.py
scripts/acceptance.sh:112 · write
$workspace_probe
scripts/runner-smoke.sh:22 · write
10_000,
scripts/acceptance.sh:538 · write
Aether
scripts/acceptance.sh:122 · write
artifacts/acceptance.json
scripts/acceptance.sh:589 · write
click
scripts/acceptance.sh:128 · write
dict[str,
scripts/acceptance.sh:552 · write
download
scripts/acceptance.sh:131 · write
I",
scripts/acceptance.sh:494 · write
IIBB",
scripts/acceptance.sh:499 · write
list[tuple[int,
scripts/acceptance.sh:487 · write
None:
scripts/acceptance.sh:136 · write
popup
scripts/acceptance.sh:130 · write
set[str]:
scripts/acceptance.sh:293 · write
snapshot["sequence"]
scripts/acceptance.sh:426 · write
tuple[int,
scripts/acceptance.sh:343 · write
visual-proof-{NONCE}
scripts/acceptance.sh:127 · write
GitHub repositories 14
aetherai3/agent-browser
Dockerfile:5 · url
aetherai3/atsv2
curl/curl
docker-library/python
encode/httpx
encode/uvicorn
fastapi/fastapi
kaliiiiiiiiii-vinyzu/patchright-python
libvnc/x11vnc
novnc/novnc
novnc/websockify
pydantic/pydantic
resurrecting-open-source-projects/scrot
yelp/dumb-init
Network calls 12
<dynamic>
127.0.0.1
clients/python/src/aether_browser/_client.py:19 · url_literal
169.254.169.254
browser.example
tests/test_security.py:182 · url_literal
docs.docker.com
clients/python/src/aether_browser/cli.py:149 · url_literal
example.com
examples/curl.sh:31 · url
fixture
tests/test_security.py:115 · url_literal
github.com
openrouter.ai
public.example.com
tests/test_security.py:159 · url_literal
rebind.example.com
tests/test_security.py:590 · url_literal
redirect.example.com
tests/test_security.py:161 · url_literal
Packages 4
npm:aether-browser
README.md:67 · instructed
npm:aether-browser@0.2.3
server.json:14 · launch:server.json
pypi:aether-browser
README.md:68 · instructed
pypi:aether-browser@0.2.3
server.json:14 · launch:server.json
URLs 50
ftp://example.com/file
http://*.test:8765
http://127.0.0.1
http://127.0.0.1:$
http://127.0.0.1:6080/vnc.html
http://127.0.0.1:8080
http://127.0.0.1:8092
http://127.0.0.1:8092/browser/health
http://127.0.0.1:8092/browser/navigate
http://127.0.0.1:8092/browser/session/create
http://127.0.0.1:8092/browser/session/end
http://127.0.0.1:8092/browser/snapshot
http://127.0.0.1:8765
http://127.0.0.1/private
http://169.254.169.254/latest/meta-data/
http://blocked.example.com/
http://example.com
http://example.com:6080/vnc.html
http://fixture:8765
http://fixture:8766/ready
http://localhost:8765
http://localhost:8765?query=yes
HTTP://LOCALHOST:8765/
http://localhost:8765/fixture?q=1
http://localhost:8765/path
http://localhost:8766/fixture
http://localhost.example.com:8765/fixture
http://user@localhost:8765
https://*.example.com
https:///missing-host
https://1.1.1.1/
https://8.8.8.8/
https://8.8.8.8/dns
https://aetherai3.github.io/agent-browser/
https://aetherai3.github.io/agent-browser/assets/social-preview.png
https://blocked-rebind.example.com/one
https://blocked-rebind.example.com/two
https://browser.example
https://chromium.googlesource.com/chromium/src/+/main/LICENSE
https://creativecommons.org/licenses/by/4.0/
https://dejavu-fonts.github.io/License.html
https://docs.docker.com/engine/install/
https://example.com
HTTPS://EXAMPLE.COM./path?q=1
https://example.com/
https://example.com/#fragment
https://example.com/%0d%0aX-Evil:yes
https://example.com/%zz
https://example.com/docs
https://example.com/id
Linked repositories 13
GitHub repositories it links to or installs from, and whether their names can be taken over.
aetherai3/atsv2
url · not tracked
curl/curl
url · not tracked
docker-library/python
url · not tracked
encode/httpx
url · not tracked
encode/uvicorn
url · moved
fastapi/fastapi
url · no ownership changes
kaliiiiiiiiii-vinyzu/patchright-python
url · not tracked
libvnc/x11vnc
url · not tracked
novnc/novnc
url · not tracked
novnc/websockify
url · not tracked
pydantic/pydantic
url · no ownership changes
resurrecting-open-source-projects/scrot
url · not tracked
yelp/dumb-init
url · not tracked