agentgo-mcp
This MCP server lets an AI agent drive AgentGo’s Chromium browser through compact page reads, real user actions, waits, tabs, screenshots, human approvals, linked accounts, and direct protocol calls.
Open a URL or Google search and return a compact outline with element refs.
Read the current page as outline, text, links, forms, tables, metadata, or changes, with filtering/paging.
Act on elements by ref: click, fill, press keys, check/uncheck, select, hover, scroll, type, upload, double-click, or right-click.
Batch multiple actions in order and stop at the first failure.
Wait for page load, text, CSS selector visibility, selector disappearance, or URL changes.
Manage tabs: list, open, switch, close, go back/forward, and reload.
Take page or element screenshots, including full-page captures.
Pause for human approval or handoff for payments, final submissions, CAPTCHAs, or logins.
Read the built-in guide and command reference, including GoMini guidance.
Use linked accounts: list accounts/APIs, call account APIs without holding tokens, or sign in with saved credentials.
Call other AgentGo protocol methods directly, such as cookies, downloads, PDF, dialogs, network logs, and workflows.
Optionally delegate routine steps to GoMini when enabled, per the README.
agentgo-mcp
The MCP server for AgentGo, the browser your AI agent drives. MIT licensed.
AgentGo is a real Chromium browser for Windows 11, built for agents. This repository is the part your agent talks to: the MCP server, the local control protocol it speaks to the browser, the command registry and the policy types. The browser itself lives in the main repository.
Compact pages.
browser_openandbrowser_readreturn a short outline: headings plus interactive elements as[ref] role "name".Only what changed.
browser_actandbrowser_batchuse real mouse and keyboard input, wait for the page to settle, and reply with the diff, not the whole page again.The human stays in charge. Payments and final submissions come back as
approval.required; the agent callsbrowser_wait_humanand you approve in the browser.Accounts without tokens.
browser_accountcalls the APIs of accounts you linked, without the agent ever holding a token.Built for single-page apps. Repeated buttons say which row they belong to, a reference that a re-render moved to another item heals or fails loudly instead of clicking the wrong row,
browser_act {action: "scroll", until}scrolls a long or virtual list in one call,browser_waittakes named conditions (enabled,gone,text), and any action can say what must happen (expect).GoMini. When the on-device model is on,
browser_delegatehands it routine steps.
On 24 BrowserGym MiniWoB++ tasks with the same model, AgentGo solved 22, browser-use 19 and Playwright MCP 18 (method and results). With 0.1.6, on 37 tasks including 14 single-page apps and all four browsers running at the same time: AgentGo with GoMini v6 solved 37, AgentGo 37, browser-use 35 and Playwright MCP 31, with AgentGo using 95-114k input tokens per task against 227-306k (0.1.6 results).
Tools
browser_open, browser_read, browser_act, browser_batch, browser_wait, browser_tabs, browser_screenshot, browser_wait_human, browser_guide, browser_account, browser_call, plus browser_delegate when GoMini is on.
Related MCP server: Ghostlight
Use it
Install AgentGo from the latest release. Its installer connects Claude Code, Codex or Droid for you, using agentgo mcp.
Claude Code plugin: the server and the agent guide in one step.
/plugin install agentgo --marketplace Moha2005269/agentgo-mcpClaude Desktop: open agentgo-mcp-0.1.6.mcpb to install it as an extension.
MCP Registry: listed as io.github.Moha2005269/agentgo.
To run this server from source instead:
cargo build --release -p agentgo-mcp --bin agentgo-mcpThen point your MCP client at target/release/agentgo-mcp. It attaches to the newest running AgentGo, or starts agentgo from PATH (set AGENTGO_EXE to use another path).
{ "mcpServers": { "agentgo": { "command": "C:\\path\\to\\agentgo-mcp.exe" } } }Offline mode
agentgo-mcp-offline builds on any OS and answers initialize and tools/list with the real tool list, with no browser behind it. Tool calls explain where to get AgentGo. It exists so MCP directories can check the server; the Dockerfile builds it.
Data
AgentGo is a browser, so the pages your agent opens and the forms it submits go to those websites, as they would from any browser. Nothing goes to us: no telemetry, no accounts, and your profile (history, cookies, saved sign-ins) stays on your computer. Payments and final submissions wait for your approval. See PRIVACY.md and the browser's network calls.
Layout
Crate | What it is |
| The stdio MCP server and the protocol client |
| Message envelopes, framing, versions, typed errors |
| The registry of browser commands |
| Modes, risk levels, scopes, prompt-injection checks |
| The agent guide served by |
Tests: cargo test --workspace.
This repository mirrors the same crates in the main AgentGo repository, where they are developed.
License
MIT, see LICENSE. The AgentGo browser itself is under the Business Source License 1.1.
Available Tools
11 toolsbrowser_accountA
Use the accounts the person linked for you in the Account Center. op=accounts lists them (linked or not); op=apis lists the APIs you can call; op=call sends one API request as the account (connector, method, path, body) without you ever holding a token; op=sign_in has the browser type the saved sign-in into the current page's login form. If an account is not linked you get policy.denied: ask the person to link it, do not work around it.
Inputs: op (required), body, path, tabId, +3 more.
browser_actA
Act on an element by ref with real input, wait for the page to settle, and get back only what changed. action: click, fill (text), press (key), check, uncheck, select (value, or values for a multiple list), hover, scroll (to: top|bottom, or ref; until: a text to scroll to, in the page or ref's list), type (text at focus), upload (paths). Add submit:true to fill to press Enter; expect {gone, shows, enabled, url, changes} must hold after, or it fails. If the reply is approval.required or handoff.required, call browser_wait_human.
Inputs: action (required), to, key, ref, +8 more.
browser_batchA
Run several browser_act steps in order in one call (e.g. fill a whole form and click Save; {action:"wait", ms} pauses). Stops at the first failure. Returns the final change set.
Inputs: steps (required).
browser_callB
Call any other AgentGo protocol method directly (cookies, downloads, PDF, dialogs, network log, workflow.collect ...). browser_call {method:"browser.capabilities"} lists them.
Inputs: method (required), params.
browser_guideA
How to use this browser, when you are unsure. topic=start: the loop, rules that save turns, errors (short). topic=skill: the full guide. topic=commands: find commands: pass query (words, e.g. "selector click") for the matching ones, or group for one section (open, read, act, batch, accounts, person, browser; all = every command, about 25,000 tokens). topic=gomini: GoMini, the optional local model that takes routine steps, and how to phrase subgoals for it.
Inputs: group, query, topic.
browser_openA
Go to a URL (or search Google with plain words), wait for the load, and return the page as a compact outline: headings plus interactive elements as [ref] role "name". Use the refs with browser_act.
Inputs: url (required), view.
browser_readA
Read the current page. view: page (outline with refs, default), text (readable content, text boxes and code included), links, forms, tables, meta. filter keeps matching lines; offset and max count lines.
Inputs: max, view, filter, offset.
browser_screenshotA
Screenshot the page (or one element by ref) and return the image. Costs many tokens: prefer browser_read unless you need to see layout, images or a canvas.
Inputs: ref, fullPage.
browser_tabsC
Manage your tabs. op: list, new (url), switch (tabId), close (tabId), back, forward, reload.
Inputs: op (required), url, tabId.
browser_waitA
Wait until text appears, a selector is visible, a selector or text is gone, the URL contains a string, or ref enabled is usable; returns what changed. ms: just pause. No condition: waits for load.
Inputs: ms, gone, text, enabled, +3 more.
browser_wait_humanB
Wait for the human operator: pass approvalId after approval.required, or nothing after handoff.required (CAPTCHA, login). Never try to solve a CAPTCHA yourself.
Inputs: timeout, approvalId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools have clearly distinct purposes: reading, acting, waiting, navigation, screenshots, tabs, accounts, and human handoff are separable. Minor overlap exists between browser_act and browser_batch (batch runs multiple acts), between browser_open and browser_tabs op=new (both can open a URL), and browser_call acts as a wildcard that could duplicate any dedicated tool.
All tool names use a consistent browser_ prefix and snake_case, making the set easy to scan. The only minor inconsistency is that some names are verb-led (browser_read, browser_act) while others are noun-led (browser_tabs, browser_account), but the pattern remains predictable.
Eleven tools is well within the typical 3-15 range and each tool covers a meaningful part of browser automation. The set avoids redundancy while still offering specialized tools like batch, wait_human, and account handling.
The surface covers the full browser lifecycle: open/navigate, read, act, batch actions, wait, screenshot, tab management, accounts, and human handoff. browser_call provides a documented escape hatch for any protocol method not exposed as a dedicated tool, so there are no obvious dead ends.
Maintenance
Related MCP Connectors
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Web search API and MCP server for developers building AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAgent-native browser control MCP server that enables AI agents to browse and interact with web pages via accessibility tree snapshots and ref ID-based commands.152MIT
- AlicenseAqualityBmaintenanceMCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.251Apache 2.0
- FlicenseNot gradedqualityCmaintenanceMCP server that wraps agent-browser to let LLMs control a real browser, providing tools for navigation, interaction, reading page content, accessibility snapshots, screenshots, and session management.1-
- FlicenseAqualityBmaintenanceAn MCP server that enables remote observation and control of a Chromium browser via a WebSocket relay, supporting DOM, CDP, and native OS automation for local or LAN-based AI agents.8-