Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Beschreibung vom Entwickler (englisches Original)
Goal-driven Playwright browser sessions for LLMs, with full action traces and aria-snapshots.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
COWORK_QA_HEADED, COWORK_QA_DATADu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"cowork-qa": {
"command": "npx",
"args": [
"-y",
"cowork-qa-mcp"
],
"env": {
"COWORK_QA_HEADED": "your-value",
"COWORK_QA_DATA": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add cowork-qa --env COWORK_QA_HEADED=your-value --env COWORK_QA_DATA=your-value -- npx -y cowork-qa-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"cowork-qa": {
"command": "npx",
"args": [
"-y",
"cowork-qa-mcp"
],
"env": {
"COWORK_QA_HEADED": "your-value",
"COWORK_QA_DATA": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"cowork-qa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cowork-qa-mcp"
],
"env": {
"COWORK_QA_HEADED": "your-value",
"COWORK_QA_DATA": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
COWORK_QA_HEADED envCOWORK_QA_DATA envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto inSideos-designs bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 6 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Browser Use, Chrome DevTools MCP, MCP Server Browser
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
A Model Context Protocol server that gives an LLM a real Chromium browser, records every action it takes toward a stated goal, and hands back a structured trace so the LLM (or a second LLM) can decide whether the goal was actually achieved.
Built on Playwright. Five tools, one binary, no cloud dependency.
Most browser-tool MCP servers are stateless — the LLM clicks, gets HTML back, repeats. There's no record of what happened, no way to grade the run after the fact, and no goal context.
cowork-qa-mcp flips that:
goto, click, fill, press, eval) is recorded with timestamps, the URL after, and the page's aria-snapshot.qa_get_trace call.The orchestrating LLM can then reason over the trace ("did this run actually fulfill the goal, or did it click the wrong button?") instead of trusting the run-time chatter.
| Tool | What it does |
|---|---|
session_start | Open a fresh tab, optional starting URL, return a session id |
session_act | Run one of: goto, click, fill, press, eval. Records the step. |
session_observe | Return current URL + full aria-snapshot of the page |
session_end | Close the tab, persist the trace to disk, return the file path |
qa_get_trace | Return the goal, every step, final URL, and final aria-snapshot — formatted for an LLM to read |
Requires Node 20+. The package is on npm — no clone needed.
# Try it once, no install
npx cowork-qa-mcp
npm install -g cowork-qa-mcp
The first install pulls Chromium via Playwright's postinstall (~150 MB).
claude mcp add cowork-qa --scope user -- npx -y cowork-qa-mcp
To watch the browser instead of running headless:
claude mcp add cowork-qa --scope user \
-e COWORK_QA_HEADED=1 \ -- npx -y cowork-qa-mcp
Verify with /mcp inside a fresh claude session — you should see cowork-qa ✓ connected and 5 tools.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "cowork-qa": { "command": "npx", "args": ["-y", "cowork-qa-mcp"] } } }
Any client that speaks the MCP stdio transport works. Point its server config at npx -y cowork-qa-mcp.
git clone https://github.com/inSideos-designs/cowork-qa-mcp.git
cd cowork-qa-mcp npm install npm run build node dist/server.js # stdio server, expects an MCP client
This server is also published on the official MCP Server Registry as io.github.inSideos-designs/cowork-qa — clients that auto-discover from the registry will find it without any manual config.
| Variable | Default | Purpose |
|---|---|---|
COWORK_QA_HEADED | unset (headless) | Set to 1 to launch Chromium with a visible window |
COWORK_QA_DATA | /.cowork-qa | Directory where .json traces are written |
A typical end-to-end loop the orchestrating LLM runs:
session_start({ goal: "find the cheapest 14\" MacBook Pro on apple.com",
url: "https://www.apple.com/shop/buy-mac/macbook-pro" }) → { session_id: "abc-123" }
session_observe({ session_id: "abc-123" }) → URL + aria-snapshot
session_act({ session_id: "abc-123", action: "click", target: "button:has-text('Continue')" })
session_end({ session_id: "abc-123" }) → { steps: 7, trace_path: "~/.cowork-qa/abc-123.json" }
qa_get_trace({ session_id: "abc-123" }) → Goal: ... Steps (7 total): ... Final URL: ... Final aria-snapshot: ...
Each trace is a JSON file:
{
"session_id": "abc-123", "goal": "...", "steps": [ { "t": 142, "action": "click", "args": { "target": "...", "value": null }, "url_after": "...", "aria_after": "..." } ], "final": { "url": "...", "aria": "..." }, "path": "/.../abc-123.json" }
session_observe calls don't show up in the trace's step count — only session_act calls do. The final aria-snapshot is captured at session_end.eval runs the JS expression but doesn't return the value to the caller — only side effects on the page are observable.button:has-text("Send")), and role= selectors all work.MIT — see LICENSE.
PRs welcome. Keep it small: this is meant to stay a thin, auditable server.