Skip to main content
Glama
README.md
<p align="center">
  <a href="https://github.com/Moha2005269/agentgo"><img src="https://raw.githubusercontent.com/Moha2005269/agentgo/main/assets/hero.svg" alt="AgentGo, the browser that fits you and your agent" width="100%"></a>
</p>

<p align="center">
  <b>This is AgentGo's MCP server. The browser lives in the main repo.</b><br>
  <a href="https://github.com/Moha2005269/agentgo">⭐ Star AgentGo</a> &nbsp;·&nbsp;
  <a href="https://github.com/Moha2005269/agentgo/releases/latest">⬇ Download for Windows 11</a> &nbsp;·&nbsp;
  <a href="https://github.com/Moha2005269/agentgo/blob/main/docs/benchmarks/agentgo-0.1.6.md">Benchmark</a>
</p>

# agentgo-mcp

The MCP server for [AgentGo](https://github.com/Moha2005269/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_open` and `browser_read` return a short outline: headings plus interactive elements as `[ref] role "name"`.
- **Only what changed.** `browser_act` and `browser_batch` use 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 calls `browser_wait_human` and you approve in the browser.
- **Accounts without tokens.** `browser_account` calls 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_wait` takes named conditions (`enabled`, `gone`, `text`), and any action can say what must happen (`expect`).
- **GoMini.** When the on-device model is on, `browser_delegate` hands 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](https://github.com/Moha2005269/agentgo/blob/main/docs/benchmarks/agentgo-0.1.5.md)). 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](https://github.com/Moha2005269/agentgo/blob/main/docs/benchmarks/agentgo-0.1.6.md)).

## 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.

## Use it

Install AgentGo from the [latest release](https://github.com/Moha2005269/agentgo/releases/latest). 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-mcp
```

**Claude Desktop:** open [`agentgo-mcp-0.1.6.mcpb`](https://github.com/Moha2005269/agentgo-mcp/releases/latest) to install it as an extension.

**MCP Registry:** listed as `io.github.Moha2005269/agentgo`.

To run this server from source instead:

```bash
cargo build --release -p agentgo-mcp --bin agentgo-mcp
```

Then 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).

```json
{ "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](PRIVACY.md) and the browser's [network calls](https://github.com/Moha2005269/agentgo/blob/main/docs/NETWORK_CALLS.md).

## Layout

| Crate | What it is |
|---|---|
| `crates/agentgo-mcp` | The stdio MCP server and the protocol client |
| `crates/agentgo-protocol` | Message envelopes, framing, versions, typed errors |
| `crates/agentgo-shell-bridge` | The registry of browser commands |
| `crates/agentgo-policy` | Modes, risk levels, scopes, prompt-injection checks |
| `skills/agentgo` | The agent guide served by `browser_guide` |

Tests: `cargo test --workspace`.

This repository mirrors the same crates in the main AgentGo repository, where they are developed.

## License

MIT, see [`LICENSE`](LICENSE). The AgentGo browser itself is under the Business Source License 1.1.

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityNo data
ResponsivenessSyncing