{
  "markdown": "# Kuri Browser Agent\n\nA lightweight, token-efficient browser automation extension powered by the [Kuri](https://kuri.trilok.ai/) engine and the Model Context Protocol (MCP). It ships for both **Gemini CLI** (as an extension) and **Claude Code** (as a plugin), sharing the same MCP server.\n\n## Features\n\n- **`@kuri_agent`**: A strategic subagent for web navigation, scraping, and form-filling.\n- **MCP Bridge**: A robust Node.js server that manages the Kuri process lifecycle and provides standardized tools.\n- **Token Efficient**: Uses Kuri's `@eN` accessibility reference system and compact snapshots to minimize context usage.\n- **Stealth by Design**: Built-in bot detection bypass and stealth patches.\n- **Device Presets**: Easily switch between `iphone_15`, `desktop_chrome`, and more using the configuration tool.\n- **Zero-Leaking Processes**: Automatically cleans up all Chromium child processes on exit.\n\n## Prerequisites\n\n1. **Kuri Binary 0.4.1+**: You must have the `kuri` binary installed on your system.\n   ```bash\n   curl -fsSL https://raw.githubusercontent.com/justrach/kuri/main/install.sh | sh\n   ```\n2. **Node.js 22.2.0+**: Required to run the MCP bridge.\n\n## Installation\n\n1. Clone or download this repository.\n2. Build the MCP server:\n   ```bash\n   cd claude-code/mcp-server && npm ci && npm run build\n   ```\n3. Link the extension to Gemini CLI:\n   ```bash\n   gemini extensions link .\n   ```\n\n## Usage\n\nInvoke the Kuri agent directly in your chat:\n\n```text\n@kuri_agent summarize the top 3 stories on https://news.ycombinator.com\n```\n\nThe agent will use the `mcp_kuri_` tools to navigate, snapshot, and extract content without manual shell command prompts.\n\n## Claude Code\n\nThe browser agent ships as a Claude Code plugin under [`claude-code/`](claude-code/), bundling the MCP server, two subagents (`kuri-agent`, `ui-reviewer`), the `kuri` skill, and a `/kuri-setup` command.\n\n### Install from GitHub\n\n1. Add the marketplace and install the plugin:\n   ```\n   /plugin marketplace add theerud/kuri-browser-agent\n   /plugin install kuri-browser-agent@kuri-browser-agent\n   ```\n2. Initialize it. The plugin's MCP server is TypeScript that must be built once, and the kuri engine must be present:\n   ```\n   /kuri-setup\n   ```\n   This checks for the `kuri` binary (offering to install it) and builds the bundled MCP server. It asks before running anything.\n3. Reload the plugin so Claude Code launches the MCP server: run `/reload-plugins` (or restart the session). `/mcp` won't list `kuri` until then — the server failed to launch at startup, before the build existed.\n\nAfter that, the `kuri` skill and the `kuri-agent` / `ui-reviewer` subagents activate automatically for browser tasks.\n\n### Local development\n\nPoint Claude Code at the plugin directory in a built clone:\n```bash\ncd claude-code/mcp-server && npm ci && npm run build   # build once\nclaude --plugin-dir ./claude-code\n```\n\n### Usage\n\n```text\nUse the kuri browser to summarize the top 3 stories on https://news.ycombinator.com\n```\n```text\nHave the ui-reviewer check http://localhost:3000 across desktop and mobile and report layout issues\n```\n\nClaude exposes the tools under the `mcp__kuri__*` namespace (e.g. `mcp__kuri__navigate`, `mcp__kuri__snapshot`).\n\n> **Note**: Both subagents use the `sonnet` model. Adjust `model` in `claude-code/agents/*.md` (e.g. `haiku` for lighter/cheaper runs, `opus` for the hardest tasks).\n\n## Available MCP Tools\n\n- `mcp_kuri_navigate`: Go to a URL.\n- `mcp_kuri_snapshot`: Get the compact accessibility tree.\n- `mcp_kuri_click` / `mcp_kuri_type`: Interact with elements using `@eN` references.\n- `mcp_kuri_scroll` / `mcp_kuri_hover` / `mcp_kuri_press`: High-fidelity interaction tools.\n- `mcp_kuri_read`: Extract full page text or Markdown.\n- `mcp_kuri_screenshot`: Take viewport screenshots with optional coordinate cropping and PNG saving inside the workspace.\n- `mcp_kuri_evaluate`: Execute custom JavaScript in the browser.\n- `mcp_kuri_configure`: Set device presets, proxies, or user agents.\n- `mcp_kuri_wait`: Server-side delay for timing-sensitive tasks.\n- `mcp_kuri_restart`: Restart the browser for a fresh session.\n- `mcp_kuri_new_tab` / `mcp_kuri_select_tab` / `mcp_kuri_list_tabs` / `mcp_kuri_close_tab`: Manage multiple browser tabs.\n\nBrowser actions accept an optional `tab_id`. Parallel agents should create separate tabs and pass their tab IDs explicitly so they do not change each other's active page.\n\n## Architecture\n\n- **`agents/kuri_agent.md`**, **`skills/kuri/SKILL.md`**: Gemini CLI subagent persona and browsing guide.\n- **`gemini-extension.json`**: Gemini CLI extension configuration and tool registration.\n- **`claude-code/`**: The Claude Code plugin.\n  - **`mcp-server/`**: The Node.js MCP bridge (bundled in the plugin; shared with the Gemini extension).\n  - **`agents/`**: `kuri_agent` (general web automation) and `ui-reviewer` (visual QA).\n  - **`skills/kuri/`**: Browsing guide, preloaded by `ui-reviewer`.\n  - **`commands/kuri-setup.md`**: First-time initialization (build server, check for kuri).\n- **`.claude-plugin/marketplace.json`**: Marketplace manifest for installing the Claude Code plugin from GitHub.\n\n## License\n\nMIT\n",
  "bytes": 5172,
  "sha": "4f26658ee1bdc7221c7453b7ac06c6d71f1dd3af848eb55564c36afab2ce084b",
  "repo_slug": "theerud/kuri-browser-agent",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_theerud_kuri_browser_agent_86723f42/readme"
}